This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 0e6a5e4 Update contribution doc (#16030)
0e6a5e4 is described below
commit 0e6a5e438c71aa87fdc4d9b48a348dfcdf7f0207
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Sun Mar 13 17:38:14 2022 +0800
Update contribution doc (#16030)
* Update code conduct
* Sync doc to CODE_OF_CONDUCT.md
* Update contribute index doc
* Update establish-project doc
* Update establish-project doc
* Update contributor doc
---
CODE_OF_CONDUCT.md | 15 +--
docs/community/content/contribute/_index.cn.md | 2 +
docs/community/content/contribute/_index.en.md | 8 +-
.../content/contribute/code-conduct.cn.md | 3 +-
.../content/contribute/code-conduct.en.md | 3 +-
.../community/content/contribute/contributor.cn.md | 7 ++
.../community/content/contribute/contributor.en.md | 7 ++
.../content/contribute/establish-project.cn.md | 131 ++++++++++++---------
.../content/contribute/establish-project.en.md | 129 +++++++++++---------
.../static/image/download_source/Idea.png | Bin 415873 -> 0 bytes
.../community/static/image/download_source/JDK.png | Bin 305943 -> 0 bytes
11 files changed, 183 insertions(+), 122 deletions(-)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index c7a5e27..7d95d22 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -2,7 +2,7 @@
The following code of conduct is based on full compliance with [ASF CODE OF
CONDUCT](https://www.apache.org/foundation/policies/conduct.html).
-## Development Concept
+## Development Guidelines
- Write codes with heart. Pursue clean, simplified and extremely elegant
codes. Agree with concepts in <Refactoring: Improving the Design of Existing
Code> and <Clean Code: A Handbook of Agile Software Craftsmanship>.
- Be familiar with codes already had, to keep consistent with the style and
use.
@@ -11,31 +11,31 @@ The following code of conduct is based on full compliance
with [ASF CODE OF COND
## Contributor Covenant Submitting of Conduct
- - Make sure all the test cases are passed, Make sure `./mvnw clean install`
can be compiled and tested successfully.
+ - Make sure Maven build process success. Run `mvn -T 1C clean install` or
`./mvnw -T 1C clean install` command in shell to start Maven build process. On
which directory to run Maven build process, there are 2 alternatives, we could
select one of them: 1) if we're not familiar with Apache ShardingSphere, then
we could run it on project root directory, 2) if we know which modules will be
affected by the changes, then we could run it on these modules to save build
time.
- Make sure the test coverage rate is not lower than the master branch.
- - Make sure to check codes with Checkstyle. codes that violate check rules
should have special reasons. Find checkstyle template from
`https://github.com/apache/shardingsphere/blob/master/src/resources/checkstyle.xml`,
please use checkstyle `8.8` to run the rules.
- Careful consideration for each `pull request`; Small and frequent `pull
request` with complete unit function is welcomed.
- Conform to `Contributor Covenant Code of Conduct` below.
+ - If using IDEA,you can import the recommended
[Settings](https://shardingsphere.apache.org/community/data/shardingsphere-settings.jar).
## Contributor Covenant Code of Conduct
- Use linux line separators.
- Keep indents (including blank lines) consistent with the previous one.
- Keep one blank line after class definition.
- - No meaningless blank lines.
+ - No meaningless blank lines. Please extract private methods to instead of
blank lines if too long method body or different logic code fragments.
- Use meaningful class, method and variable names, avoid to use abbreviate.
- Return values are named with `result`; Variables in the loop structure are
named with `each`; Replace `each` with `entry` in map.
- Exceptions when catch are named with `ex`; Exceptions when catch but do
nothing are named with `ignored`.
- - Name property files with camel-case and lowercase first letters.
+ - Name property files with `Spinal Case`(a variant of `Snake Case` which uses
hyphens `-` to separate words).
- Split codes that need to add notes with it into small methods, which are
explained with method names.
- Have constants on the left and variable on the right in `=` and `equals`
conditional expressions; Have variable on the left and constants on the right
in `greater than` and `less than` conditional expressions.
- Beside using same names as input parameters and global fields in assign
statement, avoid using `this` modifier.
- - Design class as `final` class expect abstract class for extend.
+ - Design class as `final` class except abstract class for extend.
- Make nested loop structures a new method.
- Order of members definition and parameters should be consistent during
classes and methods.
- Use guard clauses in priority.
- Minimize the access permission for classes and methods.
- - Private method should be just next to the method in which it is used;
writing private methods should be in the same as the appearance order of
private methods.
+ - Private method should be just next to the method in which it is used;
Multiple private methods should be in the same as the appearance order of
original methods.
- No `null` parameters or return values.
- Replace if else return and assign statement with ternary operator in
priority.
- Replace constructors, getters, setter methods and log variable with lombok
in priority.
@@ -44,6 +44,7 @@ The following code of conduct is based on full compliance
with [ASF CODE OF COND
- Use English in all the logs and javadoc.
- Include Javadoc, todo and fixme only in the comments.
- Only `public` classes and methods need javadoc, other methods, classes and
override methods do not need javadoc.
+ - conditional operator(<expression1> ? <expression2> : <expression3>) `nested
use` is forbidden.
## Contributor Covenant Unit Test of Conduct
diff --git a/docs/community/content/contribute/_index.cn.md
b/docs/community/content/contribute/_index.cn.md
index 9920164..a7f92bb 100644
--- a/docs/community/content/contribute/_index.cn.md
+++ b/docs/community/content/contribute/_index.cn.md
@@ -9,6 +9,8 @@ ShardingSphere是一个开放且活跃的社区,非常欢迎高质量的参与
您可以从[订阅官方邮件列表](/cn/contribute/subscribe/)开始参与社区。
+如果你是刚接触 ShardingSphere,请您先阅读[开发环境搭建指南](/cn/contribute/establish-project/)。
+
在成为一个贡献者之前,请您阅读[贡献者指南](/cn/contribute/contributor/)、[官方文档指南](/cn/contribute/document-contributor/)以及[开发规范](/cn/contribute/code-conduct/)。
如果你想成为官方提交者,请您阅读[提交者指南](/cn/contribute/committer/)。官方提交者需要通过开启[2FA](/cn/contribute/2fa/)后,才能够行使Apache官方代码仓库权限。
diff --git a/docs/community/content/contribute/_index.en.md
b/docs/community/content/contribute/_index.en.md
index 3b3aaa3..450efc2 100644
--- a/docs/community/content/contribute/_index.en.md
+++ b/docs/community/content/contribute/_index.en.md
@@ -9,12 +9,12 @@ First off, thank you for your interest in ShardingSphere. We
are a very open and
You may participate in the community through the [Mailing-list
Subscription](/en/contribute/subscribe/), or simply by interacting with other
members in the [ShardingSphere Slack
channel](https://app.slack.com/client/T026JKU2DPF/C026MLH7F34)
-Before becoming a contributor, please read the [Contributors'
Guide](https://shardingsphere.apache.org/community/en/contribute/contributor/)
and [Documents Contributor
Guide](https://shardingsphere.apache.org/community/en/contribute/document-contributor/),
as well as the [Code of
Conduct](https://shardingsphere.apache.org/community/en/contribute/code-conduct/).
+If you are just getting started, please read the [Environment Set Up
Guide](/en/contribute/establish-project/) to set up the development environment
for ShardingSphere.
-If you are just getting started, the [following
guide](https://shardingsphere.apache.org/community/en/contribute/establish-project/)
helps you to set up the developing environment for ShardingSphere.Inside
you’ll find everything you need for your software environment setup with
examples.
+Before becoming a contributor, please read the [Contributors'
Guide](/en/contribute/contributor/) and [Documents Contributor
Guide](/en/contribute/document-contributor/), as well as the [Code of
Conduct](/en/contribute/code-conduct/).
-If you want to become a committer, please read the [Committers'
Guide](https://shardingsphere.apache.org/community/en/contribute/committer/).
Committers can be granted authority by the Apache repo after
[2FA](/en/contribute/2fa/) enabled.
+If you want to become a committer, please read the [Committers'
Guide](/en/contribute/committer/). Committers can be granted authority by the
Apache repo after [2FA](/en/contribute/2fa/) enabled.
-If you want to be a release manager, please read the [Release
Guide](https://shardingsphere.apache.org/community/en/contribute/release/)。
+If you want to be a release manager, please read the [Release
Guide](/en/contribute/release/).
Thank you for attend ShardingSphere.
diff --git a/docs/community/content/contribute/code-conduct.cn.md
b/docs/community/content/contribute/code-conduct.cn.md
index 3baab23..e895af8 100644
--- a/docs/community/content/contribute/code-conduct.cn.md
+++ b/docs/community/content/contribute/code-conduct.cn.md
@@ -18,9 +18,8 @@ chapter = true
## 代码提交行为规范
- - 确保通过全部测试用例,确保执行 `./mvnw -T 1C clean install` 可以编译和测试通过。
+ - 确保构建流程中的各个步骤都成功完成,包括:Apache协议文件头检查、Checkstyle检查、编译、单元测试等。构建流程启动命令:`mvn -T
1C clean install` 或者 `./mvnw -T 1C clean
install`。执行目录有2种选择,根据自己的熟悉程度做选择:1)对项目还不太熟悉,在项目根目录执行构建,所有模块都会执行构建,2)明确知道这次改动会影响到哪些模块,在这些模块执行构建,可以大大缩短构建时间。
- 确保覆盖率不低于 master 分支。
- - 确保使用 Checkstyle
检查代码,违反验证规则的需要有特殊理由。模板位置在`https://github.com/apache/shardingsphere/blob/master/src/resources/checkstyle.xml`,请使用
checkstyle 8.8 运行规则。
- 应尽量将设计精细化拆分;做到小幅度修改,多次数提交,但应保证提交的完整性。
- 确保遵守编码规范。
- 如果您使用 IDEA,可导入推荐的
[Settings](https://shardingsphere.apache.org/community/data/shardingsphere-settings.jar)。
diff --git a/docs/community/content/contribute/code-conduct.en.md
b/docs/community/content/contribute/code-conduct.en.md
index 65678ca..b727bb8 100644
--- a/docs/community/content/contribute/code-conduct.en.md
+++ b/docs/community/content/contribute/code-conduct.en.md
@@ -15,9 +15,8 @@ The following code of conduct is based on full compliance
with [ASF CODE OF COND
## Contributor Covenant Submitting of Conduct
- - Make sure all the test cases are passed, Make sure `./mvnw -T 1C clean
install` can be compiled and tested successfully.
+ - Make sure Maven build process success. Run `mvn -T 1C clean install` or
`./mvnw -T 1C clean install` command in shell to start Maven build process. On
which directory to run Maven build process, there are 2 alternatives, we could
select one of them: 1) if we're not familiar with Apache ShardingSphere, then
we could run it on project root directory, 2) if we know which modules will be
affected by the changes, then we could run it on these modules to save build
time.
- Make sure the test coverage rate is not lower than the master branch.
- - Make sure to check codes with Checkstyle. codes that violate check rules
should have special reasons. Find checkstyle template from
`https://github.com/apache/shardingsphere/blob/master/src/resources/checkstyle.xml`,
please use checkstyle `8.8` to run the rules.
- Careful consideration for each `pull request`; Small and frequent `pull
request` with complete unit function is welcomed.
- Conform to `Contributor Covenant Code of Conduct` below.
- If using IDEA,you can import the recommended
[Settings](https://shardingsphere.apache.org/community/data/shardingsphere-settings.jar).
diff --git a/docs/community/content/contribute/contributor.cn.md
b/docs/community/content/contribute/contributor.cn.md
index d2e3757..7356c76 100644
--- a/docs/community/content/contribute/contributor.cn.md
+++ b/docs/community/content/contribute/contributor.cn.md
@@ -33,6 +33,13 @@ git remote add apache
https://github.com/apache/shardingsphere.git
git remote -v
```
+编译并安装所有模块到 Maven 本地仓库缓存,同时会生成 ANTLR `.g4` 语法文件对应的解析器 Java 类,这样在 IDE
就不会有相关的编译错误了。
+```shell
+cd shardingsphere
+mvn clean install -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true
-Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests -Prelease
+```
+当你以后从 ShardingSphere 拉取最新代码并新建分支,可能会遇到类似的解析器编译错误,可以重新运行这个命令来解决问题。
+
**2. 选择 issue**
- 请在选择您要修改的issue。如果是您新发现的问题或想提供issue中没有的功能增强,请先新建一个 issue 并设置正确的标签。
diff --git a/docs/community/content/contribute/contributor.en.md
b/docs/community/content/contribute/contributor.en.md
index e87c8fc..6293179 100644
--- a/docs/community/content/contribute/contributor.en.md
+++ b/docs/community/content/contribute/contributor.en.md
@@ -33,6 +33,13 @@ git remote add apache
https://github.com/apache/shardingsphere.git
git remote -v
```
+Build and install all modules, it'll install modules into Maven local
repository cache, and also generate Java class files of parser from ANTLR
grammar `.g4` files to prevent from compile error of parser on IDE.
+```shell
+cd shardingsphere
+mvn clean install -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true
-Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests -Prelease
+```
+When you pull the latest code from ShardingSphere and create new branch later,
you might get similar compile error of parser again, then you could run this
command again.
+
**2. Choose Issue**
- Please choose the issue to be edited. If it is a new issue discovered or a
new function enhancement to offer, please create an issue and set the right
label for it.
diff --git a/docs/community/content/contribute/establish-project.cn.md
b/docs/community/content/contribute/establish-project.cn.md
index 54f14cc..bd8ee26 100644
--- a/docs/community/content/contribute/establish-project.cn.md
+++ b/docs/community/content/contribute/establish-project.cn.md
@@ -1,60 +1,83 @@
+++
-title = "搭建项目及环境指南"
+title = "开发环境指南"
weight = 2
chapter = true
+++
-## 软件环境
-| **软件** | **JDK** | **Idea** |
-| :------- | :------ | :----------- |
-| **版本** | >=1.8 | 最新版本即可 |
-## 安装步骤( Mac 为例)
-## 1.JDK 安装
-- 下方链接获取适合自己环境的安装包( mac 选取 .dmg 格式)
-- https://www.oracle.com/java
-

-- 下载完成后直接安装即可
-## 2.设置环境变量
+
+## 安装 Git
+
+使用最新版。
+
+可以从 [Git 下载页面]( https://git-scm.com/downloads ) 下载最新安装包。
+
+如果你运行的是 macOS 或者 Linux 系统,那也可以从相关软件仓库直接安装。
+
+### Git 配置
+
+如果系统是 Windows,请在克隆 ShardingSphere 代码之前完成以下配置。
+
+在 PowerShell 或者 cmd 执行以下命令,预防克隆 ShardingSphere 代码的时候出现 `filename too long` 错误:
```shell
-vim ~/.zprofile
+git config --global core.longpaths true
```
-- 在下方添加环境变量:
-```shell
-#jdk环境通过 .dmg 方式安装后默认为下方路径
-JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home
-PATH=$JAVA_HOME/bin:$PATH:.
-CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
-export JAVA_HOME
-export PATH
-export CLASSPATH
-```
-```shell
-source ~/.zprofile
-```
-## 3.Idea 下载安装
-- 下方链接获取适合自己环境的安装包
-- https://www.jetbrains.com/idea/download/#section=mac
-- 下载后直接安装
-## 4.Idea clone 代码
-- 进入 Idea
-- 工具栏-->Git-->Clone-->Url(https://github.com/apache/shardingsphere.git)
-

-- 等待结束就有刚刚克隆的最新的代码了
-## 5.项目编译
-```shell
-#假设项目路径为 /Users/hanmeimei/IdeaProjects/shardingsphere/
-cd /Users/hanmeimei/IdeaProjects/shardingsphere/
-```
-## 编译环境
-```shell
-./mvnw -Dmaven.javadoc.skip=true -Djacoco.skip=true -DskipITs -DskipTests
clean install
-```
-## 获取最新的项目
-```shell
-./mvnw -Dmaven.javadoc.skip=true -Djacoco.skip=true -DskipITs -DskipTests
clean install -Prelease
-#进入下方目录位置
-cd
/Users/hanmeimei/shardingsphere/shardingsphere/shardingsphere-distribution/shardingsphere-proxy-distribution/target
-#即可看到打包好最新的软件
-apache-shardingsphere-5.0.0-RC1-SNAPSHOT-shardingsphere-proxy-bin.tar.gz
-```
-## 结语
-完成以上操作后,您已经有了 ShardingSphere
的软件环境,可以根据[《贡献者指南》](https://shardingsphere.apache.org/community/cn/contribute/contributor/)
参与到 ShardingSphere 的社区建设
+
+## 安装 JDK
+
+使用 JDK 8 或以上版本。
+
+可以从 [JDK 下载页面]( https://jdk.java.net/ ) 下载。
+
+请参考以下文档完成安装,根据 JDK 版本任选其一:[JDK8 安装指南](
https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html
),[JDK11 安装指南](
https://docs.oracle.com/en/java/javase/11/install/overview-jdk-installation.html
),[JDK17 安装指南](
https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html
)。也可以根据自己的系统自行搜索 JDK 安装指南。
+
+## 安装 Maven
+
+可选。Maven 安装并配置好的情况下可以使用 `mvn` 命令,否则可以使用 `mvnw` 命令(自动下载并安装需要的 Maven,使用在
`.mvn/wrapper/maven-wrapper.properties` 配置的版本)。
+
+使用 Maven 3.6 或以上版本。
+
+可以从 [Maven 下载页面]( https://maven.apache.org/download.html ) 下载。
+
+请参考 [Maven 官方教程]( https://maven.apache.org/install.html ) 完成安装。
+
+## 选择终端
+
+### macOS
+
+以下终端任选其一:
+- Terminal :macOS 自带
+- iTerm2 :可自行安装
+
+### Windows
+
+以下终端任选其一:
+- PowerShell :Windows 自带
+- Git Bash :可以通过 Git 官方客户端安装
+- [适用于 Linux 的 Windows 子系统 (WSL)](
https://docs.microsoft.com/zh-cn/windows/wsl/install ) :可自行安装
+
+### Linux
+
+不同发行版有不同的终端,可自行选择。
+
+## 设置系统环境变量
+
+设置系统环境变量,包括:JAVA_HOME,MAVEN_HOME 和 PATH。
+
+根据使用的系统自行查询设置方法并完成设置。
+
+## 选择 IDE
+
+推荐使用 [IntelliJ IDEA]( https://www.jetbrains.com/idea/download/ )。
+
+## 安装 IDE 插件
+
+以下是一些常用插件:
+- Lombok :必须。最新版 IntelliJ IDEA 已自带。
+- CheckStyle :可选。可以实时或根据需要扫描 Java 文件,找出不符合代码规范的地方并提示。**注意**:不是所有不符合
[代码规范](/cn/contribute/code-conduct/) 的地方都可以被检查出来。
+- ANTLR v4 :可选。做 SQL 语法扩展任务的时候可能有用。
+
+### CheckStyle 插件配置
+
+1. 添加配置文件 :使用 `src/resources/checkstyle.xml`
+2. 选择 Checkstyle 版本 :使用 `8.8`
+
+详情请参考 [CheckStyle-IDEA 文档](
https://github.com/jshiell/checkstyle-idea/blob/main/README.md )。
diff --git a/docs/community/content/contribute/establish-project.en.md
b/docs/community/content/contribute/establish-project.en.md
index 39d0266..cb15fe1 100644
--- a/docs/community/content/contribute/establish-project.en.md
+++ b/docs/community/content/contribute/establish-project.en.md
@@ -3,58 +3,81 @@ title = "How to Set Up Your DEV Environment"
weight = 2
chapter = true
+++
-## Software Environment
-| **Software** | **JDK** | **Idea** |
-| :----------- | :------ | :----------------- |
-| **Version** | >=1.8 | The latest version |
-## Installation Procedure (For example, Mac)
-## 1. The JDK installation
-- The following link is to obtain the installation package suitable for your
environment (MAC select.dmg format).
-- https://www.oracle.com/java
-

-- Install it directly after downloading
-## 2. Set the environment variable
+
+## Git Installation
+
+Use the latest version.
+
+You could download Git from [Git Downloads]( https://git-scm.com/downloads ).
+
+If you're running macOS or Linux, you could install Git from software
repository.
+
+### Git Settings
+
+If you're running Windows, following settings should be done before cloning
ShardingSphere code.
+
+Execute following command in PowerShell or cmd to prevent from `filename too
long` error on cloning ShardingSphere code:
```shell
-vim ~/.zprofile
+git config --global core.longpaths true
```
-- Add the environment variable below:
-```shell
-#The following path is the default for the JDK environment installed in.dmg
mode
-JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home
-PATH=$JAVA_HOME/bin:$PATH:.
-CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
-export JAVA_HOME
-export PATH
-export CLASSPATH
-```
-```shell
-source ~/.zprofile
-```
-## 3. Idea Download and install
-- The following link provides an installation package suitable for your
environment
- https://www.jetbrains.com/idea/download/#section=mac
-- Install it directly after downloading
-## 4. Idea clone code
-- Enter Idea
-- Toolbar-->Git-->Clone-->Url(https://github.com/apache/shardingsphere.git)
-

-- At the end of the wait, there is the latest code that has just been cloned
-## 5. Compile the project
-```shell
-#Suppose the project path is /Users/hanmeimei/IdeaProjects/shardingsphere/
-cd /Users/hanmeimei/IdeaProjects/shardingsphere/
-```
-## Compile environment
-```shell
-./mvnw -Dmaven.javadoc.skip=true -Djacoco.skip=true -DskipITs -DskipTests
clean install
-```
-## Get the latest projects
-```shell
-./mvnw -Dmaven.javadoc.skip=true -Djacoco.skip=true -DskipITs -DskipTests
clean install -Prelease
-#Go to the directory below
-cd
/Users/hanmeimei/shardingsphere/shardingsphere/shardingsphere-distribution/shardingsphere-proxy-distribution/target
-#You can see the latest software packaged
-apache-shardingsphere-5.0.0-RC1-SNAPSHOT-shardingsphere-proxy-bin.tar.gz
-```
-## Conclusion
-After completing the above operations, you have a ShardingSphere environment
and can participate in the community building of ShardingSphere according to
the [Contributors'
Guide](https://shardingsphere.apache.org/community/en/contribute/contributor/)
+
+## JDK Installation
+
+Use JDK8+.
+
+You could download JDK from [JDK Downloads]( https://jdk.java.net/ ).
+
+Please refer to these installation guides for more details: [JDK8
Installation](
https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html
), [JDK11 Installation](
https://docs.oracle.com/en/java/javase/11/install/overview-jdk-installation.html
) or [JDK17 Installation](
https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html
). Or you could search JDK installation guide for your platform on Google.
+
+## Maven
+
+Optional. You could use `mvn` command if Maven is ready, else use `mvnw`
instead (download and install Maven automatically, use version defined in
`.mvn/wrapper/maven-wrapper.properties`).
+
+Use 3.6+.
+
+You could download Maven from [Downloading Apache Maven](
https://maven.apache.org/download.html ).
+
+Please refer to [Installing Apache Maven](
https://maven.apache.org/install.html ) for more details.
+
+## Terminal
+
+### macOS
+
+You could use any of them:
+- Terminal : Preinstalled on macOS
+- iTerm2 : Could be installed by yourself
+
+### Windows
+
+You could use any of them:
+- PowerShell : Preinstalled on Windows
+- Git Bash : Could be installed in official Git client
+- [Windows Subsystem for Linux (WSL)](
https://docs.microsoft.com/en-us/windows/wsl/install ) : Could be installed by
yourself
+
+### Linux
+
+Different terminal on different distribution.
+
+## Environment Variables
+
+Set up JAVA_HOME, MAVEN_HOME and PATH system environment variables.
+
+You could find how to do it on Google.
+
+## IDE
+
+[IntelliJ IDEA]( https://www.jetbrains.com/idea/download/ ) is recommended.
+
+## IDE Plugins
+
+These plugins might be useful for you:
+- Lombok : Required. It's already preinstalled in the latest IntelliJ IDEA.
+- CheckStyle : Optional. It provides both real-time and on-demand scanning of
Java files. **Notice**: Not all [Code of Conduct](/en/contribute/code-conduct/)
could be checked.
+- ANTLR v4 : Optional. It's recommended if you contribute to SQL extension.
+
+### CheckStyle Settings
+
+1. Add `Configuration File` : use `src/resources/checkstyle.xml`
+2. Select `Checkstyle version` : use `8.8`
+
+Please refer to [CheckStyle-IDEA README](
https://github.com/jshiell/checkstyle-idea/blob/main/README.md ) for more
details.
diff --git a/docs/community/static/image/download_source/Idea.png
b/docs/community/static/image/download_source/Idea.png
deleted file mode 100644
index ea67243..0000000
Binary files a/docs/community/static/image/download_source/Idea.png and
/dev/null differ
diff --git a/docs/community/static/image/download_source/JDK.png
b/docs/community/static/image/download_source/JDK.png
deleted file mode 100644
index 5328831..0000000
Binary files a/docs/community/static/image/download_source/JDK.png and
/dev/null differ