Skip to content

Commit ae881c2

Browse files
committed
docs: update CONTRIBUTING.md for IntelliJ and JDK 17 setup (Fixes #405)
1 parent f79c935 commit ae881c2

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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

Comments
 (0)