You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/12/24 13:07:02 UTC

[skywalking] 01/01: Update JDK compiling level to 8, and remove zip dist.

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch jdk8
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 2a4f5998d9f6593d3064747c26af087593d4b74d
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Dec 24 21:06:48 2019 +0800

    Update JDK compiling level to 8, and remove zip dist.
---
 .../org/apache/skywalking/apm/util/StringUtil.java |  4 ++++
 apm-dist-es7/pom.xml                               |  1 -
 apm-dist-es7/src/main/assembly/binary-es7.xml      |  1 -
 apm-dist/pom.xml                                   |  1 -
 apm-dist/src/main/assembly/binary.xml              |  1 -
 apm-protocol/apm-network/pom.xml                   | 22 +++------------------
 .../apm/network/trace/proto/GRPCNoServerTest.java  |  2 +-
 apm-sniffer/apm-agent-core/pom.xml                 | 23 ++--------------------
 .../agent/core/remote/StandardChannelBuilder.java  |  3 +--
 apm-sniffer/pom.xml                                |  1 -
 dist-material/release-docs/LICENSE                 |  5 +----
 docs/en/setup/service-agent/java-agent/README.md   |  6 +++++-
 oap-server/pom.xml                                 |  7 -------
 .../grpc-configuration-sync/pom.xml                |  3 ++-
 oap-server/server-core/pom.xml                     |  7 ++++---
 .../core/query/ServiceInstanceTopologyBuilder.java |  2 +-
 oap-server/server-library/library-buffer/pom.xml   | 16 ---------------
 oap-server/server-library/library-client/pom.xml   |  8 ++++----
 .../client/elasticsearch/ElasticSearchClient.java  |  8 ++++----
 .../oap/server/library/client/grpc/GRPCClient.java |  2 +-
 .../elasticsearch/ITElasticSearchClient.java       |  4 ++--
 .../envoy/MetricServiceGRPCHandlerTestMain.java    |  2 +-
 .../server-receiver-plugin/receiver-proto/pom.xml  |  2 +-
 .../handler/IstioTelemetryHandlerMainTest.java     |  2 +-
 .../handler/JVMMetricsServiceHandlerMainTest.java  |  2 +-
 .../v5/ApplicationRegisterHandlerTestCase.java     |  2 +-
 .../InstanceDiscoveryServiceHandlerTestCase.java   |  2 +-
 .../handler/v5/InstanceHeartBeatTestCase.java      |  2 +-
 ...tworkAddressRegisterServiceHandlerTestCase.java |  2 +-
 .../v5/ServiceNameDiscoveryHandlerTestCase.java    |  2 +-
 .../server/receiver/trace/mock/AgentDataMock.java  |  4 ++--
 pom.xml                                            | 13 ++++++++++++
 32 files changed, 59 insertions(+), 103 deletions(-)

diff --git a/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringUtil.java b/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringUtil.java
index 5c7dc21..69474e9 100644
--- a/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringUtil.java
+++ b/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringUtil.java
@@ -23,6 +23,10 @@ public final class StringUtil {
         return str == null || str.length() == 0;
     }
 
+    public static boolean isNotEmpty(String str) {
+        return !isEmpty(str);
+    }
+
     public static String join(final char delimiter, final String... strings) {
         if (strings.length == 0) {
             return null;
diff --git a/apm-dist-es7/pom.xml b/apm-dist-es7/pom.xml
index 0f9f59c..b505db5 100644
--- a/apm-dist-es7/pom.xml
+++ b/apm-dist-es7/pom.xml
@@ -108,7 +108,6 @@
                         <configuration>
                             <tasks>
                                 <copy file="${project.build.directory}/apache-skywalking-apm-bin-es7.tar.gz" tofile="${project.basedir}/../dist/apache-skywalking-apm-bin-es7.tar.gz" overwrite="true" />
-                                <copy file="${project.build.directory}/apache-skywalking-apm-bin-es7.zip" tofile="${project.basedir}/../dist/apache-skywalking-apm-bin-es7.zip" overwrite="true" />
                             </tasks>
                         </configuration>
                     </execution>
diff --git a/apm-dist-es7/src/main/assembly/binary-es7.xml b/apm-dist-es7/src/main/assembly/binary-es7.xml
index 68328f5..6fd54ca 100644
--- a/apm-dist-es7/src/main/assembly/binary-es7.xml
+++ b/apm-dist-es7/src/main/assembly/binary-es7.xml
@@ -22,7 +22,6 @@
         xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
     <id>dist</id>
     <formats>
-        <format>zip</format>
         <format>tar.gz</format>
     </formats>
     <fileSets>
diff --git a/apm-dist/pom.xml b/apm-dist/pom.xml
index 29971ad..385ef17 100644
--- a/apm-dist/pom.xml
+++ b/apm-dist/pom.xml
@@ -108,7 +108,6 @@
                         <configuration>
                             <tasks>
                                 <copy file="${project.build.directory}/apache-skywalking-apm-bin.tar.gz" tofile="${project.basedir}/../dist/apache-skywalking-apm-bin.tar.gz" overwrite="true" />
-                                <copy file="${project.build.directory}/apache-skywalking-apm-bin.zip" tofile="${project.basedir}/../dist/apache-skywalking-apm-bin.zip" overwrite="true" />
                             </tasks>
                         </configuration>
                     </execution>
diff --git a/apm-dist/src/main/assembly/binary.xml b/apm-dist/src/main/assembly/binary.xml
index 6cc8416..308358a 100644
--- a/apm-dist/src/main/assembly/binary.xml
+++ b/apm-dist/src/main/assembly/binary.xml
@@ -22,7 +22,6 @@
     xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
     <id>dist</id>
     <formats>
-        <format>zip</format>
         <format>tar.gz</format>
     </formats>
     <fileSets>
diff --git a/apm-protocol/apm-network/pom.xml b/apm-protocol/apm-network/pom.xml
index 9ac1632..70dd493 100644
--- a/apm-protocol/apm-network/pom.xml
+++ b/apm-protocol/apm-network/pom.xml
@@ -29,12 +29,6 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <compiler.version>1.6</compiler.version>
-        <grpc.version>1.14.0</grpc.version>
-        <netty.version>4.1.27.Final</netty.version>
-        <netty-tcnative-boringssl-static.version>2.0.7.Final</netty-tcnative-boringssl-static.version>
-        <os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>
-        <protobuf-maven-plugin.version>0.5.0</protobuf-maven-plugin.version>
     </properties>
 
     <dependencies>
@@ -42,36 +36,26 @@
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty</artifactId>
             <version>${grpc.version}</version>
-            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-protobuf</artifactId>
             <version>${grpc.version}</version>
-            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-stub</artifactId>
             <version>${grpc.version}</version>
-            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty-tcnative-boringssl-static</artifactId>
             <version>${netty-tcnative-boringssl-static.version}</version>
-            <scope>provided</scope>
         </dependency>
     </dependencies>
 
     <build>
-        <extensions>
-            <extension>
-                <groupId>kr.motd.maven</groupId>
-                <artifactId>os-maven-plugin</artifactId>
-                <version>${os-maven-plugin.version}</version>
-            </extension>
-        </extensions>
+
         <plugins>
             <plugin>
                 <groupId>org.xolstice.maven.plugins</groupId>
@@ -83,10 +67,10 @@
                       protobuf-java directly, you will be transitively depending on the
                       protobuf-java version that grpc depends on.
                     -->
-                    <protocArtifact>com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
+                    <protocArtifact>com.google.protobuf:protoc:3.11.0:exe:${os.detected.classifier}
                     </protocArtifact>
                     <pluginId>grpc-java</pluginId>
-                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.8.0:exe:${os.detected.classifier}
+                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.26.0:exe:${os.detected.classifier}
                     </pluginArtifact>
                 </configuration>
                 <executions>
diff --git a/apm-protocol/apm-network/src/test/java/org/apache/skywalking/apm/network/trace/proto/GRPCNoServerTest.java b/apm-protocol/apm-network/src/test/java/org/apache/skywalking/apm/network/trace/proto/GRPCNoServerTest.java
index ef47cb9..45e32ee 100644
--- a/apm-protocol/apm-network/src/test/java/org/apache/skywalking/apm/network/trace/proto/GRPCNoServerTest.java
+++ b/apm-protocol/apm-network/src/test/java/org/apache/skywalking/apm/network/trace/proto/GRPCNoServerTest.java
@@ -40,7 +40,7 @@ public class GRPCNoServerTest {
             NettyChannelBuilder.forAddress("127.0.0.1", 8080)
                 .nameResolverFactory(new DnsNameResolverProvider())
                 .maxInboundMessageSize(1024 * 1024 * 50)
-                .usePlaintext(true);
+                .usePlaintext();
         ManagedChannel channel = channelBuilder.build();
         TraceSegmentServiceGrpc.TraceSegmentServiceStub serviceStub = TraceSegmentServiceGrpc.newStub(channel);
         final Status[] status = {null};
diff --git a/apm-sniffer/apm-agent-core/pom.xml b/apm-sniffer/apm-agent-core/pom.xml
index 88b10e1..6b7ae36 100644
--- a/apm-sniffer/apm-agent-core/pom.xml
+++ b/apm-sniffer/apm-agent-core/pom.xml
@@ -34,7 +34,7 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <jetty.version>9.4.2.v20170220</jetty.version>
-        <grpc.version>1.14.0</grpc.version>
+        <grpc.version>1.26.0</grpc.version>
         <guava.version>20.0</guava.version>
         <bytebuddy.version>1.10.1</bytebuddy.version>
         <wiremock.version>2.6.0</wiremock.version>
@@ -68,26 +68,7 @@
             <artifactId>byte-buddy</artifactId>
             <version>${bytebuddy.version}</version>
         </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-netty</artifactId>
-            <version>${grpc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-protobuf</artifactId>
-            <version>${grpc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-stub</artifactId>
-            <version>${grpc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-tcnative-boringssl-static</artifactId>
-            <version>${netty-tcnative-boringssl-static.version}</version>
-        </dependency>
+
         <dependency>
             <groupId>net.bytebuddy</groupId>
             <artifactId>byte-buddy-agent</artifactId>
diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/StandardChannelBuilder.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/StandardChannelBuilder.java
index 814d8d4..6c358fc 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/StandardChannelBuilder.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/StandardChannelBuilder.java
@@ -26,11 +26,10 @@ import io.grpc.internal.DnsNameResolverProvider;
  */
 public class StandardChannelBuilder implements ChannelBuilder {
     private final static int MAX_INBOUND_MESSAGE_SIZE = 1024 * 1024 * 50;
-    private final static boolean USE_PLAIN_TEXT = true;
 
     @Override public ManagedChannelBuilder build(ManagedChannelBuilder managedChannelBuilder) throws Exception {
         return managedChannelBuilder.nameResolverFactory(new DnsNameResolverProvider())
             .maxInboundMessageSize(MAX_INBOUND_MESSAGE_SIZE)
-            .usePlaintext(USE_PLAIN_TEXT);
+            .usePlaintext();
     }
 }
diff --git a/apm-sniffer/pom.xml b/apm-sniffer/pom.xml
index 0b3c814..8d156f5 100644
--- a/apm-sniffer/pom.xml
+++ b/apm-sniffer/pom.xml
@@ -39,7 +39,6 @@
     </modules>
 
     <properties>
-        <compiler.version>1.6</compiler.version>
         <shade.package>org.apache.skywalking.apm.dependencies</shade.package>
     </properties>
 </project>
diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE
index 0603afe..4abf154 100755
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -227,10 +227,7 @@ The following components are provided under the Apache License. See project link
 The text of each license is the standard Apache 2.0 license.
 
     raphw (byte-buddy) 1.9.2: http://bytebuddy.net/ , Apache 2.0
-    Google: grpc 1.14.0: https://grpc.io/ , Apache 2.0
-    Google: grpc 1.15.1: https://grpc.io/ , Apache 2.0
-    Google: gprc-java 1.14.0: https://github.com/grpc/grpc-java, Apache 2.0
-    Google: gprc-java 1.15.1: https://github.com/grpc/grpc-java, Apache 2.0
+    Google: gprc-java 1.26.0: https://github.com/grpc/grpc-java, Apache 2.0
     Google: guava 23.1: https://github.com/google/guava , Apache 2.0
     Google: guice 4.1.0: https://github.com/google/guice , Apache 2.0
     Google: gson 2.8.1: https://github.com/google/gson , Apache 2.0
diff --git a/docs/en/setup/service-agent/java-agent/README.md b/docs/en/setup/service-agent/java-agent/README.md
index c6e591c..0f59a08 100755
--- a/docs/en/setup/service-agent/java-agent/README.md
+++ b/docs/en/setup/service-agent/java-agent/README.md
@@ -1,5 +1,5 @@
 # Setup java agent
-1. Agent is available for JDK 1.6 - 12.
+1. Agent is available for JDK 8 - 12 in 7.x releases. JDK 1.6 - JDK 12 are supported in all 6.x releases [NOTICE¹](#notice)
 1. Find `agent` folder in SkyWalking release package
 1. Set `agent.service_name` in `config/agent.config`. Could be any String in English.
 1. Set `collector.backend_service` in `config/agent.config`. Default point to `127.0.0.1:11800`, only works for local backend.
@@ -168,3 +168,7 @@ and consider to add this feature.
 If you are interested in plugin compatible tests or agent performance, see the following reports.
 * [Plugin Test in every Pull Request](https://github.com/apache/skywalking/actions?query=workflow%3APluginsTest)
 * [Java Agent Performance Test](https://skyapmtest.github.io/Agent-Benchmarks/)
+
+# Notice
+¹ Due to gRPC didn't support JDK 1.6 since 2018, SkyWalking abandoned the JDK 6/7 supports in all 7.x releases. 
+But, with gRPC back forward compatibility(at least for now), all SkyWalking 6.x agents could work with 7.x, including the agent and backend.
\ No newline at end of file
diff --git a/oap-server/pom.xml b/oap-server/pom.xml
index db559aa..210f242 100755
--- a/oap-server/pom.xml
+++ b/oap-server/pom.xml
@@ -56,12 +56,10 @@
         <graphql-java-tools.version>5.2.3</graphql-java-tools.version>
         <graphql-java.version>8.0</graphql-java.version>
         <zookeeper.version>3.4.10</zookeeper.version>
-        <grpc.version>1.15.1</grpc.version>
         <netty-tcnative-boringssl-static.version>2.0.7.Final</netty-tcnative-boringssl-static.version>
         <jetty.version>9.4.2.v20170220</jetty.version>
         <lombok.version>1.18.0</lombok.version>
         <h2.version>1.4.196</h2.version>
-        <shardingjdbc.version>2.0.3</shardingjdbc.version>
         <commons-dbcp.version>1.4</commons-dbcp.version>
         <commons-io.version>2.6</commons-io.version>
         <elasticsearch.version>6.3.2</elasticsearch.version>
@@ -313,11 +311,6 @@
                 <scope>provided</scope>
             </dependency>
             <dependency>
-                <groupId>io.shardingjdbc</groupId>
-                <artifactId>sharding-jdbc-core</artifactId>
-                <version>${shardingjdbc.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>commons-dbcp</groupId>
                 <artifactId>commons-dbcp</artifactId>
                 <version>${commons-dbcp.version}</version>
diff --git a/oap-server/server-configuration/grpc-configuration-sync/pom.xml b/oap-server/server-configuration/grpc-configuration-sync/pom.xml
index 5edfefe..ced4e87 100644
--- a/oap-server/server-configuration/grpc-configuration-sync/pom.xml
+++ b/oap-server/server-configuration/grpc-configuration-sync/pom.xml
@@ -17,7 +17,8 @@
   ~
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <artifactId>server-configuration</artifactId>
         <groupId>org.apache.skywalking</groupId>
diff --git a/oap-server/server-core/pom.xml b/oap-server/server-core/pom.xml
index 26f852a..5481b2c 100644
--- a/oap-server/server-core/pom.xml
+++ b/oap-server/server-core/pom.xml
@@ -74,6 +74,7 @@
             <artifactId>apm-network</artifactId>
             <version>${project.version}</version>
         </dependency>
+
         <dependency>
             <groupId>org.apache.skywalking</groupId>
             <artifactId>server-testing</artifactId>
@@ -112,17 +113,17 @@
             <plugin>
                 <groupId>org.xolstice.maven.plugins</groupId>
                 <artifactId>protobuf-maven-plugin</artifactId>
-                <version>0.5.0</version>
+                <version>0.6.1</version>
                 <configuration>
                     <!--
                       The version of protoc must match protobuf-java. If you don't depend on
                       protobuf-java directly, you will be transitively depending on the
                       protobuf-java version that grpc depends on.
                     -->
-                    <protocArtifact>com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
+                    <protocArtifact>com.google.protobuf:protoc:3.11.0:exe:${os.detected.classifier}
                     </protocArtifact>
                     <pluginId>grpc-java</pluginId>
-                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier}
+                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.26.0:exe:${os.detected.classifier}
                     </pluginArtifact>
                 </configuration>
                 <executions>
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/ServiceInstanceTopologyBuilder.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/ServiceInstanceTopologyBuilder.java
index 9f507a1..baa2810 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/ServiceInstanceTopologyBuilder.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/ServiceInstanceTopologyBuilder.java
@@ -18,7 +18,7 @@
 
 package org.apache.skywalking.oap.server.core.query;
 
-import groovy.util.logging.Slf4j;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.CoreModule;
 import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache;
diff --git a/oap-server/server-library/library-buffer/pom.xml b/oap-server/server-library/library-buffer/pom.xml
index d8b6553..b4d5e3b 100644
--- a/oap-server/server-library/library-buffer/pom.xml
+++ b/oap-server/server-library/library-buffer/pom.xml
@@ -37,21 +37,5 @@
             <groupId>org.apache.skywalking</groupId>
             <artifactId>apm-network</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-netty</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-protobuf</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-stub</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-tcnative-boringssl-static</artifactId>
-        </dependency>
     </dependencies>
 </project>
\ No newline at end of file
diff --git a/oap-server/server-library/library-client/pom.xml b/oap-server/server-library/library-client/pom.xml
index b921669..40a2eb8 100755
--- a/oap-server/server-library/library-client/pom.xml
+++ b/oap-server/server-library/library-client/pom.xml
@@ -34,12 +34,12 @@
             <artifactId>grpc-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>HikariCP</artifactId>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.shardingjdbc</groupId>
-            <artifactId>sharding-jdbc-core</artifactId>
+            <groupId>com.zaxxer</groupId>
+            <artifactId>HikariCP</artifactId>
         </dependency>
         <dependency>
             <groupId>commons-dbcp</groupId>
diff --git a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java
index f49724e..4fde4f8 100644
--- a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java
+++ b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java
@@ -38,7 +38,6 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import javax.net.ssl.SSLContext;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpStatus;
@@ -55,6 +54,7 @@ import org.apache.http.impl.client.BasicCredentialsProvider;
 import org.apache.http.nio.entity.NStringEntity;
 import org.apache.http.ssl.SSLContextBuilder;
 import org.apache.http.ssl.SSLContexts;
+import org.apache.skywalking.apm.util.StringUtil;
 import org.apache.skywalking.oap.server.library.client.Client;
 import org.apache.skywalking.oap.server.library.client.request.InsertRequest;
 import org.apache.skywalking.oap.server.library.client.request.UpdateRequest;
@@ -123,11 +123,11 @@ public class ElasticSearchClient implements Client {
 
     protected RestHighLevelClient createClient(final List<HttpHost> pairsList) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException, KeyManagementException {
         RestClientBuilder builder;
-        if (StringUtils.isNotBlank(user) && StringUtils.isNotBlank(password)) {
+        if (StringUtil.isNotEmpty(user) && StringUtil.isNotEmpty(password)) {
             final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
             credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(user, password));
 
-            if (StringUtils.isBlank(trustStorePath)) {
+            if (StringUtil.isEmpty(trustStorePath)) {
                 builder = RestClient.builder(pairsList.toArray(new HttpHost[0]))
                     .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
             } else {
@@ -399,7 +399,7 @@ public class ElasticSearchClient implements Client {
     }
 
     public String formatIndexName(String indexName) {
-        if (StringUtils.isNotEmpty(namespace)) {
+        if (StringUtil.isNotEmpty(namespace)) {
             return namespace + "_" + indexName;
         }
         return indexName;
diff --git a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/grpc/GRPCClient.java b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/grpc/GRPCClient.java
index 485c447..7ea0e27 100644
--- a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/grpc/GRPCClient.java
+++ b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/grpc/GRPCClient.java
@@ -42,7 +42,7 @@ public class GRPCClient implements Client {
     }
 
     @Override public void connect() {
-        channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build();
+        channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext().build();
     }
 
     @Override public void shutdown() {
diff --git a/oap-server/server-library/library-client/src/test/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ITElasticSearchClient.java b/oap-server/server-library/library-client/src/test/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ITElasticSearchClient.java
index edc9a03..cc267c0 100644
--- a/oap-server/server-library/library-client/src/test/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ITElasticSearchClient.java
+++ b/oap-server/server-library/library-client/src/test/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ITElasticSearchClient.java
@@ -26,8 +26,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.http.client.methods.HttpGet;
+import org.apache.skywalking.apm.util.StringUtil;
 import org.elasticsearch.action.admin.indices.get.GetIndexRequest;
 import org.elasticsearch.action.bulk.BulkProcessor;
 import org.elasticsearch.action.get.GetResponse;
@@ -247,7 +247,7 @@ public class ITElasticSearchClient {
     }
 
     private JsonObject undoFormatIndexName(JsonObject index) {
-        if (StringUtils.isNotEmpty(namespace) && index != null && index.size() > 0) {
+        if (StringUtil.isNotEmpty(namespace) && index != null && index.size() > 0) {
             logger.info("UndoFormatIndexName before " + index.toString());
             String namespacePrefix = namespace + "_";
             index.entrySet().forEach(entry -> {
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandlerTestMain.java b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandlerTestMain.java
index 8a7caa6..a3f0fea 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandlerTestMain.java
+++ b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/envoy/MetricServiceGRPCHandlerTestMain.java
@@ -32,7 +32,7 @@ import java.util.concurrent.*;
 public class MetricServiceGRPCHandlerTestMain {
 
     public static void main(String[] args) throws InterruptedException {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         MetricsServiceGrpc.MetricsServiceStub stub = MetricsServiceGrpc.newStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/receiver-proto/pom.xml b/oap-server/server-receiver-plugin/receiver-proto/pom.xml
index 20dc673..7a3dc7d 100644
--- a/oap-server/server-receiver-plugin/receiver-proto/pom.xml
+++ b/oap-server/server-receiver-plugin/receiver-proto/pom.xml
@@ -33,7 +33,7 @@
             <plugin>
                 <groupId>org.xolstice.maven.plugins</groupId>
                 <artifactId>protobuf-maven-plugin</artifactId>
-                <version>0.5.0</version>
+                <version>${protobuf-maven-plugin.version}</version>
                 <configuration>
                     <!--
                       The version of protoc must match protobuf-java. If you don't depend on
diff --git a/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/handler/IstioTelemetryHandlerMainTest.java b/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/handler/IstioTelemetryHandlerMainTest.java
index 79e501f..d0dfe78 100644
--- a/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/handler/IstioTelemetryHandlerMainTest.java
+++ b/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/handler/IstioTelemetryHandlerMainTest.java
@@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit;
 public class IstioTelemetryHandlerMainTest {
 
     public static void main(String[] args) throws InterruptedException {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         HandleMetricServiceGrpc.HandleMetricServiceBlockingStub stub = HandleMetricServiceGrpc.newBlockingStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java
index 7410305..5a09022 100644
--- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java
+++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java
@@ -29,7 +29,7 @@ import org.apache.skywalking.apm.network.language.agent.*;
 public class JVMMetricsServiceHandlerMainTest {
 
     public static void main(String[] args) {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         JVMMetricsServiceGrpc.JVMMetricsServiceBlockingStub stub = JVMMetricsServiceGrpc.newBlockingStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ApplicationRegisterHandlerTestCase.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ApplicationRegisterHandlerTestCase.java
index 474d07a..f2763bd 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ApplicationRegisterHandlerTestCase.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ApplicationRegisterHandlerTestCase.java
@@ -31,7 +31,7 @@ public class ApplicationRegisterHandlerTestCase {
     private static final Logger logger = LoggerFactory.getLogger(ApplicationRegisterHandlerTestCase.class);
 
     public static void main(String[] args) {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         ApplicationRegisterServiceGrpc.ApplicationRegisterServiceBlockingStub stub = ApplicationRegisterServiceGrpc.newBlockingStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandlerTestCase.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandlerTestCase.java
index 20a0226..a4bbd22 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandlerTestCase.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandlerTestCase.java
@@ -30,7 +30,7 @@ public class InstanceDiscoveryServiceHandlerTestCase {
     private static final Logger logger = LoggerFactory.getLogger(InstanceDiscoveryServiceHandlerTestCase.class);
 
     public static void main(String[] args) {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         InstanceDiscoveryServiceGrpc.InstanceDiscoveryServiceBlockingStub stub = InstanceDiscoveryServiceGrpc.newBlockingStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java
index 45365a7..96d79f2 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java
@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.network.language.agent.*;
 public class InstanceHeartBeatTestCase {
 
     public static void main(String[] args) {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         InstanceDiscoveryServiceGrpc.InstanceDiscoveryServiceBlockingStub stub = InstanceDiscoveryServiceGrpc.newBlockingStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/NetworkAddressRegisterServiceHandlerTestCase.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/NetworkAddressRegisterServiceHandlerTestCase.java
index 52ecded..65add44 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/NetworkAddressRegisterServiceHandlerTestCase.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/NetworkAddressRegisterServiceHandlerTestCase.java
@@ -30,7 +30,7 @@ public class NetworkAddressRegisterServiceHandlerTestCase {
     private static final Logger logger = LoggerFactory.getLogger(NetworkAddressRegisterServiceHandlerTestCase.class);
 
     public static void main(String[] args) {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         NetworkAddressRegisterServiceGrpc.NetworkAddressRegisterServiceBlockingStub stub = NetworkAddressRegisterServiceGrpc.newBlockingStub(channel);
 
diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ServiceNameDiscoveryHandlerTestCase.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ServiceNameDiscoveryHandlerTestCase.java
index b324d9c..e74bb33 100644
--- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ServiceNameDiscoveryHandlerTestCase.java
+++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/ServiceNameDiscoveryHandlerTestCase.java
@@ -30,7 +30,7 @@ public class ServiceNameDiscoveryHandlerTestCase {
     private static final Logger logger = LoggerFactory.getLogger(ServiceNameDiscoveryHandlerTestCase.class);
 
     public static void main(String[] args) {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
         ServiceNameDiscoveryServiceGrpc.ServiceNameDiscoveryServiceBlockingStub stub = ServiceNameDiscoveryServiceGrpc.newBlockingStub(channel);
 
         ServiceNameCollection.Builder serviceNameCollection = ServiceNameCollection.newBuilder();
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/mock/AgentDataMock.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/mock/AgentDataMock.java
index e6010f7..8d882aa 100644
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/mock/AgentDataMock.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/mock/AgentDataMock.java
@@ -35,7 +35,7 @@ public class AgentDataMock {
     private static boolean IS_COMPLETED = false;
 
     public static void main(String[] args) throws InterruptedException {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
 
         RegisterMock registerMock = new RegisterMock(channel);
 
@@ -85,7 +85,7 @@ public class AgentDataMock {
     }
 
     private static StreamObserver<UpstreamSegment> createStreamObserver() {
-        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext(true).build();
+        ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 11800).usePlaintext().build();
         TraceSegmentServiceGrpc.TraceSegmentServiceStub stub = TraceSegmentServiceGrpc.newStub(channel);
         return stub.collect(new StreamObserver<Downstream>() {
             @Override public void onNext(Downstream downstream) {
diff --git a/pom.xml b/pom.xml
index 589a144..093a65e 100755
--- a/pom.xml
+++ b/pom.xml
@@ -187,6 +187,12 @@
         <junit.version>4.12</junit.version>
         <mockito-all.version>1.10.19</mockito-all.version>
 
+        <!-- core lib dependency -->
+        <grpc.version>1.26.0</grpc.version>
+        <os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>
+        <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
+        <netty-tcnative-boringssl-static.version>2.0.25.Final</netty-tcnative-boringssl-static.version>
+
         <!-- Plugin versions -->
         <docker.plugin.version>0.4.13</docker.plugin.version>
         <takari-maven-plugin.version>0.6.1</takari-maven-plugin.version>
@@ -271,6 +277,13 @@
     </dependencyManagement>
 
     <build>
+        <extensions>
+            <extension>
+                <groupId>kr.motd.maven</groupId>
+                <artifactId>os-maven-plugin</artifactId>
+                <version>${os-maven-plugin.version}</version>
+            </extension>
+        </extensions>
         <pluginManagement>
             <plugins>
                 <!-- mvn -N io.takari:maven:wrapper -Dmaven=3.5.4 -->