From 4b02be974ede695f11f1c253a6143952d4d0ac20 Mon Sep 17 00:00:00 2001 From: Joel Anderson Date: Mon, 10 Jun 2024 07:40:49 -0400 Subject: [PATCH] update contributions and add tools readme --- docs/CONTRIBUTING.md | 18 ++++++++++-------- tools/README.md | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 tools/README.md diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 519056aae..ee62c3012 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -110,14 +110,16 @@ To create your own feature or update, you should fork the repository and create a new branch based on the `latest` branch. Don't forget to update the ChangeLog with your changes, and when you're ready open a pull request against `latest`. -It is unusual, but you may find that it is more appropriate to base your branch -on the `release` branch instead of `latest`. Some examples of these types of -changes are: - * updates to project documentation that is relevant to the current version of - the project as well as the next - * patches that need to be applied to the current version of the library in - order to fix broken functionality (note that this will require updating the - library to the next patch level, for example from 1.3.2 to 1.3.3) +It is unusual, but you may find that it is best to base your work on the +`release` branch instead of `latest`. This is a lot more work than using +`latest` though, since the changes still need to be merged into `latest` which +may have diverged enough to cause conflicts. It will also probably require +cutting a new patch-level release with the changes. So don't do this unless +it's truly necessary, as in these cases: + * patches need to be applied to the last release in order to fix broken + functionality + * critical updates to documentation that could cause serious misuse or breakage + if not corrected Be sure to check out the [dependencies](dependencies.md) list to make sure that your development environment has all of the necessary tools. More specifically, diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 000000000..8f706398c --- /dev/null +++ b/tools/README.md @@ -0,0 +1,37 @@ +# Development Tools +Stumpless uses both custom and external tools to make development easier, +implement features, and maintain the code base. This directory has files that +are specific to these tools such as configuration files and scripts. + + +## [`check_headers`](./check_headers) +A custom tool written to make sure that appropriate headers are included in +sources according to project conventions. + + +## [`cmake`](./cmake) +CMake scripts used in the configuration and build of Stumpless. + + +## [`doxygen`](./doxygen) +Configuration files for generating project documentation with Doxygen. + + +## [`pkg-config`](./pkg-config) +Configuration for `pkg-config` support. + + +## [`portage`](./portage) +Packaging files for Gentoo's Portage system. + + +## [`sonar`](./sonar) +Configuration for Sonarcloud code scanning and analysis. + + +## [`valgrind`](./valgrind) +Configuration files for valgrind, including false positive annotations. + + +## [`wrapture`](./wrapture) +Templates for generating C++ language bindings with Wrapture.