Getting Started
Remember that the complete setup instructions are found in the Contribution Guide. The following steps are in case you have difficulties following the Contribution Guide.
Setup Tips for Prerequisites
The following steps can help to set up the environment listed in the Contribution guide
- A GitHub account.
- A Linux, macOS, or Microsoft Windows development environment
- Java JDK 8 installed
- [Docker](https://www.docker.com/) installed for some tasks including building worker containers and testing this website
changes locally.
- For SDK Development:
- [Go](https://golang.org) 1.20 or later installed for Go SDK development
- Python 3.7, and 3.8, and 3.11. Yes, you need all three versions installed.
- pip, setuptools, virtualenv, and tox installed for Python development
- For large contributions, a signed [Individual Contributor License
Agreement](https://www.apache.org/licenses/icla.pdf) (ICLA) to the Apache
Software Foundation (ASF).
For MacOS
- Install Java 8, Go 1.20,
pyenv
and Docker using homebrew.- Check the following tutorial How to install Java 8 on Mac.
Use
pyenv
to install the python versions, 3.7, 3.8, 3.11.- Use pip (installed when installing
pyenv
) to installsetuptools
,virtualenv
, and tox. - Clone the apache beam project from https://github.com/apache/beam
using main branch.
- cd into the /beam root project
Execute the following commands:
./gradlew projects
./gradlew tasks
- To make sure Java environment is correctly installed, execute:
./gradlew -p sdks/java/io/cassandra check
./gradlew -p runners/flink check
For Windows
(in construction)
Content
See child pages in the sidebar:
Beam Jira Beginner's Guide
Beam Testing Tools FAQ
CI Security Model
Commiters FAQ
Contribution Testing Guide
Contributor FAQ
Eclipse Tips
Git Tips
Go Tips
Gradle Tips
Java Tips
Jenkins Tips
Jira Dashboards
Multi-language Pipelines Tips
Playground Tips
Python Tips
- Add/Remove Python version in Apache Beam
- Dependency management guidelines for Beam Python SDK maintainers
- Investigating Memory Leaks
Release
Setup Tips
Transform Service
Using IntelliJ IDE
- (FAQ) Recovering from common IDE errors
- Additional Plugin Integrations
- Build and test a single module
- Finding Help with IntelliJ
- Perform a full build
- Recover from IntelliJ project corruption
- Run a single IT for a particular runner
- Run a single unit test
- Running a single validates runner test
- Set up IntelliJ from scratch