You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+23-10Lines changed: 23 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,8 @@ so do familiarize yourself with the following guidelines.
33
33
* PR should be linked with the issue,
34
34
excluding minor documentation changes, adding unit tests, and fixing typos.
35
35
* If you make any code changes:
36
-
* Follow the [Kotlin Coding Conventions](https://kotlinlang.org/docs/reference/coding-conventions.html).
36
+
* Follow the [Kotlin Coding Conventions](https://kotlinlang.org/docs/reference/coding-conventions.html).
37
+
[Ktlint](https://pinterest.github.io/ktlint/latest/) can help here.
37
38
*[Build the project](#building) to ensure it all works and passes the tests.
38
39
* If you fix a bug:
39
40
* Write the test that reproduces the bug.
@@ -54,15 +55,18 @@ so do familiarize yourself with the following guidelines.
54
55
0. The contributor builds the library locally and runs all unit tests via the Gradle task `dataframe:test`
55
56
(see the ["Building"](#building) chapter).
56
57
1. The contributor submits the PR if the local build is successful and the tests are green.
57
-
2. The reviewer put his name in the "Reviewers" section of the proposed PR at the start of the review process.
58
-
3. The reviewer leaves the comments or marks the PR with the abbreviation "LGTM" (Looks good to me).
58
+
2. The reviewer puts their name in the "Reviewers" section of the proposed PR at the start of the review process.
59
+
3. The reviewer leaves comments or marks the PR with the abbreviation "LGTM" (Looks good to me).
59
60
4. The contributor answers the comments or fixes the proposed PR.
60
61
5. The reviewer marks the PR with the word "LGTM."
61
-
6. The maintainer could suggest merging the master branch to the PR branch a few times due to changes in the `master` branch.
62
-
7. The maintainer runs TC builds (unit tests and examples as integration tests).
63
-
8. TC writes the result (passed or not passed) to the PR checks at the bottom of the proposed PR.
64
-
9. If it is possible, maintainers share the details of the failed build with the contributor.
65
-
10. Maintainer merges the PR if all checks are successful and there is no conflict with the master branch.
62
+
6. The maintainer could suggest merging the `master` branch to the PR branch a few times due to changes in the `master` branch.
63
+
7. If the PR influences generated code/samples, a bot will inform about this in the PR comments.
64
+
8. The maintainer runs TeamCity builds (unit tests and examples as integration tests).
65
+
9. TeamCity writes the result (passed or not passed) to the PR checks at the bottom of the proposed PR.
66
+
10. If it is possible, maintainers share the details of the failed build with the contributor.
67
+
11. The maintainer merges the PR if all checks are successful and there is no conflict with the `master` branch.
68
+
12. The maintainer closes the PR and the issue linked to it.
69
+
13. If the PR influences generated code, a bot will auto-commit the newly generated code into the `master` branch.
66
70
67
71
## How to fix an existing issue
68
72
@@ -81,13 +85,22 @@ so do familiarize yourself with the following guidelines.
81
85
82
86
## Environment requirements
83
87
84
-
JDK >= 11 referred to by the `JAVA_HOME` environment variable.
88
+
* JDK >= 11 referred to by the `JAVA_HOME` environment variable.
89
+
90
+
* Note, any version above 11 should work in theory, but JDK 11 is the only version we test with,
91
+
so it is the recommended version.
92
+
93
+
* We recommend using [IntelliJ IDEA](https://www.jetbrains.com/idea/download/) as the IDE. This
94
+
has the best support for Kotlin, compiler plugins, Gradle, and [Kotlin Notebook](https://kotlinlang.org/docs/kotlin-notebook-overview.html) of course.
95
+
96
+
* We recommend using the [Ktlint plugin](https://plugins.jetbrains.com/plugin/15057-ktlint) for [IntelliJ IDEA](https://www.jetbrains.com/idea/download/).
97
+
It is able to read the `.editorconfig` file and apply the same formatting rules as [Ktlint](https://pinterest.github.io/ktlint/latest/) in the CI.
85
98
86
99
## Building
87
100
88
101
This library is built with Gradle.
89
102
90
-
* Run `./gradlew build` to build. It also runs all the tests.
103
+
* Run `./gradlew build` to build. It also runs all the tests and checks the linter.
91
104
* Run `./gradlew <module>:test` to test the module you are looking at to speed
0 commit comments