The E2E remote debugging port of service containers is `5005`. If the developer wants to use remote debugging, he needs to add remote debugging parameters to the start service command, and then expose the port `5005`.
For example, this is the configuration of a container in the [skywalking/test/e2e/e2e-test/docker/base-compose.yml](https://github.com/apache/skywalking/blob/master/test/e2e/e2e-test/docker/base-compose.yml). [JAVA_OPTS](https://github.com/apache/skywalking/blob/190ca93b6bf48e9d966de5b05cd6490ba54b7266/docker/oap/docker-entrypoint.sh) is a preset variable for passing additional parameters in the AOP service startup command, so we only need to add the JAVA remote debugging parameters `agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005` to the configuration and exposes the port `5005`.
For example, this is the configuration of a container in [skywalking/test/e2e/e2e-test/docker/base-compose.yml](https://github.com/apache/skywalking/blob/master/test/e2e/e2e-test/docker/base-compose.yml). [JAVA_OPTS](https://github.com/apache/skywalking/blob/190ca93b6bf48e9d966de5b05cd6490ba54b7266/docker/oap/docker-entrypoint.sh) is a preset variable for passing additional parameters in the AOP service startup command, so we only need to add the JAVA remote debugging parameters `agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005` to the configuration and expose the port `5005`.
At last, if the E2E test failed and is retrying, the developer can get the ports mapping in the file `skywalking/test/e2e/e2e-test/remote_real_port` and selects the host port of the corresponding service for remote debugging. For example,
At last, if the E2E test fails and is retrying, the developer may get the ports mapping in the file `skywalking/test/e2e/e2e-test/remote_real_port` and select the host port of the corresponding service for remote debugging. For example,
@@ -36,18 +36,18 @@ If you need to execute build behind the proxy, edit the *.mvn/jvm.config* and pu
1. Run `./mvnw clean package -DskipTests`
1. All packages are in `/dist` (.tar.gz for Linux and .zip for Windows).
### Build from Apache source code release
- What is `Apache source code release`?
### Building from Apache source code release
- What is the `Apache source code release`?
For each official Apache release, there is a complete and independent source code tar, which is including all source codes. You could download it from [SkyWalking Apache download page](http://skywalking.apache.org/downloads/). No git related stuff required when compiling this. Just follow these steps.
For each official Apache release, there is a complete and independent source code tar, which includes all source codes. You could download it from [SkyWalking Apache download page](http://skywalking.apache.org/downloads/). There is no requirement related to git when compiling this. Just follow these steps.
1. Prepare JDK8+ and Maven 3.6+
1. Run `./mvnw clean package -DskipTests`
1. Prepare JDK8+ and Maven 3.6+.
1. Run `./mvnw clean package -DskipTests`.
1. All packages are in `/dist`.(.tar.gz for Linux and .zip for Windows).
### Advanced compile
SkyWalking is a complex maven project, including many modules, which could cause long compiling time.
If you just want to recompile part of the project, you have following options
### Advanced compiling
SkyWalking is a complex maven project that has many modules. Therefore, the time to compile may be a bit longer than usual.
If you just want to recompile part of the project, you have the following options:
- Compile agent and package
> ./mvnw package -Pagent,dist
...
...
@@ -55,7 +55,7 @@ or
> make build.agent
If you intend to compile a single one plugin, such as in the dev stage, you could
If you intend to compile a single plugin, such as one in the dev stage, you could
> cd plugin_module_dir & mvn clean package
- Compile backend and package
...
...
@@ -73,16 +73,16 @@ or
> make build.ui
### Build docker images
We can build docker images of `backend` and `ui` with `Makefile` located in root folder.
### Building docker images
You can build docker images of `backend` and `ui` with `Makefile` located in root folder.
Refer to [Build docker image](../../../docker) for more details.
## Setup your IntelliJ IDEA
**NOTICE**: If you clone the codes from GitHub, please make sure that you had finished step 1 to 3 in section **[Build from GitHub](#build-from-github)**, if you download the source codes from the official website of SkyWalking, please make sure that you had followed the steps in section **[Build from Apache source code release](#build-from-apache-source-code-release)**.
## Setting up your IntelliJ IDEA
**NOTE**: If you clone the codes from GitHub, please make sure that you have finished steps 1 to 3 in section **[Build from GitHub](#build-from-github)**. If you download the source codes from the official website of SkyWalking, please make sure that you have followed the steps in section **[Build from Apache source code release](#build-from-apache-source-code-release)**.
1. Import the project as a maven project
1. Run `./mvnw compile -Dmaven.test.skip=true` to compile project and generate source codes. Because we use gRPC and protobuf.
1. Import the project as a maven project.
1. Run `./mvnw compile -Dmaven.test.skip=true` to compile project and generate source codes. The reason is that we use gRPC and protobuf.
1. Set **Generated Source Codes** folders.
*`grpc-java` and `java` folders in **apm-protocol/apm-network/target/generated-sources/protobuf**
*`grpc-java` and `java` folders in **oap-server/server-core/target/generated-sources/protobuf**