Thank you for your interest in contributing to RayDP!
RayDP is a mixed-language project (Scala + Python). To set up your development environment correctly, please ensure your system meets the following requirements.
- Java: JDK 8 or JDK 17. The project compiles with Java 8 source/target compatibility, but the CI environment runs on JDK 17. Using JDK 17 locally is recommended to match CI.
- Python: Python 3.10+ (Recommended).
- Maven: 3.6+
Regardless of your IDE (IntelliJ, VS Code, Eclipse), your project structure must be configured as follows:
- Maven Root: The build system is rooted in the
coredirectory. You should importcore/pom.xmlas your Maven project. - Java SDK: Set the project SDK to Java 8 or Java 17 (17 recommended to match CI).
- Python Sources: The
python/directory in the root must be marked as a source root so your IDE can resolve theraydppackage.
The easiest way to build is with the project's build.sh script, which builds both the core (Scala/Java) and the Python wheel in one step:
./build.shThis script runs mvn clean package -DskipTests inside core/, then builds the Python wheel from python/ and copies it to dist/.
If you prefer to run each step manually:
The core logic resides in Scala. You must build this first to generate the necessary JARs.
cd core
mvn clean package -DskipTests