Skip to content

Commit 3595a33

Browse files
Abacndamccorm
andauthored
Update CONTRIBUTING.md to point to code-change-guide (#34384)
* Update CONTRIBUTING.md to point to code-change-guide * Move java 8 to 11 * Fix a few markdown formatting issues * Update CONTRIBUTING.md Co-authored-by: Danny McCormick <[email protected]> --------- Co-authored-by: Danny McCormick <[email protected]>
1 parent 047f896 commit 3595a33

File tree

2 files changed

+27
-49
lines changed

2 files changed

+27
-49
lines changed

CONTRIBUTING.md

+19-44
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,14 @@ These steps and instructions on getting started are outlined below as well.
4040

4141
- A [GitHub](https://github.com/) account.
4242
- A Linux, macOS, or Microsoft Windows development environment.
43-
- Java JDK 8 installed.
44-
- [Go](https://golang.org) 1.16.0 or later installed.
43+
- Java JDK 11 (preferred, or 8, 17, 21) installed.
44+
- Latest [Go](https://golang.org) 1.x installed.
4545
- [Docker](https://www.docker.com/) installed for some tasks including building worker containers and testing changes to this website locally.
4646
- For SDK Development:
47-
- Python 3.x interpreters. You will need Python interpreters for all Python versions supported by Beam.
48-
Interpreters should be installed and available in shell via `python3.x` commands. For more information, see:
47+
- For manual testing install any version of supported Python version (found [here](gradle.properties)) suffices.
48+
- For running test suites, however, you will need Python interpreters for all Python versions supported by Beam.
49+
Interpreters should be installed and available in shell via `python3.x` commands.
50+
For more information, see:
4951
Python installation tips in [Developer Wiki](https://cwiki.apache.org/confluence/display/BEAM/Python+Tips#PythonTips-InstallingPythoninterpreters).
5052
- For large contributions, a signed [Individual Contributor License.
5153
Agreement](https://www.apache.org/licenses/icla.pdf) (ICLA) to the Apache
@@ -86,7 +88,7 @@ To install these in a Debian-based distribution:
8688
1. Execute:
8789
```
8890
sudo apt-get install \
89-
openjdk-8-jdk \
91+
openjdk-11-jdk \
9092
python-setuptools \
9193
python-pip \
9294
virtualenv \
@@ -115,7 +117,7 @@ You can install these in a Debian-based distribution for Linux or macOs using th
115117
* pip3 packages
116118
* go packages
117119
* goavro
118-
* JDK 8
120+
* JDK 11
119121
* Python
120122
* Docker
121123
@@ -188,44 +190,17 @@ Execute:
188190
./gradlew :examples:java:wordCount
189191
```
190192
191-
5. Familiarize yourself with gradle and the project structure.
192-
193-
At the root of the git repository, run:
194-
```
195-
$ ./gradlew projects
196-
```
197-
Examine the available tasks in a project. For the default set of tasks, use:
198-
```
199-
$ ./gradlew tasks
200-
```
201-
For a given module, use:
202-
```
203-
$ ./gradlew -p sdks/java/io/cassandra tasks
204-
```
205-
For an exhaustive list of tasks, use:
206-
```
207-
$ ./gradlew tasks --all
208-
```
209-
210-
6. Make sure you can build and run tests.
211-
212-
Since Beam is a large project, usually, you will want to limit testing to the particular module you are working on. Gradle will build just the necessary things to run those tests. For example:
213-
```
214-
$ ./gradlew -p sdks/go check
215-
$ ./gradlew -p sdks/java/io/cassandra check
216-
$ ./gradlew -p runners/flink check
217-
```
218-
219-
7. Now you may want to set up your preferred IDE and other aspects of your development
220-
environment. See the Developers' wiki for tips, guides, and FAQs on:
221-
- [IntelliJ](https://cwiki.apache.org/confluence/display/BEAM/Using+IntelliJ+IDE)
222-
- [Java](https://cwiki.apache.org/confluence/display/BEAM/Java+Tips)
223-
- [Python](https://cwiki.apache.org/confluence/display/BEAM/Python+Tips)
224-
- [Go](https://cwiki.apache.org/confluence/display/BEAM/Go+Tips)
225-
- [Website](https://cwiki.apache.org/confluence/display/BEAM/Website+Tips)
226-
- [Gradle](https://cwiki.apache.org/confluence/display/BEAM/Gradle+Tips)
227-
- [Jenkins](https://cwiki.apache.org/confluence/display/BEAM/Jenkins+Tips)
228-
- [FAQ](https://cwiki.apache.org/confluence/display/BEAM/Contributor+FAQ)
193+
5. Follow [Code change guide](contributor-docs/code-change-guide.md) to make code changes, setting up unit tests and test locally.
194+
195+
You may want to set up your preferred IDE and other aspects of your development environment. See the Developers' wiki for tips, guides, and FAQs on:
196+
- [IntelliJ](https://cwiki.apache.org/confluence/display/BEAM/Using+IntelliJ+IDE)
197+
- [Java](https://cwiki.apache.org/confluence/display/BEAM/Java+Tips)
198+
- [Python](https://cwiki.apache.org/confluence/display/BEAM/Python+Tips)
199+
- [Go](https://cwiki.apache.org/confluence/display/BEAM/Go+Tips)
200+
- [Website](https://cwiki.apache.org/confluence/display/BEAM/Website+Tips)
201+
- [Gradle](https://cwiki.apache.org/confluence/display/BEAM/Gradle+Tips)
202+
- [Jenkins](https://cwiki.apache.org/confluence/display/BEAM/Jenkins+Tips)
203+
- [FAQ](https://cwiki.apache.org/confluence/display/BEAM/Contributor+FAQ)
229204
230205
### Create a Pull Request
231206

contributor-docs/code-change-guide.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -467,16 +467,19 @@ These instructions explain how to configure your console (shell) for Python deve
467467

468468
2. Use the following commands to set up and activate the virtual environment:
469469

470-
1. `pyenv virtualenv 3.X ENV_NAME`
471-
2. `pyenv activate ENV_NAME`
470+
1. `pyenv virtualenv 3.X ENV_NAME`
471+
2. `pyenv activate ENV_NAME`
472472

473473
3. Install the `apache_beam` package in editable mode:
474-
`pip install -e .[gcp, test]`
474+
```
475+
cd sdks/python
476+
pip install -e .[gcp, test]
477+
```
475478
476479
4. For development that uses an SDK container image, do the following:
477480
478-
1. Install Docker Desktop.
479-
2. Install Go.
481+
1. Install Docker Desktop.
482+
2. Install Go.
480483
481484
5. If you're going to submit PRs, use the following command to precommit the hook for Python code changes (nobody likes lint failures!!):
482485

0 commit comments

Comments
 (0)