diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-01-12 17:05:25 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-01-12 17:05:25 +0200 |
commit | d8cc3eeeb55b92b0d7fe9a325937df11c28fbcaa (patch) | |
tree | b21f65bb973745eef52aacb24e5295c4451f2ef0 /doc/Development.asciidoc | |
parent | Refactor WebViewContextMenu (diff) | |
download | smolbote-d8cc3eeeb55b92b0d7fe9a325937df11c28fbcaa.tar.xz |
Update doc/ and move various entries to wiki
Diffstat (limited to 'doc/Development.asciidoc')
-rw-r--r-- | doc/Development.asciidoc | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/doc/Development.asciidoc b/doc/Development.asciidoc deleted file mode 100644 index 1ef2ded..0000000 --- a/doc/Development.asciidoc +++ /dev/null @@ -1,73 +0,0 @@ -== 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 - -=== Setting linker -Meson has no environment variable to set the linker (link:https://github.com/mesonbuild/meson/issues/3597[issue]). - -Instead, this can be done using the cpp_link_args: -[source, sh] ----- -build% meson configure -Dcpp_link_args='-fuse-ld=gold' ----- - -=== 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_. |