1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
== Guidelines
smolbote is written under the C++17 standard, without any compiler-specific
extensions. Source code should be kept as platform-agnostic as possible.
=== General
* All behaviour, where possible, should be configurable.
* Configuration is stored in plaintext files, and option names should be as
self-descriptive as possible.
* Use sane defaults. Normally, the program should "just work".
=== Qt
* Check pointers with Q_CHECK_PTR.
* Use the Qt5 signal/slot syntax (&Class::method) over the old string-based
syntax (SIGNAL/SLOT). This enables compile-time connect checks.
* Prefer QVector over QList: http://lists.qt-project.org/pipermail/development/2017-March/029040.html
=== clazy
You can use https://github.com/KDE/clazy[clazy] to check Qt semantics.
clazy is a drop-in replacement for clang. To set check levels, set the
CLAZY_CHECKS environment variable to 'level0,level1', etc.
== Licensing
Smolbote is licensed under GPLv3 _only_, and explicitly does not use any
self-updating "-or-later" licensing. Your code needs to be compatible with it,
and have a license header in the style used by the project.
Interfaces (located in include/) should be licensed under MIT. This is to allow
more license compatibility for plugins.
=== SPDX-License-Identifier
A full list of license identifiers can be found on https://spdx.org/licenses/[the SPDX website].
== Style
There is a clang-format style in .clang-format.
== Format patch for email
[source, sh]
----
git format-patch $from..$to
----
This will give you one patch per commit. If you want to merge all of them into
a single patch, you can merge the commits using rebase:
[source, sh]
----
git rebase --interactive
----
Alternatively, replay all your commits from the commit before $from on a new
branch:
[source, sh]
----
git branch delivery X
git checkout delivery
git merge --squash master
git format-patch HEAD
----
Email patches to _aqua at iserlohn dash fortress dot net_.
|