aboutsummaryrefslogtreecommitdiff
path: root/doc/Development.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Development.asciidoc')
-rw-r--r--doc/Development.asciidoc42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/Development.asciidoc b/doc/Development.asciidoc
new file mode 100644
index 0000000..41c832d
--- /dev/null
+++ b/doc/Development.asciidoc
@@ -0,0 +1,42 @@
+== Guidelines
+
+=== 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 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_
+
+== 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.
+
+- No self-updating "-or-later" licensing.
+
+=== SPDX-License-Identifier
+A full list of license identifiers can be found on [the SPDX website](https://spdx.org/licenses/).
+
+== Style
+There is a clang-format style in .clang-format.
+
+== Format patch for email
+
+~~~ sh
+hg export -r startcommit[:endcommit] -o patchname.txt
+~~~
+
+to export the from _startcommit_ until tip or optionally _endcommit_.
+
+Email the patch file to _aqua at iserlohn dash fortress dot net_.