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 2020/09/29 02:34:42 UTC
[skywalking] branch master updated: Support JDK 11 compiling and
upgrade dependencies (#5579)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 103cf00 Support JDK 11 compiling and upgrade dependencies (#5579)
103cf00 is described below
commit 103cf00672c4ed61b17626314ab2b6b31f1dc9c4
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Sep 29 10:34:21 2020 +0800
Support JDK 11 compiling and upgrade dependencies (#5579)
* Upgrade dependencies and make the JDK11 compiling passed.
* Update license and fix license check file.
* Add CI for JDK11 compiling.
* Update doc.
---
.github/workflows/ci-it.yaml | 13 ++
apm-application-toolkit/pom.xml | 4 -
apm-commons/pom.xml | 1 -
apm-protocol/apm-network/pom.xml | 6 +
apm-sniffer/apm-agent-core/pom.xml | 6 +-
.../agent/core/logging/core/WriterFactoryTest.java | 2 -
.../apm/agent/core/meter/CounterTest.java | 2 +-
.../skywalking/apm/agent/core/meter/GaugeTest.java | 9 +-
.../apm/agent/core/meter/HistogramTest.java | 15 +-
.../apm/agent/core/meter/MeterIdTest.java | 9 +-
.../apm-sdk-plugin/armeria-0.85.x-plugin/pom.xml | 3 -
.../apm/plugin/jdbc/SWCallableStatementTest.java | 8 +-
.../apm/plugin/jdbc/SwPreparedStatementTest.java | 4 +-
.../apm-sdk-plugin/lettuce-5.x-plugin/pom.xml | 1 -
apm-sniffer/apm-sdk-plugin/pom.xml | 6 +
.../apm-sdk-plugin/redisson-3.x-plugin/pom.xml | 1 -
.../v3/RedisConnectionMethodInterceptorTest.java | 12 +-
.../TransportClientHandlerInterceptorTest.java | 2 +-
.../v1/TransportClientHandlerInterceptorTest.java | 2 +-
.../spring/mvc/v3/GetBeanInterceptorTest.java | 64 -------
.../spring-webflux-5.x-webclient-plugin/pom.xml | 4 -
.../apm-sdk-plugin/struts2-2.x-plugin/pom.xml | 14 ++
.../meter/CounterConstructInterceptorTest.java | 13 +-
.../meter/GaugeConstructInterceptorTest.java | 12 +-
.../meter/HistogramConstructInterceptorTest.java | 13 +-
.../gateway-2.0.x-plugin/pom.xml | 1 -
.../gateway-2.1.x-plugin/pom.xml | 1 -
.../spring-webflux-5.x-plugin/pom.xml | 4 -
apm-webapp/pom.xml | 15 +-
dist-material/release-docs/LICENSE | 13 +-
docs/en/guides/How-to-build.md | 4 +-
.../provider/meter/process/MeterBaseTest.java | 37 ++--
.../provider/meter/process/MeterBuilderTest.java | 12 +-
.../meter/process/MeterProcessContextTest.java | 4 +-
.../provider/meter/process/MeterProcessorTest.java | 29 ++--
oap-server/pom.xml | 16 +-
.../core/alarm/provider/NotifyHandlerTest.java | 2 +-
.../consul/ClusterModuleConsulProviderTest.java | 2 +-
.../plugin/etcd/ClusterModuleEtcdProviderTest.java | 119 -------------
.../cluster/plugin/etcd/EtcdCoordinatorTest.java | 192 ---------------------
.../ClusterModuleKubernetesProviderTest.java | 2 +-
.../kubernetes/KubernetesCoordinatorTest.java | 2 +-
.../nacos/ClusterModuleNacosProviderTest.java | 109 ------------
.../ConsulConfigurationWatcherRegisterTest.java | 17 +-
.../configuration-etcd/pom.xml | 13 ++
.../etcd/EtcdConfigWatcherRegisterTest.java | 134 --------------
.../ConfigmapConfigWatcherRegisterTest.java | 2 +-
.../ConfigmapConfigurationProviderTest.java | 2 +-
.../oap/server/core/analysis/TimeBucketTest.java | 4 +-
.../core/storage/model/StorageModelsTest.java | 2 +
oap-server/server-library/library-util/pom.xml | 5 +-
.../envoy-metrics-receiver-plugin/pom.xml | 10 +-
.../rest/BrowserReportServletHandlerTest.java | 4 +-
.../rest/TraceSegmentReportServletHandlerTest.java | 6 +-
.../exporter/test/ProfileSnapshotExporterTest.java | 2 +-
pom.xml | 50 ++++--
test/plugin/scenarios/gson-scenario/pom.xml | 1 -
test/plugin/scenarios/hystrix-scenario/pom.xml | 2 -
.../known-oap-backend-dependencies-es7.txt | 28 ++-
.../known-oap-backend-dependencies.txt | 28 ++-
60 files changed, 289 insertions(+), 811 deletions(-)
diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 7d11580..bde6ff0 100644
--- a/.github/workflows/ci-it.yaml
+++ b/.github/workflows/ci-it.yaml
@@ -48,6 +48,19 @@ jobs:
- name: 'Check Dependencies Licenses'
run: tools/dependencies/check-LICENSE.sh
+ CI-on-JDK11:
+ runs-on: ubuntu-18.04
+ timeout-minutes: 90
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - uses: actions/setup-java@v1
+ with:
+ java-version: 11
+ - name: 'Install & Test'
+ run: ./mvnw --batch-mode -P"agent,backend,ui,dist" clean verify install
+
CI-on-Windows:
runs-on: windows-latest
timeout-minutes: 90
diff --git a/apm-application-toolkit/pom.xml b/apm-application-toolkit/pom.xml
index b6fc988..ec762d4 100644
--- a/apm-application-toolkit/pom.xml
+++ b/apm-application-toolkit/pom.xml
@@ -26,10 +26,6 @@
<artifactId>apm-application-toolkit</artifactId>
<packaging>pom</packaging>
- <properties>
- <compiler.version>1.8</compiler.version>
- </properties>
-
<modules>
<module>apm-toolkit-log4j-1.x</module>
<module>apm-toolkit-log4j-2.x</module>
diff --git a/apm-commons/pom.xml b/apm-commons/pom.xml
index d8a3c7c..5d772be 100644
--- a/apm-commons/pom.xml
+++ b/apm-commons/pom.xml
@@ -37,6 +37,5 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <compiler.version>1.8</compiler.version>
</properties>
</project>
diff --git a/apm-protocol/apm-network/pom.xml b/apm-protocol/apm-network/pom.xml
index a5497ec..a8fc525 100644
--- a/apm-protocol/apm-network/pom.xml
+++ b/apm-protocol/apm-network/pom.xml
@@ -52,6 +52,12 @@
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>${netty-tcnative-boringssl-static.version}</version>
</dependency>
+ <dependency> <!-- necessary for Java 9+ -->
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>annotations-api</artifactId>
+ <version>${org.apache.tomcat.annotations-api.version}</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/apm-sniffer/apm-agent-core/pom.xml b/apm-sniffer/apm-agent-core/pom.xml
index 0d1d27f..8056db3 100644
--- a/apm-sniffer/apm-agent-core/pom.xml
+++ b/apm-sniffer/apm-agent-core/pom.xml
@@ -34,7 +34,6 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<guava.version>20.0</guava.version>
- <bytebuddy.version>1.10.14</bytebuddy.version>
<wiremock.version>2.6.0</wiremock.version>
<netty-tcnative-boringssl-static.version>2.0.7.Final</netty-tcnative-boringssl-static.version>
<os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
@@ -68,6 +67,11 @@
<artifactId>byte-buddy</artifactId>
<version>${bytebuddy.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${gson.version}</version>
+ </dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java
index d866d42..0cfd717 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/logging/core/WriterFactoryTest.java
@@ -49,7 +49,6 @@ public class WriterFactoryTest {
assertTrue(AgentPackagePath.isPathFound());
IWriter logWriter = WriterFactory.getLogWriter();
- PowerMockito.verifyStatic();
assertTrue(logWriter instanceof SystemOutWriter);
}
@@ -65,7 +64,6 @@ public class WriterFactoryTest {
assertTrue(AgentPackagePath.isPathFound());
IWriter logWriter = WriterFactory.getLogWriter();
- PowerMockito.verifyStatic();
assertTrue(logWriter instanceof FileWriter);
}
}
\ No newline at end of file
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java
index 2df98aa..117e449 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/CounterTest.java
@@ -28,11 +28,11 @@ import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
+import org.powermock.reflect.Whitebox;
public class CounterTest {
@Rule
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java
index de0441d..e0efaf5 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/GaugeTest.java
@@ -18,6 +18,9 @@
package org.apache.skywalking.apm.agent.core.meter;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.skywalking.apm.agent.core.boot.ServiceManager;
import org.apache.skywalking.apm.agent.core.test.tools.AgentServiceRule;
import org.apache.skywalking.apm.network.language.agent.v3.Label;
@@ -28,11 +31,7 @@ import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
+import org.powermock.reflect.Whitebox;
public class GaugeTest {
@Rule
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java
index cab8626..bd6b2b8 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/HistogramTest.java
@@ -18,6 +18,9 @@
package org.apache.skywalking.apm.agent.core.meter;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.skywalking.apm.agent.core.boot.ServiceManager;
import org.apache.skywalking.apm.agent.core.test.tools.AgentServiceRule;
import org.apache.skywalking.apm.network.language.agent.v3.Label;
@@ -28,11 +31,7 @@ import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
+import org.powermock.reflect.Whitebox;
public class HistogramTest {
@Rule
@@ -66,7 +65,11 @@ public class HistogramTest {
final List<Label> labels = Arrays.asList(Label.newBuilder().setName("k1").setValue("v1").build());
// Check histogram message
- final Histogram histogram = MeterFactory.histogram("test").steps(Arrays.asList(2d, 5d)).minValue(1d).tag("k1", "v1").build();
+ final Histogram histogram = MeterFactory.histogram("test")
+ .steps(Arrays.asList(2d, 5d))
+ .minValue(1d)
+ .tag("k1", "v1")
+ .build();
histogram.addValue(1);
histogram.addValue(3);
histogram.addValue(3);
diff --git a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/MeterIdTest.java b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/MeterIdTest.java
index 11512e6..7ccc3a7 100644
--- a/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/MeterIdTest.java
+++ b/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/meter/MeterIdTest.java
@@ -18,14 +18,13 @@
package org.apache.skywalking.apm.agent.core.meter;
-import org.apache.skywalking.apm.network.language.agent.v3.Label;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
-
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import org.apache.skywalking.apm.network.language.agent.v3.Label;
+import org.junit.Assert;
+import org.junit.Test;
+import org.powermock.reflect.Whitebox;
public class MeterIdTest {
diff --git a/apm-sniffer/apm-sdk-plugin/armeria-0.85.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/armeria-0.85.x-plugin/pom.xml
index abbc932..6e6adb5 100644
--- a/apm-sniffer/apm-sdk-plugin/armeria-0.85.x-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/armeria-0.85.x-plugin/pom.xml
@@ -28,9 +28,6 @@
<name>armeria-0.85.x-plugin</name>
<packaging>jar</packaging>
<description>SkyWalking Agent Plugin for Armeria 0.85.0 ~ 0.98.0</description>
- <properties>
- <compiler.version>1.8</compiler.version>
- </properties>
<dependencies>
<dependency>
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java
index 31dd18f..d089522 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SWCallableStatementTest.java
@@ -325,10 +325,10 @@ public class SWCallableStatementTest extends AbstractStatementTest {
verify(mysqlCallableStatement).setBlob(anyInt(), any(InputStream.class), anyLong());
verify(mysqlCallableStatement).setClob(anyInt(), any(Clob.class));
verify(mysqlCallableStatement).setClob(anyInt(), any(Reader.class));
- verify(mysqlCallableStatement).setClob(anyInt(), any(Reader.class), anyInt());
+ verify(mysqlCallableStatement).setClob(anyInt(), any(Reader.class), anyLong());
verify(mysqlCallableStatement).setNString(anyInt(), anyString());
verify(mysqlCallableStatement).setNCharacterStream(anyInt(), any(Reader.class));
- verify(mysqlCallableStatement).setNCharacterStream(anyInt(), any(Reader.class), anyInt());
+ verify(mysqlCallableStatement).setNCharacterStream(anyInt(), any(Reader.class), anyLong());
verify(mysqlCallableStatement).setNClob(27, nClob);
verify(mysqlCallableStatement).setNClob(28, reader, 1);
verify(mysqlCallableStatement).setObject(anyInt(), Matchers.anyObject());
@@ -377,10 +377,10 @@ public class SWCallableStatementTest extends AbstractStatementTest {
verify(mysqlCallableStatement).setBlob(anyString(), any(InputStream.class), anyLong());
verify(mysqlCallableStatement).setClob(anyString(), any(Clob.class));
verify(mysqlCallableStatement).setClob(anyString(), any(Reader.class));
- verify(mysqlCallableStatement).setClob(anyString(), any(Reader.class), anyInt());
+ verify(mysqlCallableStatement).setClob(anyString(), any(Reader.class), anyLong());
verify(mysqlCallableStatement).setNString(anyString(), anyString());
verify(mysqlCallableStatement).setNCharacterStream(anyString(), any(Reader.class));
- verify(mysqlCallableStatement).setNCharacterStream(anyString(), any(Reader.class), anyInt());
+ verify(mysqlCallableStatement).setNCharacterStream(anyString(), any(Reader.class), anyLong());
verify(mysqlCallableStatement).setNClob(27, nClob);
verify(mysqlCallableStatement).setNClob(28, reader, 1);
verify(mysqlCallableStatement).setObject(anyString(), Matchers.anyObject());
diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java
index 78ff7b5..fee705c 100644
--- a/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java
+++ b/apm-sniffer/apm-sdk-plugin/jdbc-commons/src/test/java/org/apache/skywalking/apm/plugin/jdbc/SwPreparedStatementTest.java
@@ -206,10 +206,10 @@ public class SwPreparedStatementTest extends AbstractStatementTest {
verify(mysqlPreparedStatement).setBlob(anyInt(), any(InputStream.class), anyLong());
verify(mysqlPreparedStatement).setClob(anyInt(), any(Clob.class));
verify(mysqlPreparedStatement).setClob(anyInt(), any(Reader.class));
- verify(mysqlPreparedStatement).setClob(anyInt(), any(Reader.class), anyInt());
+ verify(mysqlPreparedStatement).setClob(anyInt(), any(Reader.class), anyLong());
verify(mysqlPreparedStatement).setNString(anyInt(), anyString());
verify(mysqlPreparedStatement).setNCharacterStream(anyInt(), any(Reader.class));
- verify(mysqlPreparedStatement).setNCharacterStream(anyInt(), any(Reader.class), anyInt());
+ verify(mysqlPreparedStatement).setNCharacterStream(anyInt(), any(Reader.class), anyLong());
verify(mysqlPreparedStatement).setNClob(27, nClob);
verify(mysqlPreparedStatement).setNClob(28, reader, 1);
verify(mysqlPreparedStatement).setObject(anyInt(), Matchers.anyObject());
diff --git a/apm-sniffer/apm-sdk-plugin/lettuce-5.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/lettuce-5.x-plugin/pom.xml
index 20aa6d3..fa757b3 100644
--- a/apm-sniffer/apm-sdk-plugin/lettuce-5.x-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/lettuce-5.x-plugin/pom.xml
@@ -32,7 +32,6 @@
<url>http://maven.apache.org</url>
<properties>
<lettuce-core.version>5.1.3.RELEASE</lettuce-core.version>
- <compiler.version>1.8</compiler.version>
</properties>
<dependencies>
diff --git a/apm-sniffer/apm-sdk-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/pom.xml
index 78e6696..383e55f 100644
--- a/apm-sniffer/apm-sdk-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/pom.xml
@@ -128,6 +128,12 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy</artifactId>
+ <version>${bytebuddy.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-util</artifactId>
<version>${project.version}</version>
diff --git a/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/pom.xml
index fcbceb8..c278012 100644
--- a/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/pom.xml
@@ -41,6 +41,5 @@
<version>${redisson.version}</version>
<scope>provided</scope>
</dependency>
-
</dependencies>
</project>
\ No newline at end of file
diff --git a/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/redisson/v3/RedisConnectionMethodInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/redisson/v3/RedisConnectionMethodInterceptorTest.java
index 513564b..c315ec0 100644
--- a/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/redisson/v3/RedisConnectionMethodInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/redisson-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/redisson/v3/RedisConnectionMethodInterceptorTest.java
@@ -30,7 +30,6 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.modules.junit4.PowerMockRunnerDelegate;
import org.redisson.config.Config;
@@ -45,9 +44,7 @@ public class RedisConnectionMethodInterceptorTest {
@Rule
public AgentServiceRule serviceRule = new AgentServiceRule();
- @Mock
private MockInstance mockRedisClientInstance;
- @Mock
private MockInstance mockRedisConnectionInstance;
private RedisConnectionMethodInterceptor interceptor;
@@ -67,8 +64,8 @@ public class RedisConnectionMethodInterceptorTest {
}
@SuppressWarnings({
- "rawtypes",
- "unchecked"
+ "rawtypes",
+ "unchecked"
})
@Before
public void setUp() throws Exception {
@@ -80,8 +77,9 @@ public class RedisConnectionMethodInterceptorTest {
@Test
public void testIntercept() throws Throwable {
- interceptor.onConstruct(mockRedisConnectionInstance, new Object[]{mockRedisClientInstance});
- MatcherAssert.assertThat((String) mockRedisConnectionInstance.getSkyWalkingDynamicField(), Is.is("127.0.0.1:6379;127.0.0.1:6378;"));
+ interceptor.onConstruct(mockRedisConnectionInstance, new Object[] {mockRedisClientInstance});
+ MatcherAssert.assertThat(
+ (String) mockRedisConnectionInstance.getSkyWalkingDynamicField(), Is.is("127.0.0.1:6379;127.0.0.1:6378;"));
}
@Test
diff --git a/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-0.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/TransportClientHandlerInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-0.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/TransportClientHandlerInterceptorTest.java
index 3a352ba..16355be 100644
--- a/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-0.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/TransportClientHandlerInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-0.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/TransportClientHandlerInterceptorTest.java
@@ -91,7 +91,7 @@ public class TransportClientHandlerInterceptorTest {
nextInterceptor = new TransportClientHandlerInterceptor();
PowerMockito.mock(Invocation.class);
when(operationMeta.getSchemaMeta()).thenReturn(schemaMeta);
- when(endpoint.getAddress()).thenReturn("0.0.0.0:7777");
+ when(endpoint.toString()).thenReturn("/bmi");
when(invocation.getEndpoint()).thenReturn(endpoint);
when(invocation.getMicroserviceQualifiedName()).thenReturn("consumerTest");
when(operationMeta.getOperationPath()).thenReturn("/bmi");
diff --git a/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-1.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/v1/TransportClientHandlerInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-1.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/v1/TransportClientHandlerInterceptorTest.java
index 595e49d..0095d02 100644
--- a/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-1.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/v1/TransportClientHandlerInterceptorTest.java
+++ b/apm-sniffer/apm-sdk-plugin/servicecomb-plugin/servicecomb-java-chassis-1.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/servicecomb/v1/TransportClientHandlerInterceptorTest.java
@@ -91,7 +91,7 @@ public class TransportClientHandlerInterceptorTest {
nextInterceptor = new TransportClientHandlerInterceptor();
PowerMockito.mock(Invocation.class);
when(operationMeta.getSchemaMeta()).thenReturn(schemaMeta);
- when(endpoint.getAddress()).thenReturn("0.0.0.0:7777");
+ when(endpoint.toString()).thenReturn("/bmi");
when(invocation.getEndpoint()).thenReturn(endpoint);
when(invocation.getMicroserviceQualifiedName()).thenReturn("consumerTest");
when(operationMeta.getOperationPath()).thenReturn("/bmi");
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spring/mvc/v3/GetBeanInterceptorTest.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spring/mvc/v3/GetBeanInterceptorTest.java
deleted file mode 100644
index b4ec3f5..0000000
--- a/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-3.x-plugin/src/test/java/org/apache/skywalking/apm/plugin/spring/mvc/v3/GetBeanInterceptorTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.apm.plugin.spring.mvc.v3;
-
-import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
-import org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache;
-import org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor.GetBeanInterceptor;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Matchers;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.web.context.request.NativeWebRequest;
-
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public class GetBeanInterceptorTest {
-
- @Mock
- private EnhancedInstance enhancedInstance;
-
- @Mock
- private NativeWebRequest request;
-
- @Mock
- private EnhancedInstance enhanceRet;
-
- private GetBeanInterceptor interceptor;
-
- @Before
- public void setUp() {
- interceptor = new GetBeanInterceptor();
-
- when(enhanceRet.getSkyWalkingDynamicField()).thenReturn(new EnhanceRequireObjectCache());
- when(enhancedInstance.getSkyWalkingDynamicField()).thenReturn(request);
- }
-
- @Test
- public void testResultIsNotEnhanceInstance() throws Throwable {
- interceptor.afterMethod(enhancedInstance, null, null, null, new Object());
-
- verify(enhanceRet, times(0)).setSkyWalkingDynamicField(Matchers.any());
- }
-}
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-webflux-5.x-webclient-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-webflux-5.x-webclient-plugin/pom.xml
index 076cfa0..6948125 100644
--- a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-webflux-5.x-webclient-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-webflux-5.x-webclient-plugin/pom.xml
@@ -37,8 +37,4 @@
<scope>provided</scope>
</dependency>
</dependencies>
-
- <properties>
- <compiler.version>1.8</compiler.version>
- </properties>
</project>
\ No newline at end of file
diff --git a/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml
index 5c54b93..32fe5cf 100644
--- a/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/struts2-2.x-plugin/pom.xml
@@ -43,6 +43,14 @@
<artifactId>struts2-core</artifactId>
<version>${struts2-core.version}</version>
<scope>provided</scope>
+ <exclusions>
+ <!-- The default javassist is not compatible with 3.x power mock. -->
+ <!-- Manually add the dependency back for test below. -->
+ <exclusion>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
@@ -56,5 +64,11 @@
<version>${jsp-api.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <version>3.24.0-GA</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java
index 38838db..15c144d 100644
--- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java
+++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/CounterConstructInterceptorTest.java
@@ -18,6 +18,8 @@
package org.apache.skywalking.apm.toolkit.activation.meter;
+import java.util.Arrays;
+import java.util.Map;
import org.apache.skywalking.apm.agent.core.boot.ServiceManager;
import org.apache.skywalking.apm.agent.core.meter.BaseMeter;
import org.apache.skywalking.apm.agent.core.meter.MeterService;
@@ -30,10 +32,7 @@ import org.apache.skywalking.apm.toolkit.meter.MeterId;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
-
-import java.util.Arrays;
-import java.util.Map;
+import org.powermock.reflect.Whitebox;
public class CounterConstructInterceptorTest {
@@ -47,10 +46,12 @@ public class CounterConstructInterceptorTest {
public void testConstruct() {
counterConstructInterceptor.onConstruct(enhancedInstance, new Object[] {
new MeterId("test", MeterId.MeterType.COUNTER, Arrays.asList(new MeterId.Tag("k1", "v1"))),
- Counter.Mode.RATE});
+ Counter.Mode.RATE
+ });
final MeterService service = ServiceManager.INSTANCE.findService(MeterService.class);
- final Map<MeterId, BaseMeter> meterMap = (Map<MeterId, BaseMeter>) Whitebox.getInternalState(service, "meterMap");
+ final Map<MeterId, BaseMeter> meterMap = (Map<MeterId, BaseMeter>) Whitebox.getInternalState(
+ service, "meterMap");
Assert.assertEquals(1, meterMap.size());
final BaseMeter meterData = meterMap.values().iterator().next();
diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java
index ff4555f..7c7107b 100644
--- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java
+++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/GaugeConstructInterceptorTest.java
@@ -18,6 +18,9 @@
package org.apache.skywalking.apm.toolkit.activation.meter;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.function.Supplier;
import org.apache.skywalking.apm.agent.core.boot.ServiceManager;
import org.apache.skywalking.apm.agent.core.meter.BaseMeter;
import org.apache.skywalking.apm.agent.core.meter.Gauge;
@@ -30,11 +33,7 @@ import org.apache.skywalking.apm.toolkit.meter.MeterId;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Supplier;
+import org.powermock.reflect.Whitebox;
public class GaugeConstructInterceptorTest {
@@ -52,7 +51,8 @@ public class GaugeConstructInterceptorTest {
});
final MeterService service = ServiceManager.INSTANCE.findService(MeterService.class);
- final Map<MeterId, BaseMeter> meterMap = (Map<MeterId, BaseMeter>) Whitebox.getInternalState(service, "meterMap");
+ final Map<MeterId, BaseMeter> meterMap = (Map<MeterId, BaseMeter>) Whitebox.getInternalState(
+ service, "meterMap");
Assert.assertEquals(1, meterMap.size());
final Object field = meterMap.values().iterator().next();
diff --git a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java
index fc65463..62c43b5 100644
--- a/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java
+++ b/apm-sniffer/apm-toolkit-activation/apm-toolkit-meter-activation/src/test/java/org/apache/skywalking/apm/toolkit/activation/meter/HistogramConstructInterceptorTest.java
@@ -18,6 +18,8 @@
package org.apache.skywalking.apm.toolkit.activation.meter;
+import java.util.Arrays;
+import java.util.Map;
import org.apache.skywalking.apm.agent.core.boot.ServiceManager;
import org.apache.skywalking.apm.agent.core.meter.BaseMeter;
import org.apache.skywalking.apm.agent.core.meter.Histogram;
@@ -30,10 +32,7 @@ import org.apache.skywalking.apm.toolkit.meter.MeterId;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
-
-import java.util.Arrays;
-import java.util.Map;
+import org.powermock.reflect.Whitebox;
public class HistogramConstructInterceptorTest {
@@ -47,10 +46,12 @@ public class HistogramConstructInterceptorTest {
public void testConstruct() {
histogramConstructInterceptor.onConstruct(enhancedInstance, new Object[] {
new MeterId("test", MeterId.MeterType.HISTOGRAM, Arrays.asList(new MeterId.Tag("k1", "v1"))),
- Arrays.asList(1d, 5d, 10d)});
+ Arrays.asList(1d, 5d, 10d)
+ });
final MeterService service = ServiceManager.INSTANCE.findService(MeterService.class);
- final Map<MeterId, BaseMeter> meterMap = (Map<MeterId, BaseMeter>) Whitebox.getInternalState(service, "meterMap");
+ final Map<MeterId, BaseMeter> meterMap = (Map<MeterId, BaseMeter>) Whitebox.getInternalState(
+ service, "meterMap");
Assert.assertEquals(1, meterMap.size());
final Object field = meterMap.values().iterator().next();
diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml
index 8301d68..6745114 100644
--- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml
+++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/pom.xml
@@ -34,7 +34,6 @@
<properties>
<spring-cloud-starter-gateway.version>2.1.1.RELEASE</spring-cloud-starter-gateway.version>
- <compiler.version>1.8</compiler.version>
</properties>
<dependencies>
diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml
index 643da0a..34e9ae2 100644
--- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml
+++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/pom.xml
@@ -35,7 +35,6 @@
<properties>
<spring-cloud-starter-gateway.version>2.1.1.RELEASE</spring-cloud-starter-gateway.version>
- <compiler.version>1.8</compiler.version>
</properties>
<dependencies>
diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml
index 85672e8..8128372 100644
--- a/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml
+++ b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/pom.xml
@@ -37,8 +37,4 @@
<scope>provided</scope>
</dependency>
</dependencies>
-
- <properties>
- <compiler.version>1.8</compiler.version>
- </properties>
</project>
diff --git a/apm-webapp/pom.xml b/apm-webapp/pom.xml
index 6571957..dcc1c3d 100644
--- a/apm-webapp/pom.xml
+++ b/apm-webapp/pom.xml
@@ -29,7 +29,6 @@
<packaging>jar</packaging>
<properties>
- <compiler.version>1.8</compiler.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.boot.version>1.5.11.RELEASE</spring.boot.version>
<log4j.version>2.6.2</log4j.version>
@@ -98,16 +97,22 @@
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback-classic.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.boot.version}</version>
<scope>test</scope>
</dependency>
-
+ <!-- Add for JDK9+ -->
<dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>${logback-classic.version}</version>
+ <groupId>com.sun.activation</groupId>
+ <artifactId>javax.activation</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
</dependency>
</dependencies>
diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE
index 4de0ed5..e3212ba 100755
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -226,12 +226,11 @@ 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.10.14: http://bytebuddy.net/ , Apache 2.0
- Google: gprc-java 1.26.0: https://github.com/grpc/grpc-java, Apache 2.0
+ Google: gprc-java 1.32.1: https://github.com/grpc/grpc-java, Apache 2.0
Google: guava 28.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.6: https://github.com/google/gson , Apache 2.0
- Google: opencensus-java 0.24.0: https://github.com/census-instrumentation/opencensus-java , Apache 2.0
- Google: proto-google-common-protos 1.12.0: https://github.com/googleapis/googleapis , Apache 2.0
+ Google: proto-google-common-protos 1.17.0: https://github.com/googleapis/googleapis , Apache 2.0
Google: jsr305 3.0.2: http://central.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom , Apache 2.0
Elasticsearch BV (Elasticsearch) 6.3.2: https://www.elastic.co/products/elasticsearch , Apache 2.0
Elasticsearch BV (Elasticsearch) 7.0.0: https://www.elastic.co/products/elasticsearch , Apache 2.0
@@ -241,8 +240,6 @@ The text of each license is the standard Apache 2.0 license.
percolator-client 5.5.0: https://github.com/elastic/elasticsearch/tree/master/modules/percolator , Apache 2.0
rest 5.5.0: https://github.com/elastic/elasticsearch/tree/master/client/rest , Apache 2.0
transport 5.5.0: https://github.com/elastic/elasticsearch/tree/master/client/transport , Apache 2.0
- transport-netty3-client 5.5.0: http://central.maven.org/maven2/org/elasticsearch/plugin/transport-netty3-client/5.5.0/transport-netty3-client-5.5.0.pom , Apache 2.0
- transport-netty4-client 5.5.0: http://central.maven.org/maven2/org/elasticsearch/plugin/transport-netty4-client/5.5.0/transport-netty4-client-5.5.0.pom , Apache 2.0
securesm 1.1: https://github.com/elastic/securesm/blob/master/pom.xml , Apache 2.0
LMAX Ltd.(disruptor) 3.3.6: https://github.com/LMAX-Exchange/disruptor , Apache 2.0
Eclipse (Jetty) 9.4.28.v20200408: https://www.eclipse.org/jetty/ , Apache 2.0 and Eclipse Public License 1.0
@@ -271,7 +268,7 @@ The text of each license is the standard Apache 2.0 license.
Apache: commons-collections4 4.1: https://mvnrepository.com/artifact/org.apache.commons/commons-collections4, Apache 2.0
Apache: tomcat 8.5.27: https://github.com/apache/tomcat/tree/trunk, Apache 2.0
Apache: freemarker 2.3.28: https://github.com/apache/freemarker, Apache 2.0
- netty 5.5.0: https://github.com/netty/netty/blob/4.1/LICENSE.txt, Apache 2.0
+ netty 4.1.12: https://github.com/netty/netty/blob/4.1/LICENSE.txt, Apache 2.0
annotations 13.0: http://www.jetbrains.org, Apache 2.0
compiler 0.9.3: https://github.com/spullara/mustache.java, Apache 2.0
error_prone_annotations 2.3.2: https://github.com/google/error-prone, Apache 2.0
@@ -378,8 +375,8 @@ The text of each license is also included at licenses/LICENSE-[project].txt.
asm 8.0.1:https://gitlab.ow2.org , BSD-3-Clause
antlr4-runtime 4.5.1: http://www.antlr.org/license.html, BSD-3-Clause
jline 0.9.94: http://mvnrepository.com/artifact/jline/jline/0.9.94, BSD
- Google: protobuf-java 3.4.0: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause
- Google: protobuf-java-util 3.4.0: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause
+ Google: protobuf-java 3.13.0: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause
+ Google: protobuf-java-util 3.12.4: https://github.com/google/protobuf/blob/master/java/pom.xml , BSD-3-Clause
reflectasm 1.11.3: https://github.com/EsotericSoftware/reflectasm , BSD-3-Clause
proto files from gogo: https://github.com/gogo/protobuf BSD-2
diff --git a/docs/en/guides/How-to-build.md b/docs/en/guides/How-to-build.md
index 2bd97f7..1d47446 100644
--- a/docs/en/guides/How-to-build.md
+++ b/docs/en/guides/How-to-build.md
@@ -16,7 +16,7 @@ If you need to execute build behind the proxy, edit the *.mvn/jvm.config* and pu
```
### Build from GitHub
-1. Prepare git, JDK8 and Maven 3.6+
+1. Prepare git, JDK8+ and Maven 3.6+
1. Clone project
If you want to build a release from source codes, provide a `tag name` by using `git clone -b [tag_name] ...` while cloning.
@@ -41,7 +41,7 @@ If you need to execute build behind the proxy, edit the *.mvn/jvm.config* and pu
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.
-1. Prepare JDK8 and Maven 3.6+
+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).
diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java
index c3e392d..d3e1ad9 100644
--- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java
+++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBaseTest.java
@@ -39,7 +39,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.junit.Before;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
+import org.powermock.reflect.Whitebox;
import static org.mockito.Mockito.when;
@@ -90,19 +90,32 @@ public abstract class MeterBaseTest {
timestamp = System.currentTimeMillis();
// single value
processor.read(MeterData.newBuilder()
- .setService("service").setServiceInstance("instance").setTimestamp(timestamp)
- .setSingleValue(MeterSingleValue.newBuilder().setName("test_count1")
- .addLabels(Label.newBuilder().setName("k1").setValue("v1").build()).setValue(1).build())
- .build());
+ .setService("service").setServiceInstance("instance").setTimestamp(timestamp)
+ .setSingleValue(MeterSingleValue.newBuilder().setName("test_count1")
+ .addLabels(Label.newBuilder()
+ .setName("k1")
+ .setValue("v1")
+ .build()).setValue(1).build())
+ .build());
// histogram
processor.read(MeterData.newBuilder()
- .setHistogram(MeterHistogram.newBuilder().setName("test_histogram")
- .addLabels(Label.newBuilder().setName("k2").setValue("v2").build())
- .addValues(MeterBucketValue.newBuilder().setBucket(1).setCount(10).build())
- .addValues(MeterBucketValue.newBuilder().setBucket(5).setCount(15).build())
- .addValues(MeterBucketValue.newBuilder().setBucket(10).setCount(3).build())
- .build())
- .build());
+ .setHistogram(MeterHistogram.newBuilder().setName("test_histogram")
+ .addLabels(
+ Label.newBuilder().setName("k2").setValue("v2").build())
+ .addValues(MeterBucketValue.newBuilder()
+ .setBucket(1)
+ .setCount(10)
+ .build())
+ .addValues(MeterBucketValue.newBuilder()
+ .setBucket(5)
+ .setCount(15)
+ .build())
+ .addValues(MeterBucketValue.newBuilder()
+ .setBucket(10)
+ .setCount(3)
+ .build())
+ .build())
+ .build());
}
}
diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java
index b92fd40..8a4a63e 100644
--- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java
+++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterBuilderTest.java
@@ -31,27 +31,28 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doCallRealMethod;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class MeterBuilderTest extends MeterBaseTest {
@Test
public void testBuildAndSend() throws ModuleStartException {
List<AcceptableValue> values = new ArrayList<>();
doAnswer(invocationOnMock -> {
- values.add(invocationOnMock.getArgumentAt(0, AcceptableValue.class));
+ values.add(invocationOnMock.getArgument(0, AcceptableValue.class));
return null;
}).when(meterSystem).doStreamingCalculation(any());
- final MeterProcessService context = (MeterProcessService) Whitebox.getInternalState(processor, "processService");
+ final MeterProcessService context = (MeterProcessService) Whitebox.getInternalState(
+ processor, "processService");
context.enabledBuilders().stream().peek(b -> doCallRealMethod().when(b).buildAndSend(any(), any()));
context.initMeters();
@@ -91,7 +92,8 @@ public class MeterBuilderTest extends MeterBaseTest {
private void verifyDataTable(DataTable table, Object... data) {
Assert.assertEquals(data.length / 2, table.size());
for (int i = 0; i < data.length; i += 2) {
- Assert.assertEquals(Long.parseLong(String.valueOf(data[i + 1])), table.get(String.valueOf(data[i])).longValue());
+ Assert.assertEquals(
+ Long.parseLong(String.valueOf(data[i + 1])), table.get(String.valueOf(data[i])).longValue());
}
}
}
diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java
index a53eb33..3f65b14 100644
--- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java
+++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessContextTest.java
@@ -25,16 +25,16 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class MeterProcessContextTest extends MeterBaseTest {
private static final String CONFIG_PATH = "meter-receive-config";
diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java
index 6a042ae..b8de2e5 100644
--- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java
+++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/meter/process/MeterProcessorTest.java
@@ -18,18 +18,17 @@
package org.apache.skywalking.oap.server.analyzer.provider.meter.process;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
+import org.powermock.reflect.Whitebox;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doNothing;
@@ -38,7 +37,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class MeterProcessorTest extends MeterBaseTest {
@Test
@@ -49,15 +48,18 @@ public class MeterProcessorTest extends MeterBaseTest {
Assert.assertEquals(timestamp, processor.timestamp().longValue());
// meters check
- final Map<String, EvalMultipleData> meters = (Map<String, EvalMultipleData>) Whitebox.getInternalState(processor, "meters");
+ final Map<String, EvalMultipleData> meters = (Map<String, EvalMultipleData>) Whitebox.getInternalState(
+ processor, "meters");
Assert.assertEquals(2, meters.size());
// single value
- EvalSingleData singleData = verifyBaseData(meters.get("test_count1"), "test_count1", Collections.singletonMap("k1", "v1"));
+ EvalSingleData singleData = verifyBaseData(
+ meters.get("test_count1"), "test_count1", Collections.singletonMap("k1", "v1"));
Assert.assertEquals(1, singleData.getValue(), 0.0);
// histogram
- EvalHistogramData histogramData = verifyBaseData(meters.get("test_histogram"), "test_histogram", Collections.singletonMap("k2", "v2"));
+ EvalHistogramData histogramData = verifyBaseData(
+ meters.get("test_histogram"), "test_histogram", Collections.singletonMap("k2", "v2"));
Assert.assertEquals(3, histogramData.getBuckets().size());
Assert.assertEquals(10, histogramData.getBuckets().get(1d).longValue());
Assert.assertEquals(15, histogramData.getBuckets().get(5d).longValue());
@@ -68,8 +70,11 @@ public class MeterProcessorTest extends MeterBaseTest {
public void testProcess() {
// each builder has build and send
MeterProcessService context = (MeterProcessService) Whitebox.getInternalState(processor, "processService");
- List<MeterBuilder> builders = context.enabledBuilders().stream().map(Mockito::spy)
- .peek(builder -> doNothing().when(builder).buildAndSend(any(), any())).collect(Collectors.toList());
+ List<MeterBuilder> builders = context.enabledBuilders()
+ .stream()
+ .map(Mockito::spy)
+ .peek(builder -> doNothing().when(builder).buildAndSend(any(), any()))
+ .collect(Collectors.toList());
Whitebox.setInternalState(context, "meterBuilders", builders);
processor.process();
builders.stream().forEach(b -> verify(b, times(1)).buildAndSend(any(), any()));
diff --git a/oap-server/pom.xml b/oap-server/pom.xml
index 3fc4ad8..e07643e 100755
--- a/oap-server/pom.xml
+++ b/oap-server/pom.xml
@@ -52,11 +52,12 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <protobuf-java.version>3.13.0</protobuf-java.version>
+ <protobuf-java-util.version>3.12.4</protobuf-java-util.version>
<slf4j.version>1.7.25</slf4j.version>
<log4j.version>2.9.0</log4j.version>
<guava.version>28.1-jre</guava.version>
<snakeyaml.version>1.18</snakeyaml.version>
- <gson.version>2.8.6</gson.version>
<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>
@@ -95,7 +96,6 @@
<groovy.version>3.0.3</groovy.version>
<zookeeper.image.version>3.5</zookeeper.image.version>
- <protobuf-java-util.version>3.11.4</protobuf-java-util.version>
<kafka-clients.version>2.4.1</kafka-clients.version>
<spring-kafka-test.version>2.4.6.RELEASE</spring-kafka-test.version>
</properties>
@@ -127,6 +127,13 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy</artifactId>
+ <version>${bytebuddy.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<dependencyManagement>
@@ -273,6 +280,11 @@
<dependency>
<groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>${protobuf-java.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>${protobuf-java-util.version}</version>
</dependency>
diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java
index 61c9669..d3cd9d6 100644
--- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java
+++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java
@@ -59,7 +59,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
@PrepareForTest(DefaultScopeDefine.class)
public class NotifyHandlerTest {
diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java
index 09302fa..1b9da57 100644
--- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java
@@ -48,7 +48,7 @@ import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Consul.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class ClusterModuleConsulProviderTest {
private ClusterModuleConsulProvider provider = new ClusterModuleConsulProvider();
diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java
deleted file mode 100644
index 8415a77..0000000
--- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProviderTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.etcd;
-
-import java.net.URI;
-import java.util.List;
-import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.Whitebox;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(EtcdUtils.class)
-@PowerMockIgnore("javax.management.*")
-public class ClusterModuleEtcdProviderTest {
-
- private ClusterModuleEtcdProvider provider = new ClusterModuleEtcdProvider();
-
- @Test
- public void name() {
- assertEquals("etcd", provider.name());
- }
-
- @Test
- public void module() {
- assertEquals(ClusterModule.class, provider.module());
- }
-
- @Test
- public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof ClusterModuleEtcdConfig);
- }
-
- @Test(expected = ModuleStartException.class)
- public void prepareWithNonHost() throws Exception {
- provider.prepare();
- }
-
- @Test
- @SuppressWarnings("unchecked")
- public void prepare() throws Exception {
- PowerMockito.mockStatic(EtcdUtils.class);
- ClusterModuleEtcdConfig etcdConfig = new ClusterModuleEtcdConfig();
- etcdConfig.setHostPort("10.0.0.1:1000,10.0.0.2:1001");
- Whitebox.setInternalState(provider, "config", etcdConfig);
- provider.prepare();
-
- List<URI> uris = mock(List.class);
- PowerMockito.when(EtcdUtils.parse(etcdConfig)).thenReturn(uris);
- ArgumentCaptor<ClusterModuleEtcdConfig> addressCaptor = ArgumentCaptor.forClass(ClusterModuleEtcdConfig.class);
- PowerMockito.verifyStatic();
- EtcdUtils.parse(addressCaptor.capture());
- ClusterModuleEtcdConfig cfg = addressCaptor.getValue();
- assertEquals(etcdConfig.getHostPort(), cfg.getHostPort());
- }
-
- @Test
- public void prepareSingle() throws Exception {
- PowerMockito.mockStatic(EtcdUtils.class);
- ClusterModuleEtcdConfig etcdConfig = new ClusterModuleEtcdConfig();
- etcdConfig.setHostPort("10.0.0.1:1000");
- Whitebox.setInternalState(provider, "config", etcdConfig);
- provider.prepare();
-
- List<URI> uris = mock(List.class);
- PowerMockito.when(EtcdUtils.parse(etcdConfig)).thenReturn(uris);
- ArgumentCaptor<ClusterModuleEtcdConfig> addressCaptor = ArgumentCaptor.forClass(ClusterModuleEtcdConfig.class);
- PowerMockito.verifyStatic();
- EtcdUtils.parse(addressCaptor.capture());
- ClusterModuleEtcdConfig cfg = addressCaptor.getValue();
- assertEquals(etcdConfig.getHostPort(), cfg.getHostPort());
- }
-
- @Test
- public void start() {
- provider.start();
- }
-
- @Test
- public void notifyAfterCompleted() {
- provider.notifyAfterCompleted();
- }
-
- @Test
- public void requiredModules() {
- String[] modules = provider.requiredModules();
- assertArrayEquals(new String[] {CoreModule.NAME}, modules);
- }
-}
diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java
deleted file mode 100644
index dd5c157..0000000
--- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinatorTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.etcd;
-
-import com.google.gson.Gson;
-import java.util.ArrayList;
-import java.util.List;
-import mousio.etcd4j.EtcdClient;
-import mousio.etcd4j.promises.EtcdResponsePromise;
-import mousio.etcd4j.requests.EtcdKeyGetRequest;
-import mousio.etcd4j.requests.EtcdKeyPutRequest;
-import mousio.etcd4j.responses.EtcdKeysResponse;
-import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
-import org.apache.skywalking.oap.server.core.remote.client.Address;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(EtcdKeysResponse.class)
-@PowerMockIgnore("javax.management.*")
-public class EtcdCoordinatorTest {
-
- private ClusterModuleEtcdConfig etcdConfig = new ClusterModuleEtcdConfig();
-
- private EtcdClient client;
-
- private EtcdCoordinator coordinator;
-
- private Gson gson = new Gson();
-
- private Address remoteAddress = new Address("10.0.0.1", 1000, false);
- private Address selfRemoteAddress = new Address("10.0.0.2", 1001, true);
-
- private Address internalAddress = new Address("10.0.0.3", 1002, false);
-
- private static final String SERVICE_NAME = "my-service";
-
- private EtcdResponsePromise<EtcdKeysResponse> getPromise;
- private EtcdResponsePromise<EtcdKeysResponse> putPromise;
-
- private EtcdKeysResponse response;
-
- private EtcdKeyPutRequest putRequest = mock(EtcdKeyPutRequest.class);
-
- private EtcdKeyGetRequest getRequest = mock(EtcdKeyGetRequest.class);
-
- private EtcdKeyPutRequest putDirRequest = mock(EtcdKeyPutRequest.class);
-
- private EtcdResponsePromise<EtcdKeysResponse> putDirPromise;
-
- @Mock
- private List<EtcdKeysResponse.EtcdNode> list = mock(List.class);
-
- @Before
- public void setUp() throws Exception {
- etcdConfig.setServiceName(SERVICE_NAME);
-
- client = mock(EtcdClient.class);
- PowerMockito.whenNew(EtcdClient.class).withAnyArguments().thenReturn(client);
- client = new EtcdClient("http://10.0.0.1:1000", "http://10.0.0.2:2000");
- coordinator = new EtcdCoordinator(etcdConfig, client);
-
- putPromise = (EtcdResponsePromise<EtcdKeysResponse>) mock(EtcdResponsePromise.class);
- getPromise = (EtcdResponsePromise<EtcdKeysResponse>) mock(EtcdResponsePromise.class);
- putDirPromise = (EtcdResponsePromise<EtcdKeysResponse>) mock(EtcdResponsePromise.class);
-
- PowerMockito.when(client.putDir(anyString())).thenReturn(putDirRequest);
- PowerMockito.when(putDirRequest.ttl(anyInt())).thenReturn(putDirRequest);
- PowerMockito.when(putDirRequest.send()).thenReturn(putDirPromise);
- PowerMockito.when(client.put(anyString(), anyString())).thenReturn(putRequest);
- PowerMockito.when(putRequest.ttl(anyInt())).thenReturn(putRequest);
- PowerMockito.when(putRequest.send()).thenReturn(putPromise);
- PowerMockito.when(client.get(anyString())).thenReturn(getRequest);
- PowerMockito.when(getRequest.send()).thenReturn(getPromise);
-
- response = PowerMockito.mock(EtcdKeysResponse.class);
-
- response = PowerMockito.mock(EtcdKeysResponse.class);
- when(putPromise.get()).thenReturn(response);
- when(getPromise.get()).thenReturn(response);
- when(putDirPromise.get()).thenReturn(response);
- }
-
- @Test
- @SuppressWarnings("unchecked")
- public void queryRemoteNodesWithNonOrEmpty() {
- EtcdKeysResponse.EtcdNode node = PowerMockito.mock(EtcdKeysResponse.EtcdNode.class);
- when(response.getNode()).thenReturn(node);
- when(node.getValue()).thenReturn("{}");
- assertEquals(0, coordinator.queryRemoteNodes().size());
- assertEquals(0, coordinator.queryRemoteNodes().size());
- }
-
- @Test
- public void queryRemoteNodes() {
- registerSelfRemote();
-
- EtcdKeysResponse.EtcdNode node = PowerMockito.mock(EtcdKeysResponse.EtcdNode.class);
- EtcdKeysResponse.EtcdNode node1 = PowerMockito.mock(EtcdKeysResponse.EtcdNode.class);
-
- when(response.getNode()).thenReturn(node);
- list = new ArrayList<>();
- List list1 = Mockito.spy(list);
- list1.add(node1);
- when(node.getNodes()).thenReturn(list1);
- when(node1.getValue()).thenReturn("{\"serviceId\":\"my-service\",\"host\":\"10.0.0.2\",\"port\":1001}");
- List<RemoteInstance> remoteInstances = coordinator.queryRemoteNodes();
- assertEquals(1, remoteInstances.size());
-
- RemoteInstance selfInstance = remoteInstances.get(0);
- velidate(selfRemoteAddress, selfInstance);
- }
-
- @Test
- public void registerRemote() {
- registerRemote(remoteAddress);
- }
-
- @Test
- public void registerSelfRemote() {
- registerRemote(selfRemoteAddress);
- }
-
- @Test
- public void registerRemoteUsingInternal() {
- etcdConfig.setInternalComHost(internalAddress.getHost());
- etcdConfig.setInternalComPort(internalAddress.getPort());
- registerRemote(internalAddress);
- }
-
- private void velidate(Address originArress, RemoteInstance instance) {
- Address instanceAddress = instance.getAddress();
- assertEquals(originArress.getHost(), instanceAddress.getHost());
- assertEquals(originArress.getPort(), instanceAddress.getPort());
- }
-
- private void registerRemote(Address address) {
- coordinator.registerRemote(new RemoteInstance(address));
- EtcdEndpoint endpoint = afterRegister().get(0);
- verifyRegistration(address, endpoint);
- }
-
- private List<EtcdEndpoint> afterRegister() {
- ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
- ArgumentCaptor<String> nameCaptor = ArgumentCaptor.forClass(String.class);
- verify(client).put(nameCaptor.capture(), argumentCaptor.capture());
- EtcdEndpoint endpoint = gson.fromJson(argumentCaptor.getValue(), EtcdEndpoint.class);
- List<EtcdEndpoint> list = new ArrayList<>();
- list.add(endpoint);
- return list;
- }
-
- private void verifyRegistration(Address remoteAddress, EtcdEndpoint endpoint) {
- assertNotNull(endpoint);
- assertEquals(SERVICE_NAME, endpoint.getServiceName());
- assertEquals(remoteAddress.getHost(), endpoint.getHost());
- assertEquals(remoteAddress.getPort(), endpoint.getPort());
- }
-
-}
diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java
index 79f1029..ef9864d 100644
--- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java
+++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java
@@ -31,7 +31,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class ClusterModuleKubernetesProviderTest {
private ClusterModuleKubernetesProvider provider = new ClusterModuleKubernetesProvider();
diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java
index 48a8319..b6587db 100644
--- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java
+++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinatorTest.java
@@ -46,7 +46,7 @@ import org.powermock.reflect.Whitebox;
import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
@PrepareForTest({NamespacedPodListInformer.class})
public class KubernetesCoordinatorTest {
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java
deleted file mode 100644
index f489f93..0000000
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProviderTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.nacos;
-
-import com.alibaba.nacos.api.PropertyKeyConst;
-import com.alibaba.nacos.api.naming.NamingFactory;
-import com.alibaba.nacos.api.naming.NamingService;
-import java.util.Properties;
-import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.library.module.ModuleStartException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.Whitebox;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(NamingFactory.class)
-@PowerMockIgnore("javax.management.*")
-public class ClusterModuleNacosProviderTest {
-
- private static final String SERVICE_NAME = "test-service_name";
-
- private ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
-
- @Test
- public void name() {
- assertEquals("nacos", provider.name());
- }
-
- @Test
- public void module() {
- assertEquals(ClusterModule.class, provider.module());
- }
-
- @Test
- public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof ClusterModuleNacosConfig);
- }
-
- @Test(expected = ModuleStartException.class)
- public void prepareWithNonHost() throws Exception {
- provider.prepare();
- }
-
- @Test
- public void prepare() throws Exception {
- PowerMockito.mockStatic(NamingFactory.class);
- ClusterModuleNacosConfig nacosConfig = new ClusterModuleNacosConfig();
- nacosConfig.setHostPort("10.0.0.1:1000,10.0.0.2:1001");
- nacosConfig.setServiceName(SERVICE_NAME);
- Whitebox.setInternalState(provider, "config", nacosConfig);
- NamingService namingService = mock(NamingService.class);
-
- Properties properties = new Properties();
- properties.put(PropertyKeyConst.SERVER_ADDR, "10.0.0.1:1000,10.0.0.2:1001");
-
- PowerMockito.when(NamingFactory.createNamingService(properties)).thenReturn(namingService);
- provider.prepare();
- ArgumentCaptor<Properties> addressCaptor = ArgumentCaptor.forClass(Properties.class);
- PowerMockito.verifyStatic();
- NamingFactory.createNamingService(addressCaptor.capture());
- Properties data = addressCaptor.getValue();
- assertEquals("10.0.0.1:1000,10.0.0.2:1001", data.getProperty(PropertyKeyConst.SERVER_ADDR));
- }
-
- @Test
- public void start() {
- provider.start();
- }
-
- @Test
- public void notifyAfterCompleted() {
- provider.notifyAfterCompleted();
- }
-
- @Test
- public void requiredModules() {
- String[] modules = provider.requiredModules();
- assertArrayEquals(new String[] {CoreModule.NAME}, modules);
- }
-}
diff --git a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java
index 1cfec1e..34e6fc3 100644
--- a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java
+++ b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegisterTest.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.configuration.consul;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
import com.google.common.io.BaseEncoding;
-import com.orbitz.consul.KeyValueClient;
import com.orbitz.consul.cache.ConsulCache;
import com.orbitz.consul.cache.KVCache;
import com.orbitz.consul.model.kv.ImmutableValue;
@@ -35,6 +34,7 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
@@ -48,6 +48,13 @@ import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
@PrepareForTest(KVCache.class)
+@PowerMockIgnore({
+ "com.sun.org.apache.xerces.*",
+ "javax.xml.*",
+ "org.xml.*",
+ "javax.management.*",
+ "org.w3c.*"
+})
@SuppressWarnings({
"unchecked",
"OptionalGetWithoutIsPresent"
@@ -77,8 +84,8 @@ public class ConsulConfigurationWatcherRegisterTest {
ArgumentCaptor<ConsulCache.Listener> listener2 = ArgumentCaptor.forClass(ConsulCache.Listener.class);
PowerMockito.mockStatic(KVCache.class);
- PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key1"))).thenReturn(cache1);
- PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key2"))).thenReturn(cache2);
+ PowerMockito.when(KVCache.newCache(any(), eq("key1"))).thenReturn(cache1);
+ PowerMockito.when(KVCache.newCache(any(), eq("key2"))).thenReturn(cache2);
when(register.readConfig(any(Set.class))).thenCallRealMethod();
@@ -128,8 +135,8 @@ public class ConsulConfigurationWatcherRegisterTest {
ArgumentCaptor<ConsulCache.Listener> listener2 = ArgumentCaptor.forClass(ConsulCache.Listener.class);
PowerMockito.mockStatic(KVCache.class);
- PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key1"))).thenReturn(cache1);
- PowerMockito.when(KVCache.newCache(any(KeyValueClient.class), eq("key2"))).thenReturn(cache2);
+ PowerMockito.when(KVCache.newCache(any(), eq("key1"))).thenReturn(cache1);
+ PowerMockito.when(KVCache.newCache(any(), eq("key2"))).thenReturn(cache2);
when(register.readConfig(any(Set.class))).thenCallRealMethod();
diff --git a/oap-server/server-configuration/configuration-etcd/pom.xml b/oap-server/server-configuration/configuration-etcd/pom.xml
index 8d1da37..baf0f07 100644
--- a/oap-server/server-configuration/configuration-etcd/pom.xml
+++ b/oap-server/server-configuration/configuration-etcd/pom.xml
@@ -69,6 +69,19 @@
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>${compiler.version}</source>
+ <target>${compiler.version}</target>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
<profiles>
<profile>
<id>CI-with-IT</id>
diff --git a/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java b/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java
deleted file mode 100644
index 4f1f476..0000000
--- a/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigWatcherRegisterTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.etcd;
-
-import com.google.common.collect.Sets;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import mousio.client.promises.ResponsePromise;
-import mousio.etcd4j.EtcdClient;
-import mousio.etcd4j.promises.EtcdResponsePromise;
-import mousio.etcd4j.requests.EtcdKeyGetRequest;
-import mousio.etcd4j.responses.EtcdKeysResponse;
-import org.apache.skywalking.oap.server.configuration.api.ConfigTable;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.Whitebox;
-
-import static junit.framework.TestCase.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.spy;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({
- EtcdKeysResponse.class,
- EtcdUtils.class,
- EtcdClient.class,
- URI.class
-})
-@PowerMockIgnore({"javax.management.*"})
-public class EtcdConfigWatcherRegisterTest {
-
- @Before
- @Test
- public void shouldReadConfigs() throws Exception {
- final String group = "skywalking";
- final String testKey1 = "receiver-trace.default.slowDBAccessThreshold";
- final String testVal1 = "test";
- final String testKey2 = "testKey";
- final String testVal2 = "testVal";
-
- final EtcdServerSettings mockSettings = mock(EtcdServerSettings.class);
- when(mockSettings.getGroup()).thenReturn(group);
- mockStatic(EtcdUtils.class);
-
- List<URI> uris = mock(List.class);
- when(EtcdUtils.parse(any())).thenReturn(uris);
-
- final EtcdClient client = PowerMockito.mock(EtcdClient.class);
- whenNew(EtcdClient.class).withAnyArguments().thenReturn(client);
-
- String port = System.getProperty("etcd.port");
- URI uri = new URI("http://localhost:" + port);
- List<URI> urisArray = spy(ArrayList.class);
- urisArray.add(uri);
- URI[] array = urisArray.toArray(new URI[] {});
- when(uris.toArray(new URI[] {})).thenReturn(array);
-
- final EtcdConfigWatcherRegister mockRegister = spy(new EtcdConfigWatcherRegister(mockSettings));
-
- Whitebox.setInternalState(mockRegister, "client", client);
- Whitebox.setInternalState(mockRegister, "settings", mockSettings);
-
- final EtcdKeysResponse response = PowerMockito.mock(EtcdKeysResponse.class);
- final EtcdKeysResponse response1 = PowerMockito.mock(EtcdKeysResponse.class);
-
- final EtcdKeyGetRequest request = PowerMockito.mock(EtcdKeyGetRequest.class);
-
- when(client.get("/skywalking/receiver-trace.default.slowDBAccessThreshold")).thenReturn(request);
- when(request.waitForChange()).thenReturn(request);
-
- final EtcdResponsePromise<EtcdKeysResponse> promise = mock(EtcdResponsePromise.class);
- final ResponsePromise<EtcdKeysResponse> responseResponsePromise = mock(ResponsePromise.class);
- when(request.send()).thenReturn(promise);
- when(promise.get()).thenReturn(response);
- when(responseResponsePromise.get()).thenReturn(response);
-
- final EtcdKeysResponse.EtcdNode node = mock(EtcdKeysResponse.EtcdNode.class);
- when(response.getNode()).thenReturn(node);
- when(node.getKey()).thenReturn("/skywalking/receiver-trace.default.slowDBAccessThreshold");
- when(node.getValue()).thenReturn("test");
-
- final EtcdKeyGetRequest request1 = mock(EtcdKeyGetRequest.class);
- when(client.get("/skywalking/testKey")).thenReturn(request1);
- when(request1.waitForChange()).thenReturn(request1);
- final EtcdResponsePromise<EtcdKeysResponse> promise1 = mock(EtcdResponsePromise.class);
- final ResponsePromise<EtcdKeysResponse> responseResponsePromise1 = mock(ResponsePromise.class);
- when(request1.send()).thenReturn(promise1);
- when(promise1.get()).thenReturn(response1);
- when(responseResponsePromise1.get()).thenReturn(response1);
-
- final EtcdKeysResponse.EtcdNode node1 = mock(EtcdKeysResponse.EtcdNode.class);
- when(response1.getNode()).thenReturn(node1);
- when(node1.getKey()).thenReturn("/skywalking/testKey");
- when(node1.getValue()).thenReturn("testVal");
-
- final ConfigTable configTable = mockRegister.readConfig(Sets.newHashSet(testKey1, testKey2)).get();
-
- assertEquals(2, configTable.getItems().size());
- Map<String, String> kvs = new HashMap<>();
- for (ConfigTable.ConfigItem item : configTable.getItems()) {
- kvs.put(item.getName(), item.getValue());
- }
- assertEquals(testVal1, kvs.get(testKey1));
- assertEquals(testVal2, kvs.get(testKey2));
- }
-}
diff --git a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java
index 2fd449c..45ddf43 100644
--- a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java
+++ b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigWatcherRegisterTest.java
@@ -39,7 +39,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
import org.yaml.snakeyaml.Yaml;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
@PrepareForTest({ConfigurationConfigmapInformer.class})
public class ConfigmapConfigWatcherRegisterTest {
diff --git a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java
index 13d967e..4090296 100644
--- a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java
+++ b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java
@@ -28,7 +28,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*")
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class ConfigmapConfigurationProviderTest {
private final ConfigmapConfigurationProvider provider = new ConfigmapConfigurationProvider();
diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java
index 201d436..f6cff89 100644
--- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java
+++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/TimeBucketTest.java
@@ -56,8 +56,8 @@ public class TimeBucketTest {
DownSampling.Day,
DAYS,
MILLISECONDS.toDays(NOW)
- },
- };
+ }
+ };
}
private DownSampling downSampling;
diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java
index 23f4431..5267e8f 100644
--- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java
+++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java
@@ -35,11 +35,13 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest({DefaultScopeDefine.class})
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class StorageModelsTest {
@BeforeClass
public static void setup() {
diff --git a/oap-server/server-library/library-util/pom.xml b/oap-server/server-library/library-util/pom.xml
index 1e468a1..241b7eb 100644
--- a/oap-server/server-library/library-util/pom.xml
+++ b/oap-server/server-library/library-util/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-library</artifactId>
<groupId>org.apache.skywalking</groupId>
@@ -30,7 +31,6 @@
<properties>
<ststem-rules.version>1.18.0</ststem-rules.version>
- <protobuf-java.version>3.11.4</protobuf-java.version>
</properties>
<dependencies>
@@ -57,7 +57,6 @@
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
- <version>${protobuf-java.version}</version>
</dependency>
<dependency>
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml
index c0bd932..e9b0251 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml
+++ b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/pom.xml
@@ -46,10 +46,14 @@
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
- <version>3.5.1</version>
+ <version>${protobuf-java-util.version}</version>
<scope>test</scope>
</dependency>
+ <dependency> <!-- necessary for Java 9+ -->
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>annotations-api</artifactId>
+ <version>${org.apache.tomcat.annotations-api.version}</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
-
-
</project>
\ No newline at end of file
diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java
index b3dd333..69bd2d4 100644
--- a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java
+++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/rest/BrowserReportServletHandlerTest.java
@@ -36,14 +36,14 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"javax.management.*"})
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class BrowserReportServletHandlerTest {
@Mock
private HttpServletRequest request;
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java
index b47efc2..9a88454 100644
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/rest/TraceSegmentReportServletHandlerTest.java
@@ -40,14 +40,14 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"javax.management.*"})
+@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
public class TraceSegmentReportServletHandlerTest {
@Mock
@@ -71,7 +71,7 @@ public class TraceSegmentReportServletHandlerTest {
Mockito.when(moduleManager.find(AnalyzerModule.NAME)).thenReturn(analyzerModule);
Mockito.when(telemetryProvider.getService(MetricsCreator.class))
- .thenReturn(new MetricsCreatorNoop());
+ .thenReturn(new MetricsCreatorNoop());
when(analyzerModuleProvider.getService(ISegmentParserService.class))
.thenReturn(new SegmentParserServiceImpl(moduleManager, new AnalyzerModuleConfig()));
diff --git a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java
index 189c2aa..64a42c2 100644
--- a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java
+++ b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileSnapshotExporterTest.java
@@ -46,8 +46,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.reflect.Whitebox;
import org.yaml.snakeyaml.Yaml;
@RunWith(PowerMockRunner.class)
diff --git a/pom.xml b/pom.xml
index 69926e1..9858606 100755
--- a/pom.xml
+++ b/pom.xml
@@ -182,19 +182,25 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<compiler.version>1.8</compiler.version>
- <powermock.version>1.6.4</powermock.version>
+ <powermock.version>2.0.7</powermock.version>
<checkstyle.version>6.18</checkstyle.version>
<junit.version>4.12</junit.version>
- <mockito-all.version>1.10.19</mockito-all.version>
+ <mockito-core.version>3.5.13</mockito-core.version>
<lombok.version>1.18.10</lombok.version>
<!-- core lib dependency -->
- <grpc.version>1.26.0</grpc.version>
+ <bytebuddy.version>1.10.16</bytebuddy.version>
+ <grpc.version>1.32.1</grpc.version>
+ <gson.version>2.8.6</gson.version>
<os-maven-plugin.version>1.6.2</os-maven-plugin.version>
<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
- <com.google.protobuf.protoc.version>3.3.0</com.google.protobuf.protoc.version>
- <protoc-gen-grpc-java.plugin.version>1.8.0</protoc-gen-grpc-java.plugin.version>
+ <com.google.protobuf.protoc.version>3.12.0</com.google.protobuf.protoc.version>
+ <protoc-gen-grpc-java.plugin.version>1.32.1</protoc-gen-grpc-java.plugin.version>
<netty-tcnative-boringssl-static.version>2.0.26.Final</netty-tcnative-boringssl-static.version>
+ <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
+ <objenesis.version>3.1</objenesis.version>
+ <!-- necessary for Java 9+ -->
+ <org.apache.tomcat.annotations-api.version>6.0.53</org.apache.tomcat.annotations-api.version>
<!-- Plugin versions -->
<docker.plugin.version>0.4.13</docker.plugin.version>
@@ -219,7 +225,6 @@
<gmaven-plugin.version>1.5</gmaven-plugin.version>
<cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version>
<checkstyle.fails.on.error>true</checkstyle.fails.on.error>
- <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
</properties>
<dependencies>
@@ -229,18 +234,23 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
- <artifactId>powermock-module-junit4</artifactId>
+ <artifactId>powermock-api-mockito2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy-agent</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.objenesis</groupId>
+ <artifactId>objenesis</artifactId>
<scope>test</scope>
</dependency>
@@ -275,8 +285,8 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>${mockito-all.version}</version>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -287,11 +297,23 @@
</dependency>
<dependency>
<groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
+ <artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy-agent</artifactId>
+ <version>${bytebuddy.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.objenesis</groupId>
+ <artifactId>objenesis</artifactId>
+ <version>${objenesis.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
diff --git a/test/plugin/scenarios/gson-scenario/pom.xml b/test/plugin/scenarios/gson-scenario/pom.xml
index b49aef3..3beba29 100644
--- a/test/plugin/scenarios/gson-scenario/pom.xml
+++ b/test/plugin/scenarios/gson-scenario/pom.xml
@@ -29,7 +29,6 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <compiler.version>1.8</compiler.version>
<spring-boot-version>2.1.6.RELEASE</spring-boot-version>
<test.framework.version>2.8.5</test.framework.version>
<docker.image.version>${test.framework.version}</docker.image.version>
diff --git a/test/plugin/scenarios/hystrix-scenario/pom.xml b/test/plugin/scenarios/hystrix-scenario/pom.xml
index 8aedab1..3cab1e4 100644
--- a/test/plugin/scenarios/hystrix-scenario/pom.xml
+++ b/test/plugin/scenarios/hystrix-scenario/pom.xml
@@ -29,8 +29,6 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <compiler.version>1.8</compiler.version>
-
<test.framework.version>1.4.20</test.framework.version>
<spring-boot-version>2.1.6.RELEASE</spring-boot-version>
</properties>
diff --git a/tools/dependencies/known-oap-backend-dependencies-es7.txt b/tools/dependencies/known-oap-backend-dependencies-es7.txt
index bb38473..98640ae 100755
--- a/tools/dependencies/known-oap-backend-dependencies-es7.txt
+++ b/tools/dependencies/known-oap-backend-dependencies-es7.txt
@@ -44,13 +44,13 @@ freemarker-2.3.28.jar
graphql-java-8.0.jar
graphql-java-tools-5.2.3.jar
groovy-3.0.3.jar
-grpc-api-1.26.0.jar
-grpc-context-1.26.0.jar
-grpc-core-1.26.0.jar
-grpc-netty-1.26.0.jar
-grpc-protobuf-1.26.0.jar
-grpc-protobuf-lite-1.26.0.jar
-grpc-stub-1.26.0.jar
+grpc-api-1.32.1.jar
+grpc-context-1.32.1.jar
+grpc-core-1.32.1.jar
+grpc-netty-1.32.1.jar
+grpc-protobuf-1.32.1.jar
+grpc-protobuf-lite-1.32.1.jar
+grpc-stub-1.32.1.jar
gson-2.8.6.jar
gson-fire-1.8.3.jar
guava-28.1-jre.jar
@@ -131,24 +131,22 @@ netty-buffer-4.1.42.Final.jar
netty-codec-4.1.42.Final.jar
netty-codec-dns-4.1.42.Final.jar
netty-codec-http-4.1.42.Final.jar
-netty-codec-http2-4.1.42.Final.jar
-netty-codec-socks-4.1.42.Final.jar
+netty-codec-http2-4.1.51.Final.jar
+netty-codec-socks-4.1.51.Final.jar
netty-common-4.1.42.Final.jar
netty-handler-4.1.42.Final.jar
-netty-handler-proxy-4.1.42.Final.jar
+netty-handler-proxy-4.1.51.Final.jar
netty-resolver-4.1.42.Final.jar
netty-resolver-dns-4.1.42.Final.jar
netty-tcnative-boringssl-static-2.0.26.Final.jar
netty-transport-4.1.42.Final.jar
okhttp-3.9.0.jar
okio-1.13.0.jar
-opencensus-api-0.24.0.jar
-opencensus-contrib-grpc-metrics-0.24.0.jar
parent-join-client-7.0.0.jar
perfmark-api-0.19.0.jar
-proto-google-common-protos-1.12.0.jar
-protobuf-java-3.11.4.jar
-protobuf-java-util-3.11.4.jar
+proto-google-common-protos-1.17.0.jar
+protobuf-java-3.13.0.jar
+protobuf-java-util-3.12.4.jar
rank-eval-client-7.0.0.jar
reactive-streams-1.0.2.jar
reflectasm-1.11.7.jar
diff --git a/tools/dependencies/known-oap-backend-dependencies.txt b/tools/dependencies/known-oap-backend-dependencies.txt
index b4391a5..4dd8f35 100755
--- a/tools/dependencies/known-oap-backend-dependencies.txt
+++ b/tools/dependencies/known-oap-backend-dependencies.txt
@@ -45,13 +45,13 @@ freemarker-2.3.28.jar
graphql-java-8.0.jar
graphql-java-tools-5.2.3.jar
groovy-3.0.3.jar
-grpc-api-1.26.0.jar
-grpc-context-1.26.0.jar
-grpc-core-1.26.0.jar
-grpc-netty-1.26.0.jar
-grpc-protobuf-1.26.0.jar
-grpc-protobuf-lite-1.26.0.jar
-grpc-stub-1.26.0.jar
+grpc-api-1.32.1.jar
+grpc-context-1.32.1.jar
+grpc-core-1.32.1.jar
+grpc-netty-1.32.1.jar
+grpc-protobuf-1.32.1.jar
+grpc-protobuf-lite-1.32.1.jar
+grpc-stub-1.32.1.jar
gson-2.8.6.jar
gson-fire-1.8.3.jar
guava-28.1-jre.jar
@@ -129,24 +129,22 @@ netty-buffer-4.1.42.Final.jar
netty-codec-4.1.42.Final.jar
netty-codec-dns-4.1.42.Final.jar
netty-codec-http-4.1.42.Final.jar
-netty-codec-http2-4.1.42.Final.jar
-netty-codec-socks-4.1.42.Final.jar
+netty-codec-http2-4.1.51.Final.jar
+netty-codec-socks-4.1.51.Final.jar
netty-common-4.1.42.Final.jar
netty-handler-4.1.42.Final.jar
-netty-handler-proxy-4.1.42.Final.jar
+netty-handler-proxy-4.1.51.Final.jar
netty-resolver-4.1.42.Final.jar
netty-resolver-dns-4.1.42.Final.jar
netty-tcnative-boringssl-static-2.0.26.Final.jar
netty-transport-4.1.42.Final.jar
okhttp-3.9.0.jar
okio-1.13.0.jar
-opencensus-api-0.24.0.jar
-opencensus-contrib-grpc-metrics-0.24.0.jar
parent-join-client-6.3.2.jar
perfmark-api-0.19.0.jar
-proto-google-common-protos-1.12.0.jar
-protobuf-java-3.11.4.jar
-protobuf-java-util-3.11.4.jar
+proto-google-common-protos-1.17.0.jar
+protobuf-java-3.13.0.jar
+protobuf-java-util-3.12.4.jar
rank-eval-client-6.3.2.jar
reactive-streams-1.0.2.jar
reflectasm-1.11.7.jar