Files
CLI11/.github/CONTRIBUTING.md
2018-04-09 16:34:58 +02:00

1.6 KiB

Thanks for considering to write a Pull Request (PR) for CLI11! Here are a few guidelines to get you started:

Make sure you are comfortable with the license; all contributions are licensed under the original license.

Adding functionality

Make sure any new functions you add are are:

  • Documented by /// documentation for Doxygen
  • Mentioned in the instructions in the README, though brief mentions are okay
  • Explained in your PR (or previously explained in an Issue mentioned in the PR)
  • Completely covered by tests

In general, make sure the addition is well thought out and does not increase the complexity of CLI11 needlessly.

Things you should know:

  • Once you make the PR, tests will run to make sure your code works on all supported platforms
  • The test coverage is also measured, and that should remain 100%
  • Formatting should be done with clang-format, otherwise the format check will not pass. However, it is trivial to apply this to your PR, so don't worry about this check. If you do have clang-format, just run scripts/check_style.sh
  • Everything must pass clang-tidy as well, run with -DCLANG_TIDY_FIX-ON (make sure you use a single threaded build process!)

Note that the style check is really just:

git ls-files -- '.cpp' '.hpp' | xargs clang-format -i -style=file

And, if you want to always use it, feel free to install the git hook provided in scripts.

For developers releasing to Conan.io

The steps to make a Conan.io release are:

conan delete '*' # optional, I like to be clean

conan create . CLIUtils/stable
conan upload "*" -r cli11 --all

Here I've assumed that the remote is cli11.