Skip to content

Commit d1b82c9

Browse files
authored
Add a contribution guideline (#286)
Basic guideline, to be refined in the future.
1 parent 3975c8d commit d1b82c9

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

CONTRIBUTING.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Contributing Guidelines
2+
3+
One can contribute to the project by reporting issues or submitting changes via pull request.
4+
5+
## Reporting issues
6+
7+
Please use [GitHub issues](https://github.com/Kotlin/kotlinx-benchmark/issues) for filing feature requests and bug reports.
8+
9+
Questions about usage and general inquiries are better suited for StackOverflow or the #benchmarks channel in KotlinLang Slack.
10+
11+
## Submitting changes
12+
13+
Submit pull requests [here](https://github.com/Kotlin/kotlinx-benchmark/pulls).
14+
However, please keep in mind that maintainers will have to support the resulting code of the project,
15+
so do familiarize yourself with the following guidelines.
16+
17+
* All development (both new features and bug fixes) is performed in the `master` branch.
18+
* Base your PRs against the `master` branch.
19+
* If you make any code changes:
20+
* Follow the [Kotlin Coding Conventions](https://kotlinlang.org/docs/reference/coding-conventions.html).
21+
* Use 4 spaces for indentation.
22+
* Use imports with '*'.
23+
* [Build the project](#building) to make sure it all works and passes the tests.
24+
* If you fix a bug:
25+
* Write the test that reproduces the bug.
26+
* Depending on a particular bug, it may require either a unit or an integration test. For the latter, please check [integration module](integration/src/test) for examples.
27+
* Fixes without tests are accepted only in exceptional circumstances if it can be shown that writing the
28+
corresponding test is too hard or otherwise impractical.
29+
* Follow the style of writing tests that is used in this project:
30+
name test functions as `testXxx`. Don't use backticks in test names.
31+
* Comment on the existing issue if you want to work on it. Ensure that the issue not only describes a problem, but also describes a solution that has received positive feedback. Propose a solution if none has been suggested.
32+
33+
## Building
34+
35+
This project is built with Gradle.
36+
37+
* Run `./gradlew build` to build. It also runs all the tests.
38+
39+
You can import this project into IDEA, but you have to delegate build actions
40+
to Gradle (in Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle -> Build and run).
41+
42+
### Updating the public API dump
43+
44+
* Use the [Binary Compatibility Validator](https://github.com/Kotlin/binary-compatibility-validator/blob/master/README.md) for updates to public API:
45+
* Run `./gradlew apiDump` to update API index files.
46+
* Commit the updated API indexes together with other changes.

0 commit comments

Comments
 (0)