### What changes were proposed in this pull request? `CONTRIBUTING.md` introduces how to use Error Prone in IntelliJ IDEA. ### Why are the changes needed? Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time. Starting from version 0.4.0, the Celeborn project supports augment the compiler’s type analysis using Error Prone. It's better to provide a detailed guide on how to eliminate classes of serious bugs from entering code in the Celeborn project using Error Prone plugin in IntelliJ IDEA. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? No. Closes #2047 from SteNicholas/CELEBORN-1091. Authored-by: SteNicholas <programgeek@163.com> Signed-off-by: mingji <fengmingxiao.fmx@alibaba-inc.com>
48 lines
2.2 KiB
Markdown
48 lines
2.2 KiB
Markdown
# Contributing to Celeborn
|
||
Any contributions from the open-source community to improve this project are welcome!
|
||
|
||
## Code Style
|
||
This project uses check-style plugins. Run some checks before you create a new pull request.
|
||
|
||
```shell
|
||
dev/reformat
|
||
```
|
||
|
||
If you have changed configuration, run following command to refresh docs.
|
||
```shell
|
||
UPDATE=1 build/mvn clean test -pl common -am -Dtest=none -DwildcardSuites=org.apache.celeborn.ConfigurationSuite
|
||
```
|
||
|
||
## How to Contribute
|
||
For collaboration, feel free to contact us on [Slack](https://join.slack.com/t/apachecelebor-kw08030/shared_invite/zt-1ju3hd5j8-4Z5keMdzpcVMspe4UJzF4Q).
|
||
To report a bug, you can just open a ticket on [Jira](https://issues.apache.org/jira/projects/CELEBORN/issues)
|
||
and attach the exceptions and your analysis if any. For other improvements, you can contact us or
|
||
open a Jira ticket first and describe what improvement you would like to do.
|
||
After reaching a consensus, you can open a pull request and your pull request
|
||
will get merged after reviewed.
|
||
|
||
## Improvements on the Schedule
|
||
There are already some further improvements on the schedule and welcome to contact us for collaboration:
|
||
1. Flink support.
|
||
2. Multi-tenant.
|
||
3. Support Tez.
|
||
4. Rolling upgrade.
|
||
5. Multi-layered storage.
|
||
6. Enhanced flow control.
|
||
7. HA improvement.
|
||
8. Enhanced K8S support.
|
||
9. Support spilled data.
|
||
10. Locality awareness.
|
||
|
||
## Guidelines
|
||
### Adding RPC Messages
|
||
When you add new RPC message, it's recommended to follow raw PB message case, for example
|
||
`RegisterWorker` and `RegisterWorkerResponse`. The RPC messages will be unified into raw PB messages eventually.
|
||
|
||
### Using Error Prone
|
||
Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time.
|
||
|
||
To add the Error Prone plugin in IntelliJ IDEA, start the IDE and find the Plugins dialog. Browse Repositories, choose Category: Build, and find the Error-prone plugin. Right-click and choose 'Download and install'. The IDE will restart after you’ve exited these dialogs.
|
||
|
||
Allows to build projects using Error Prone Java compiler to catch common Java mistakes at compile-time. To use the compiler, go to 'File | Settings/Preferences | Build, Execution, Deployment | Compiler | Java Compiler' and select 'Javac with error-prone' in 'Use compiler' box.
|