Warning, /plasma/plasma-activities/README.developers is written in an unsupported language. File is not indexed.

0001 
0002 
0003 .\" " " " " " " " " " " " " " " " " " " " " " " " " " " "
0004 .\"                                                     "
0005 .\" It is best to view this file with the man tool:     "
0006 .\" man ./README.developers                             "
0007 .\"                                                     "
0008 .\" " " " " " " " " " " " " " " " " " " " " " " " " " " "
0009 
0010 
0011 .TH README KAMD  2012-08-29 "KDE" "KActivities Developers"
0012 
0013 .SH COMMIT POLICY
0014 
0015 Every non-trivial patch must go through the review before it goes into the
0016 master branch.
0017 
0018     http://git.reviewboard.kde.org
0019         repository: kactivities
0020         groups:     plasma
0021         people:     Ivan Cukic
0022 
0023 If you don't have an account for identity.kde.org, you can send smaller
0024 patches to the plasma-devel@kde.org mailing list, or (please don't) directly
0025 to the repository maintainer (see MAINTAINER file).
0026 
0027 
0028 .SH CODE POLICY
0029 
0030 The code needs to follow KDElibs coding style in *all* parts of the project,
0031 not only the library. You can find more information about the style here:
0032 http://techbase.kde.org/Policies/Kdelibs_Coding_Style
0033 
0034 Macros in CMakeLists.txt should be lowercase throughout the project,
0035 and indentation should be 4, with the closing parenthesis in the same level
0036 as the content.
0037 
0038 .SH COMPILER COMPATIBILITY
0039 
0040 The library (src/lib) needs to be compilable with these:
0041     - GCC 4.5
0042     - MSVC 2010
0043     - Clang 3.1
0044       (or newer)
0045 This is the same policy the KDE Frameworks have.
0046 
0047 Other parts require modern compilers. You can (and should) use more modern
0048 C++ coding practices. Including auto, lambdas, smart pointers etc. You can
0049 use anything that GCC 4.7 can compile.
0050 
0051 These are the compilers you need to test your patches against:
0052     - GCC 4.7
0053     - LLVM/Clang 3.1
0054 
0055 When you set up different builds alongside the main one, you can use
0056 scripts/commit.sh to build them all before committing. The script
0057 calls git commit if all builds finished successfully. See the script
0058 for more info.
0059 
0060 
0061 .SH FILE NAMING
0062 
0063 The library files are lower-case, apart from the "pretty" headers.
0064 The service, and the rest of the repository should be in camel-case
0065 (with the exception of source files that don't have corresponding
0066 headers, or vice-versa).
0067 
0068 
0069 .SH CONVENIENCE MACROS AND METHODS
0070 
0071 There are some convenience macros and methods defined in the headers placed
0072 in the service/utils/ directory.
0073 
0074 .TP
0075 .B D_PTR
0076 d_ptr.h and d_ptr_implementation.h define a smart pointer way of doing
0077 the d-ptr (aka pimpl) idiom.
0078 
0079 .TP
0080 .B remove_if
0081 remove_if.h is a generic implementation of the erase-remove idiom
0082 
0083 .TP
0084 .B for_each_assoc, find_if_assoc
0085 for_each_assoc.h and find_if_assoc.h define the for_each and find_if
0086 algorithms for associative containers. Works with both Qt and STL containers.
0087