50 lines
2 KiB
Markdown
50 lines
2 KiB
Markdown
# Contributing
|
|
|
|
Contributions are welcomed, but must follow a simple set of rules in order to
|
|
be merged.
|
|
|
|
**Please follow these conventions if you want your pull request(s) accepted.**
|
|
|
|
## General
|
|
|
|
* Use 4 (four) spaces for indentation.
|
|
* No trailing whitespaces.
|
|
* 80 chars column limit.
|
|
* No trash files. Trash files are by-products of the compilation process, or
|
|
generated files that does not need to be under version control.
|
|
* Pull requests must compile and work properly.
|
|
* Pull requests must pass all tests.
|
|
* Pull requests must be mergeable automatically.
|
|
* Number of commits in a pull request should be kept to one commit and all
|
|
additional commits must be squashed.
|
|
* You may have more than one commit in a pull request if the commits are
|
|
separate changes, otherwise squash them.
|
|
|
|
## Translations
|
|
|
|
* You can contribute new translation files for output messages, on the
|
|
condition that you are fluent with the language itself.
|
|
* Each correction on existing translations must be followed by a
|
|
rationale ("why would the translation be better if the change is applied?")
|
|
|
|
## Roadmap
|
|
|
|
.
|
|
|- .cmake/: CMake modules
|
|
|- dependencies/: dependencies for building libcriterion
|
|
|- doc/: Sphinx documentation files
|
|
|- dev/: Developer files
|
|
|- include/criterion/: Public API
|
|
|- src/: Sources for libcriterion
|
|
| |- compat/: Cross-platform abstractions for platform-dependent code
|
|
| |- core/: Core mechanisms used to run the tests
|
|
| |- entry/: Entry-point related sources, and default main function
|
|
| |- io/: IO related functions, redirections
|
|
| |- log/: Output providers, all the output logic in general
|
|
| `- string/: String manipulation functions, i18n
|
|
|- po/: Translation files, i18n stuff
|
|
|- test/: Unit tests for libcriterion
|
|
`- samples/: Sample files
|
|
|- outputs/: Expected output files for the current samples
|
|
`- tests/: Internal regression tests
|
|
`- outputs/: Expected output files for the regression tests
|