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