In order to cooperate with Doris's successful graduation from Apache, the Doris official website also needs a new look and more powerful feature, so we decided to redesign the Doris official website. The code and documents of the new official website are included in this PR. Since the new website is completely rewritten, the content and structure of the project are different from the previous one. In particular, the directory structure of documents has changed, and the number of documents is large, so the number of files in this PR is very large. In the old website,all English documents are in the en/ directory, and Chinese documents in the zh-CN/ directory, but in the new website,the documents are split into multiple directories according to the nav. The document's directory structure changes as follows: ``` docs (old website) | |—— .vuepress (library) | |—— en | | |—— admin-manual │ │ |—— advanced | | |—— article | | |—— benchmark | | |—— case-user | | |—— community | | |—— data-operate | | |—— data-table | | |—— design | | |—— developer-guide | | |—— downloads | | |—— ecosystem | | |—— faq | | |—— get-starting | | |—— install | | |—— sql-manual | | |—— summary | | |___ README.md | |—— zh-CN ... docs (new website) | |—— .vuepress (library) | |—— en | | |—— community (unchanged, community nav) │ │ |—— developer (new directory, developer nav) │ │ | |—— design (moved from en/design) │ │ | |__ developer-guide (moved from en/developer-guide) | | |—— docs (new directory, all children directories moved from en/, document nav) │ │ | |—— admin-manual │ │ | |—— advanced │ │ | |—— benchmark │ │ | |—— data-operate │ │ | |—— data-table │ │ | |—— ecosystem │ │ | |—— faq │ │ | |—— get-starting │ │ | |—— install │ │ | |—— sql-manual │ │ | |—— summary | | |—— downloads (unchanged, downloads nav) | | |—— userCase (moved from en/case-user, user nav) | | |___ README.md | |—— zh-CN ... ```
5.7 KiB
title, language
| title | language |
|---|---|
| Setting FE dev env - Eclipse | en |
Setting FE dev env using Eclipse
Preparation
- JDK 1.8+
- Maven 3.x+
- Eclipse, with M2Eclipse installed
Code Generation
The FE module requires part of the generated code, such as Thrift, Protobuf, Jflex, CUP and other frameworks.
-
Under Linux, enter the source code directory
feand execute the following command:mvn generate-sources -
If use windows as development environment, then package the generated
fe/fe-core/target/generated-sourcesdirectory:fe/fe-core/target/ && tar czf java.tar.gz generated-sources/ -
Copy
java.tar.gzto thefe/fe-core/target/directory of the development environment and unzipcp java.tar.gz /path/to/doris/fe/fe-core/target/ cd /path/to/doris/fe/fe-core/target/ && tar xzf java.tar.gz
Import FE project
-
In the
fe/directory of the development environment, execute the following command to generate the Eclipse project file:cd /path/to/doris/fe/ && mvn -npr eclipse:eclipse -Dskip.plugin=trueAfter the execution is completed, the
.projectand.classpathfiles will be generated in thefe/directory. -
Import FE project
- Open Eclipse, choose
File -> Import. - Choose
General -> Existing Projects into Workspace. Select root directoryand choosefe/directory, clickFinishto finish.- Right click the project, and choose
Build Path -> Configure Build Path. - In the
Java Build Pathdialog, choose theSourcetab, clickAdd Folder, and select thejava/directory that was copied and unzipped before adding. - Click
Apply and Closeto finish.
- Open Eclipse, choose
At this point, FE project import is complete. The project directory in Eclipse is roughly as follows:
Run Unit Test
Right-click on the unit test file you want to run and select Run As -> JUnit Test. (If you want to debug, select Debug As -> JUnit Test).
If the following error occurs:
java.lang.Exception: Method xxxx should have no parameters
Then right-click the unit test file and select Run As -> Run Configurations.... (If you want to debug, select Debug As -> Debug Configurations...).
Add to the VM arguments in the Arguments tab:
-javaagent:${settings.localRepository}/org/jmockit/jmockit/1.48/jmockit-1.48.jar
Among them, ${settings.localRepository} should be replaced with the path of the maven library path, such as:
-javaagent:/Users/cmy/.m2/repository/org/jmockit/jmockit/1.48/jmockit-1.48.jar
Then just run Run/Debug.
Run FE
You can directly start an FE process in Eclipse to facilitate debugging the code.
-
Create a runtime directory
mkdir /path/to/doris/fe/run/ cd /path/to/doris/fe/run/ mkdir conf/ log/ palo-meta/ -
Create configuration file
Create the configuration file
fe.confin theconf/directory created in the first step. You can directly copyconf/fe.confin the source directory and make simple changes. -
Find the
src/main/java/org/apache/doris/PaloFe.javafile in Eclipse, right-click and selectRun As -> Run Configurations.... Add the following environment variables to theEnvironmenttab:DORIS_HOME: /path/to/doris/fe/run/PID_DIR: /path/to/doris/fe/run/LOG_DIR: /path/to/doris/fe/run/log
-
Right-click
PaloFe.javaand selectRun As -> Java Applicationto start FE.
To run a UT, a FE service will be started at first. And then, UT cases execute as client and test corresponding logics. When errors occur, only client logs will be print in UT logs. If you need more information from server logs, you can view logs in ${DORIS_HOME}/fe/mocked.
Code Update
-
Update lexical and grammar files or proto and thrift files
If you modified
fe/src/main/cup/sql_parser.cuporfe/src/main/jflex/sql_scanner.flexfile or proto and thrift files. You need to execute the following commands in thefe/directory:mvn generate-sourcesThen refresh the project in Eclipse.
-
Update maven dependencies
If you update the dependency in
fe/pom.xml, you need to execute the following command in thefe/directory:mvn -npr eclipse:eclipse -Dskip.plugin=trueThen refresh the project in Eclipse. If it cannot be updated, it is recommended to delete the project and import it again according to this document.
Imports Order
In order to maintain the Imports order of Java, please perform the following operations to set the Imports Order of the project.
-
Create the file
fe_doris.importorderand write the following:#Organize Import Order #Wed Jul 01 16:42:47 CST 2020 4=javax 3=java 2=org 1=com 0=org.apache.doris -
Open Eclipse Preferences, select
Java -> Code Style -> Organize Imports. ClickImportto import the above file.
