|
| 1 | +# Contributing to RayDP |
| 2 | + |
| 3 | +Thank you for your interest in contributing to RayDP! |
| 4 | + |
| 5 | +## Development Environment Setup |
| 6 | + |
| 7 | +RayDP is a mixed-language project (Scala + Python). To set up your development environment correctly in IntelliJ IDEA, please follow these steps. |
| 8 | + |
| 9 | +### Prerequisites |
| 10 | +* **Java:** JDK 17 (Recommended to match CI). |
| 11 | +* **Python:** Python 3.8+ (Recommended: Use Conda or virtualenv). |
| 12 | +* **Maven:** 3.6+ |
| 13 | + |
| 14 | +### IntelliJ IDEA Configuration |
| 15 | + |
| 16 | +1. **Import the Project** |
| 17 | + * Open the root `raydp` folder in IntelliJ. |
| 18 | + * If prompted, choose **"Trust Project"**. |
| 19 | + * If the Maven project is not auto-detected, right-click `core/pom.xml` in the Project view and select **"Add as Maven Project"**. |
| 20 | + |
| 21 | +2. **Project Structure** (`Cmd + ;` on macOS) |
| 22 | + * Go to **Project Settings > Project**. |
| 23 | + * Set **SDK** to **17** (Java 17). |
| 24 | + * Set **Language Level** to **17**. |
| 25 | + |
| 26 | +3. **Module Configuration** |
| 27 | + To ensure code completion works for both Scala and Python: |
| 28 | + * Go to **Project Settings > Modules**. |
| 29 | + * **Scala:** Select the `raydp-core` module. Ensure `src/main/scala` is marked as **Sources** (Blue) and `src/test/scala` as **Tests** (Green). |
| 30 | + * **Python:** Click `+` > **New Module** (or "Import Module"). |
| 31 | + * Select the `python/` directory in your project root. |
| 32 | + * Set the **Module SDK** to your local Python environment (e.g., Conda `raydp-dev`). |
| 33 | + * Mark `python/raydp` as **Sources** if not automatically detected. |
| 34 | + |
| 35 | +### Verification |
| 36 | +To verify your setup, run the build from the terminal (or the Maven side panel): |
| 37 | + |
| 38 | +```bash |
| 39 | +mvn clean package -DskipTests |
0 commit comments