diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-11 14:56:04 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-11 14:56:04 +0100 |
commit | 1d507d8ac3b7a58ce7b2d30991190556dc9b1f9b (patch) | |
tree | c8697a69734d29bbb896149acd207e7001814b01 /docs/manual/Contributing.md | |
parent | Editing bookmark items (diff) | |
download | smolbote-1d507d8ac3b7a58ce7b2d30991190556dc9b1f9b.tar.xz |
Removed docs (moved to site)
Diffstat (limited to 'docs/manual/Contributing.md')
-rw-r--r-- | docs/manual/Contributing.md | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/docs/manual/Contributing.md b/docs/manual/Contributing.md deleted file mode 100644 index c6d1bcd..0000000 --- a/docs/manual/Contributing.md +++ /dev/null @@ -1,92 +0,0 @@ -# Code style - -## Guidelines -* Use generic formats - -## Versioning -- major version: Changed infrequently and almost entirely out of foppery and whim. -- minor version: Milestone of multiple features. -- revision: Major bugfixes and each new feature should get a revision. - -## Qt -* Check pointers with ´´´Q_CHECK_PTR´´´ before using or returning them. -* Avoid using connect SIGNAL and SLOT. Instead use &Class::method. This way, connects are checked during the compile, not at runtime. -* Where possible, use QVector over QList: http://lists.qt-project.org/pipermail/development/2017-March/029040.html - -## clazy -You can use [clazy](https://github.com/KDE/clazy) to check Qt semantics. -Requires clang. - -To set check levels, set the CLAZY_CHECKS environment variable to 'level0,level1', etc. - -### Setting up in qbs -1. Create a profile for clazy -``` -qbs-setup-toolchains --type clang /usr/bin/clazy clazy -qbs-config profiles.clazy.cpp.cCompilerName clang -qbs-config profiles.clazy.cpp.cxxCompilerName clazy -``` -2. Create a profile for qt5-clazy -``` -qbs-setup-qt /usr/bin/qmake-qt5 qt5-clazy -qbs-config profiles.qt5-clazy.baseProfile clazy -``` - -### Setting up in QtCreator -The simplest way to set it up is to use _clazy_ instead of _clang_. - -1. Go to Tools » Options » Build & Run » Compilers -2. Clone the clang compiler of your choice -3. Set _Compiler path_ to _/usr/bin/clazy_ - -This will update the qbs profile that QtCreator uses. - -### Reducing clazy noise -If you want to suppress warnings from headers of Qt or 3rd party code, include -them with -isystem instead of -I. To do this, you have to -[modify your Qt profile](clazy-sysincludes) like this: - -Find the profile's search path: -```sh -$ qbs config --list profiles.qt562.preferences -profiles.qt562.preferences.qbsSearchPaths: "/home/someone/.config/QtProject/qbs/1.9.0/profiles/qt562" -``` - -Replace cpp.includePaths with cpp.systemIncludePaths in the Qt modules of that profile: - -```sh -$ find /home/someone/.config/QtProject/qbs/1.9.0/profiles/qt562/modules/Qt/ -name '*.qbs' | xargs -n1 sed -i s/cpp\.includePaths/cpp.systemIncludePaths/ -``` - -[clazy-sysincludes]: http://lists.qt-project.org/pipermail/qbs/2017-April/001709.html - -# Before you submit - -## Licensing -Smolbote is licensed under GPLv3 _only_. Your code needs to be compatible with -it, and have a license header in the style used by the project. - -### SPDX-License-Identifier -A full list of license identifiers can be found on [the SPDX website](https://spdx.org/licenses/). - -## Style -Please use the [One True Brace style](https://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS_.28OTBS.29). -Tabs are 4 spaces. - -For ease of use, you can set the following astyle configuration: -``` ---style=otbs ---attach-namespaces ---attach-inlines ---indent=spaces=4 -``` - -## Format patch for email -```sh -git format-patch hash -``` -where _hash_ is the commit immediately prior to the commit or series of commits -you want to submit. - -Attach the patch file and email it to _aqua at iserlohn-fortress.net_. If -possible, GPG sign the email. |