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

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

commit 2640c558fc7a3069e5932b081447b9aefdc029e5
Author: kezhenxu94 <[email protected]>
AuthorDate: Tue Sep 7 00:20:39 2021 +0800

    Gradle
---
 .gitignore                                         |   3 +-
 apm-commons/apm-datacarrier/build.gradle           |   9 +
 apm-commons/apm-util/build.gradle                  |   1 +
 apm-protocol/apm-network/build.gradle              |  25 +++
 apm-webapp/build.gradle                            |  18 ++
 build.gradle                                       |  30 +++
 buildSrc/build.gradle                              |  13 ++
 .../org.apache.skywalking.java-conventions.gradle  |  45 ++++
 gradle.properties                                  |  24 +++
 gradle/wrapper/gradle-wrapper.jar                  | Bin 0 -> 59536 bytes
 gradle/wrapper/gradle-wrapper.properties           |   5 +
 gradlew                                            | 234 +++++++++++++++++++++
 gradlew.bat                                        |  89 ++++++++
 oap-server/analyzer/agent-analyzer/build.gradle    |   7 +
 oap-server/analyzer/event-analyzer/build.gradle    |   5 +
 oap-server/analyzer/log-analyzer/build.gradle      |   8 +
 oap-server/analyzer/meter-analyzer/build.gradle    |   8 +
 oap-server/exporter/build.gradle                   |   6 +
 oap-server/oal-grammar/build.gradle                |   5 +
 oap-server/oal-rt/build.gradle                     |   9 +
 oap-server/server-alarm-plugin/build.gradle        |  10 +
 .../cluster-consul-plugin/build.gradle             |   6 +
 .../cluster-etcd-plugin/build.gradle               |  14 ++
 .../cluster-kubernetes-plugin/build.gradle         |   7 +
 .../cluster-nacos-plugin/build.gradle              |   7 +
 .../cluster-standalone-plugin/build.gradle         |   5 +
 .../cluster-zookeeper-plugin/build.gradle          |   8 +
 .../configuration-api/build.gradle                 |   7 +
 .../configuration-apollo/build.gradle              |   8 +
 .../configuration-consul/build.gradle              |   7 +
 .../configuration-etcd/build.gradle                |  14 ++
 .../configuration-k8s-configmap/build.gradle       |   8 +
 .../configuration-nacos/build.gradle               |   7 +
 .../configuration-zookeeper/build.gradle           |   7 +
 .../grpc-configuration-sync/build.gradle           |  10 +
 oap-server/server-core/build.gradle                |  57 +++++
 .../core/config/group/StringFormatGroup.java       |   7 -
 .../kafka-fetcher-plugin/build.gradle              |   8 +
 .../prometheus-fetcher-plugin/build.gradle         |   7 +
 oap-server/server-health-checker/build.gradle      |   5 +
 .../server-library/library-client/build.gradle     |  19 ++
 .../library-elasticsearch-client/build.gradle      |  10 +
 .../server-library/library-module/build.gradle     |   6 +
 .../server-library/library-server/build.gradle     |  18 ++
 .../server-library/library-util/build.gradle       |  13 ++
 .../query-graphql-plugin/build.gradle              |  11 +
 .../build.gradle                                   |   5 +
 .../envoy-metrics-receiver-plugin/build.gradle     |  13 ++
 .../otel-receiver-plugin/build.gradle              |   7 +
 .../receiver-proto/build.gradle                    |   5 +
 .../build.gradle                                   |   5 +
 .../skywalking-clr-receiver-plugin/build.gradle    |   5 +
 .../skywalking-event-receiver-plugin/build.gradle  |   6 +
 .../skywalking-jvm-receiver-plugin/build.gradle    |   6 +
 .../skywalking-log-recevier-plugin/build.gradle    |   6 +
 .../build.gradle                                   |   5 +
 .../skywalking-mesh-receiver-plugin/build.gradle   |   5 +
 .../skywalking-meter-receiver-plugin/build.gradle  |   7 +
 .../build.gradle                                   |   5 +
 .../skywalking-sharing-server-plugin/build.gradle  |   1 +
 .../skywalking-trace-receiver-plugin/build.gradle  |   6 +
 .../skywalking-zabbix-receiver-plugin/build.gradle |   7 +
 .../zipkin-receiver-plugin/build.gradle            |   6 +
 oap-server/server-starter/build.gradle             |  43 ++++
 .../storage-elasticsearch-plugin/build.gradle      |   6 +
 .../storage-influxdb-plugin/build.gradle           |   7 +
 .../storage-jdbc-hikaricp-plugin/build.gradle      |   8 +
 .../storage-tidb-plugin/build.gradle               |   7 +
 .../build.gradle                                   |   7 +
 .../server-telemetry/telemetry-api/build.gradle    |   8 +
 .../telemetry-prometheus/build.gradle              |   9 +
 oap-server/server-testing/build.gradle             |   5 +
 .../tool-profile-snapshot-bootstrap/build.gradle   |   8 +
 .../tool-profile-snapshot-exporter-es/build.gradle |   5 +
 .../tool-profile-snapshot-exporter/build.gradle    |   6 +
 .../tool-profile-snapshot-server-mock/build.gradle |   5 +
 settings.gradle                                    | 165 +++++++++++++++
 77 files changed, 1211 insertions(+), 8 deletions(-)

diff --git a/.gitignore b/.gitignore
index c583d0b..febb8a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-/build/
+build/
 target/
 .idea/
 *.iml
@@ -18,3 +18,4 @@ OALLexer.tokens
 .checkstyle
 .externalToolBuilders
 oap-server/oal-grammar/**/gen/
+.gradle
diff --git a/apm-commons/apm-datacarrier/build.gradle 
b/apm-commons/apm-datacarrier/build.gradle
new file mode 100644
index 0000000..6a40d08
--- /dev/null
+++ b/apm-commons/apm-datacarrier/build.gradle
@@ -0,0 +1,9 @@
+/*
+ * This file was generated by the Gradle 'init' task.
+ */
+
+dependencies {
+    testImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.21'
+}
+
+description = 'apm-datacarrier'
diff --git a/apm-commons/apm-util/build.gradle 
b/apm-commons/apm-util/build.gradle
new file mode 100644
index 0000000..2c718bf
--- /dev/null
+++ b/apm-commons/apm-util/build.gradle
@@ -0,0 +1 @@
+description = 'apm-util'
diff --git a/apm-protocol/apm-network/build.gradle 
b/apm-protocol/apm-network/build.gradle
new file mode 100644
index 0000000..26fd80f
--- /dev/null
+++ b/apm-protocol/apm-network/build.gradle
@@ -0,0 +1,25 @@
+buildscript {
+    repositories {
+        maven {
+            url "https://plugins.gradle.org/m2/";
+        }
+    }
+    dependencies {
+        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17'
+    }
+}
+
+plugins {
+    id "com.google.protobuf"
+    id "java"
+}
+
+dependencies {
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.grpc:grpc-protobuf:1.32.1'
+    implementation 'io.grpc:grpc-stub:1.32.1'
+    implementation 'io.netty:netty-tcnative-boringssl-static:2.0.39.Final'
+    compileOnly 'org.apache.tomcat:annotations-api:6.0.53'
+}
+
+description = 'apm-network'
diff --git a/apm-webapp/build.gradle b/apm-webapp/build.gradle
new file mode 100644
index 0000000..9093749
--- /dev/null
+++ b/apm-webapp/build.gradle
@@ -0,0 +1,18 @@
+/*
+ * This file was generated by the Gradle 'init' task.
+ */
+
+dependencies {
+    implementation 
'org.springframework.cloud:spring-cloud-starter-gateway:3.0.3'
+    implementation 
'org.springframework.cloud:spring-cloud-starter-loadbalancer:3.0.3'
+    implementation 
'org.springframework.boot:spring-boot-starter-actuator:2.4.8'
+    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.2'
+    implementation 'com.google.code.gson:gson:2.8.2'
+    implementation 'org.apache.httpcomponents:httpclient:4.5.3'
+    implementation 'ch.qos.logback:logback-classic:1.2.3'
+    implementation 'org.yaml:snakeyaml:1.28'
+    testImplementation 
'org.springframework.boot:spring-boot-starter-test:2.4.8'
+    compileOnly 'com.sun.activation:javax.activation:1.2.0'
+}
+
+description = 'apm-webapp'
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..e090c91
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,30 @@
+allprojects {
+    apply plugin: 'java'
+    apply plugin: 'idea'
+    apply plugin: 'org.apache.skywalking.java-conventions'
+
+    repositories {
+        mavenCentral()
+    }
+
+    dependencies {
+        compileOnly 'org.projectlombok:lombok:1.18.4'
+        annotationProcessor 'org.projectlombok:lombok:1.18.4'
+        testCompileOnly 'org.projectlombok:lombok:1.18.4'
+        testAnnotationProcessor 'org.projectlombok:lombok:1.18.4'
+    }
+}
+
+buildscript {
+    repositories {
+        mavenCentral()
+    }
+    dependencies {
+        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17'
+    }
+}
+
+
+apply plugin: 'java'
+apply plugin: 'idea'
+apply plugin: 'com.google.protobuf'
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
new file mode 100644
index 0000000..04d80d2
--- /dev/null
+++ b/buildSrc/build.gradle
@@ -0,0 +1,13 @@
+/*
+ * This file was generated by the Gradle 'init' task.
+ */
+
+plugins {
+    // Support convention plugins written in Groovy. Convention plugins are 
build scripts in 'src/main' that automatically become available as plugins in 
the main build.
+    id 'groovy-gradle-plugin'
+}
+
+repositories {
+    // Use the plugin portal to apply community plugins in convention plugins.
+    gradlePluginPortal()
+}
diff --git 
a/buildSrc/src/main/groovy/org.apache.skywalking.java-conventions.gradle 
b/buildSrc/src/main/groovy/org.apache.skywalking.java-conventions.gradle
new file mode 100644
index 0000000..5d10526
--- /dev/null
+++ b/buildSrc/src/main/groovy/org.apache.skywalking.java-conventions.gradle
@@ -0,0 +1,45 @@
+plugins {
+    id 'java-library'
+    id 'maven-publish'
+}
+
+repositories {
+    mavenLocal()
+    maven {
+        url = uri('https://repository.apache.org/snapshots')
+    }
+
+    maven {
+        url = uri('https://repo.maven.apache.org/maven2/')
+    }
+}
+
+dependencies {
+    testImplementation 'junit:junit:4.12'
+    testImplementation 'org.powermock:powermock-module-junit4:2.0.7'
+    testImplementation 'org.powermock:powermock-api-mockito2:2.0.7'
+    testImplementation 'org.objenesis:objenesis:3.1'
+    testImplementation 'org.openjdk.jmh:jmh-core:1.21'
+    compileOnly 'org.projectlombok:lombok:1.18.20'
+    compileOnly 'javax.annotation:javax.annotation-api:1.3.2'
+}
+
+group = 'org.apache.skywalking'
+version = '8.8.0-SNAPSHOT'
+java.sourceCompatibility = JavaVersion.VERSION_1_8
+
+java {
+    withSourcesJar()
+}
+
+publishing {
+    publications {
+        maven(MavenPublication) {
+            from(components.java)
+        }
+    }
+}
+
+tasks.withType(JavaCompile) {
+    options.encoding = 'UTF-8'
+}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..334cf7c
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,24 @@
+group=org.apache.skywalking
+version=8.8.0-SNAPSHOT
+projectName=Apache SkyWalking
+projectUrl=https://skywalking.apache.org
+projectDescription=APM, Application Performance Monitoring System
+authorName=Apache Software Foundation
[email protected]
+authorUrl=https://github.com/apache/skywalking/graphs/contributors
+inceptionYear=2015
+licenseName=The Apache License, Version 2.0
+licenseUrl=https://www.apache.org/license/LICENSE-2.0.txt
+scmUrl=https://github.com/apache/skywalking
+scmConnection=scm:git:https://github.com/apache/skywalking.git
+scmDeveloperConnection=scm:git:ssh://[email protected]/apache/skywalking.git
+javaSourceCompatibility=1.8
+javaTargetCompatibility=1.8
+publishUrlForRelease=https://oss.sonatype.org/service/local/staging/deploy/maven2/
+publishUrlForSnapshot=https://oss.sonatype.org/content/repositories/snapshots/
+publishUsernameProperty=ossrhUsername
+publishPasswordProperty=ossrhPassword
+publishSignatureRequired=true
+
+org.gradle.jvmargs=-Xmx1536m
+systemProp.https.protocols=TLSv1,TLSv1.1,TLSv1.2
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..7454180
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..be52383
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000..1b6c787
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,234 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed 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
+#
+#      https://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.
+#
+
+##############################################################################
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       
https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no 
leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
+
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+
+APP_NAME="Gradle"
+APP_BASE_NAME=${0##*/}
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to 
pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+    echo "$*"
+} >&2
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD=$JAVA_HOME/jre/sh/java
+    else
+        JAVACMD=$JAVA_HOME/bin/java
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD=java
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 
'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with 
options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX 
filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
+        fi
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
+    done
+fi
+
+# Collect all arguments for the java command;
+#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
+#     shell script including quotes and variable substitutions, so put them in
+#     double quotes to make sure that they get re-expanded; and
+#   * put everything else in single quotes, so that it's not re-expanded.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -classpath "$CLASSPATH" \
+        org.gradle.wrapper.GradleWrapperMain \
+        "$@"
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes 
removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..107acd3
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code 
instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/oap-server/analyzer/agent-analyzer/build.gradle 
b/oap-server/analyzer/agent-analyzer/build.gradle
new file mode 100644
index 0000000..396383a
--- /dev/null
+++ b/oap-server/analyzer/agent-analyzer/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':server-core')
+    implementation project(':meter-analyzer')
+}
+
+description = 'agent-analyzer'
diff --git a/oap-server/analyzer/event-analyzer/build.gradle 
b/oap-server/analyzer/event-analyzer/build.gradle
new file mode 100644
index 0000000..551cbca
--- /dev/null
+++ b/oap-server/analyzer/event-analyzer/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':server-core')
+}
+
+description = 'event-analyzer'
diff --git a/oap-server/analyzer/log-analyzer/build.gradle 
b/oap-server/analyzer/log-analyzer/build.gradle
new file mode 100644
index 0000000..fe01e4e
--- /dev/null
+++ b/oap-server/analyzer/log-analyzer/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':meter-analyzer')
+    implementation 'org.codehaus.groovy:groovy:3.0.8'
+    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.2'
+}
+
+description = 'log-analyzer'
diff --git a/oap-server/analyzer/meter-analyzer/build.gradle 
b/oap-server/analyzer/meter-analyzer/build.gradle
new file mode 100644
index 0000000..79228f4
--- /dev/null
+++ b/oap-server/analyzer/meter-analyzer/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':server-core')
+    implementation 'org.codehaus.groovy:groovy:3.0.8'
+    implementation 'io.vavr:vavr:0.10.3'
+    implementation 'io.kubernetes:client-java:13.0.0'
+}
+
+description = 'meter-analyzer'
diff --git a/oap-server/exporter/build.gradle b/oap-server/exporter/build.gradle
new file mode 100644
index 0000000..91d0ff0
--- /dev/null
+++ b/oap-server/exporter/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':server-core')
+    testImplementation 'io.grpc:grpc-testing:1.32.1'
+}
+
+description = 'exporter'
diff --git a/oap-server/oal-grammar/build.gradle 
b/oap-server/oal-grammar/build.gradle
new file mode 100644
index 0000000..d159e50
--- /dev/null
+++ b/oap-server/oal-grammar/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation 'org.antlr:antlr4-runtime:4.7.1'
+}
+
+description = 'oal-grammar'
diff --git a/oap-server/oal-rt/build.gradle b/oap-server/oal-rt/build.gradle
new file mode 100644
index 0000000..0f0480f
--- /dev/null
+++ b/oap-server/oal-rt/build.gradle
@@ -0,0 +1,9 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':oal-grammar')
+    implementation 'org.antlr:antlr4-runtime:4.7.1'
+    implementation 'org.freemarker:freemarker:2.3.28'
+    implementation 'commons-io:commons-io:2.6'
+}
+
+description = 'oal-rt'
diff --git a/oap-server/server-alarm-plugin/build.gradle 
b/oap-server/server-alarm-plugin/build.gradle
new file mode 100644
index 0000000..846f990
--- /dev/null
+++ b/oap-server/server-alarm-plugin/build.gradle
@@ -0,0 +1,10 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':library-util')
+    implementation project(':event-analyzer')
+    implementation 'org.mvel:mvel2:2.4.8.Final'
+    implementation 'org.apache.httpcomponents:httpclient:4.5.13'
+    testImplementation 'io.grpc:grpc-testing:1.32.1'
+}
+
+description = 'server-alarm-plugin'
diff --git 
a/oap-server/server-cluster-plugin/cluster-consul-plugin/build.gradle 
b/oap-server/server-cluster-plugin/cluster-consul-plugin/build.gradle
new file mode 100644
index 0000000..91fc7ea
--- /dev/null
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':server-core')
+    implementation 'com.orbitz.consul:consul-client:1.4.2'
+}
+
+description = 'cluster-consul-plugin'
diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/build.gradle 
b/oap-server/server-cluster-plugin/cluster-etcd-plugin/build.gradle
new file mode 100644
index 0000000..d293981
--- /dev/null
+++ b/oap-server/server-cluster-plugin/cluster-etcd-plugin/build.gradle
@@ -0,0 +1,14 @@
+dependencies {
+    implementation project(':server-core')
+    implementation 'io.etcd:jetcd-core:0.5.3'
+    implementation 'io.grpc:grpc-core:1.32.1'
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.netty:netty-codec-http2:4.1.65.Final'
+    implementation 'io.netty:netty-handler-proxy:4.1.65.Final'
+    implementation 'io.grpc:grpc-protobuf:1.32.1'
+    implementation 'io.grpc:grpc-stub:1.32.1'
+    implementation 'io.grpc:grpc-grpclb:1.32.1'
+    implementation 'org.yaml:snakeyaml:1.28'
+}
+
+description = 'cluster-etcd-plugin'
diff --git 
a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/build.gradle 
b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/build.gradle
new file mode 100644
index 0000000..d3769a6
--- /dev/null
+++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':server-core')
+    implementation 'io.kubernetes:client-java:13.0.0'
+    testImplementation project(':server-testing')
+}
+
+description = 'cluster-kubernetes-plugin'
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/build.gradle 
b/oap-server/server-cluster-plugin/cluster-nacos-plugin/build.gradle
new file mode 100644
index 0000000..ee27578
--- /dev/null
+++ b/oap-server/server-cluster-plugin/cluster-nacos-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':server-core')
+    implementation 'com.alibaba.nacos:nacos-client:1.4.2'
+    implementation 'org.apache.httpcomponents:httpcore-nio:4.4.13'
+}
+
+description = 'cluster-nacos-plugin'
diff --git 
a/oap-server/server-cluster-plugin/cluster-standalone-plugin/build.gradle 
b/oap-server/server-cluster-plugin/cluster-standalone-plugin/build.gradle
new file mode 100644
index 0000000..a4df314
--- /dev/null
+++ b/oap-server/server-cluster-plugin/cluster-standalone-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':server-core')
+}
+
+description = 'cluster-standalone-plugin'
diff --git 
a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/build.gradle 
b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/build.gradle
new file mode 100644
index 0000000..084ed10
--- /dev/null
+++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':server-core')
+    implementation 'com.google.code.gson:gson:2.8.6'
+    implementation 'org.apache.curator:curator-x-discovery:4.3.0'
+    testImplementation 'org.apache.curator:curator-test:2.12.0'
+}
+
+description = 'cluster-zookeeper-plugin'
diff --git a/oap-server/server-configuration/configuration-api/build.gradle 
b/oap-server/server-configuration/configuration-api/build.gradle
new file mode 100644
index 0000000..895fbf9
--- /dev/null
+++ b/oap-server/server-configuration/configuration-api/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':library-module')
+    implementation project(':apm-util')
+    implementation 'org.slf4j:slf4j-log4j12:1.7.32'
+}
+
+description = 'configuration-api'
diff --git a/oap-server/server-configuration/configuration-apollo/build.gradle 
b/oap-server/server-configuration/configuration-apollo/build.gradle
new file mode 100644
index 0000000..b18d3c7
--- /dev/null
+++ b/oap-server/server-configuration/configuration-apollo/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':library-client')
+    implementation 'com.ctrip.framework.apollo:apollo-client:1.8.0'
+    testImplementation 'org.apache.httpcomponents:httpclient:4.5.13'
+}
+
+description = 'configuration-apollo'
diff --git a/oap-server/server-configuration/configuration-consul/build.gradle 
b/oap-server/server-configuration/configuration-consul/build.gradle
new file mode 100644
index 0000000..dc8db71
--- /dev/null
+++ b/oap-server/server-configuration/configuration-consul/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':library-client')
+    implementation 'com.orbitz.consul:consul-client:1.2.6'
+}
+
+description = 'configuration-consul'
diff --git a/oap-server/server-configuration/configuration-etcd/build.gradle 
b/oap-server/server-configuration/configuration-etcd/build.gradle
new file mode 100644
index 0000000..3de4ff1
--- /dev/null
+++ b/oap-server/server-configuration/configuration-etcd/build.gradle
@@ -0,0 +1,14 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation 'io.etcd:jetcd-core:0.5.3'
+    implementation 'io.grpc:grpc-core:1.32.1'
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.netty:netty-codec-http2:4.1.65.Final'
+    implementation 'io.netty:netty-handler-proxy:4.1.65.Final'
+    implementation 'io.grpc:grpc-protobuf:1.32.1'
+    implementation 'io.grpc:grpc-stub:1.32.1'
+    implementation 'io.grpc:grpc-grpclb:1.32.1'
+    implementation 'org.yaml:snakeyaml:1.28'
+}
+
+description = 'configuration-etcd'
diff --git 
a/oap-server/server-configuration/configuration-k8s-configmap/build.gradle 
b/oap-server/server-configuration/configuration-k8s-configmap/build.gradle
new file mode 100644
index 0000000..cd836cb
--- /dev/null
+++ b/oap-server/server-configuration/configuration-k8s-configmap/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':server-core')
+    implementation 'io.kubernetes:client-java:13.0.0'
+    implementation project(':library-client')
+}
+
+description = 'configuration-k8s-configmap'
diff --git a/oap-server/server-configuration/configuration-nacos/build.gradle 
b/oap-server/server-configuration/configuration-nacos/build.gradle
new file mode 100644
index 0000000..d25fd28
--- /dev/null
+++ b/oap-server/server-configuration/configuration-nacos/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':library-client')
+    implementation 'com.alibaba.nacos:nacos-client:1.4.2'
+}
+
+description = 'configuration-nacos'
diff --git 
a/oap-server/server-configuration/configuration-zookeeper/build.gradle 
b/oap-server/server-configuration/configuration-zookeeper/build.gradle
new file mode 100644
index 0000000..2277839
--- /dev/null
+++ b/oap-server/server-configuration/configuration-zookeeper/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':library-client')
+    implementation project(':cluster-zookeeper-plugin')
+}
+
+description = 'configuration-zookeeper'
diff --git 
a/oap-server/server-configuration/grpc-configuration-sync/build.gradle 
b/oap-server/server-configuration/grpc-configuration-sync/build.gradle
new file mode 100644
index 0000000..e717ba9
--- /dev/null
+++ b/oap-server/server-configuration/grpc-configuration-sync/build.gradle
@@ -0,0 +1,10 @@
+dependencies {
+    implementation project(':configuration-api')
+    implementation project(':library-client')
+    implementation 'io.grpc:grpc-core:1.32.1'
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.grpc:grpc-protobuf:1.32.1'
+    implementation 'io.grpc:grpc-stub:1.32.1'
+}
+
+description = 'grpc-configuration-sync'
diff --git a/oap-server/server-core/build.gradle 
b/oap-server/server-core/build.gradle
new file mode 100644
index 0000000..d8e784b
--- /dev/null
+++ b/oap-server/server-core/build.gradle
@@ -0,0 +1,57 @@
+buildscript {
+    repositories {
+        maven {
+            url "https://plugins.gradle.org/m2/";
+        }
+    }
+    dependencies {
+        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17'
+    }
+}
+
+plugins {
+    id "com.google.protobuf"
+    id "java"
+}
+
+dependencies {
+    implementation 'org.yaml:snakeyaml:1.28'
+    implementation project(':library-module')
+    implementation project(':telemetry-api')
+    implementation project(':configuration-api')
+    implementation project(':library-util')
+    implementation project(':library-client')
+    implementation project(':library-server')
+    implementation project(':apm-datacarrier')
+    implementation project(':apm-network')
+    implementation project(':apm-util')
+    implementation 'io.grpc:grpc-core:1.32.1'
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.grpc:grpc-protobuf:1.32.1'
+    implementation 'io.grpc:grpc-stub:1.32.1'
+    implementation 'org.javassist:javassist:3.25.0-GA'
+    implementation 'com.google.protobuf:protobuf-java:3.13.0'
+    implementation 'com.google.protobuf:protobuf-java-util:3.12.4'
+    implementation 'io.vavr:vavr:0.10.3'
+    implementation 'joda-time:joda-time:2.10.5'
+    implementation 'org.slf4j:slf4j-log4j12:1.7.32'
+    implementation 'org.apache.logging.log4j:log4j-api:2.14.1'
+    implementation 'org.apache.logging.log4j:log4j-core:2.14.1'
+    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.2'
+
+    testImplementation project(':server-testing')
+    testImplementation 'io.grpc:grpc-testing:1.32.1'
+    testImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.21'
+}
+
+description = 'server-core'
+
+protobuf {
+    protoc { artifact = "com.google.protobuf:protoc:3.0.0" }
+    plugins {
+        grpc { artifact = "io.grpc:protoc-gen-grpc-java:1.32.1" }
+    }
+    generateProtoTasks {
+        all()*.plugins { grpc {} }
+    }
+}
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/StringFormatGroup.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/StringFormatGroup.java
index a0602fb..a564d31 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/StringFormatGroup.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/config/group/StringFormatGroup.java
@@ -68,13 +68,6 @@ public class StringFormatGroup {
         return new FormatResult(false, string);
     }
 
-    @Override
-    public String toString() {
-        return "StringFormatGroup{" +
-            "rules=" + rules +
-            '}';
-    }
-
     @RequiredArgsConstructor
     @Getter
     public static class FormatResult {
diff --git a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/build.gradle 
b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/build.gradle
new file mode 100644
index 0000000..368a129
--- /dev/null
+++ b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':agent-analyzer')
+    implementation project(':log-analyzer')
+    implementation 'org.apache.kafka:kafka-clients:2.4.1'
+    testImplementation 
'org.springframework.kafka:spring-kafka-test:2.4.6.RELEASE'
+}
+
+description = 'kafka-fetcher-plugin'
diff --git 
a/oap-server/server-fetcher-plugin/prometheus-fetcher-plugin/build.gradle 
b/oap-server/server-fetcher-plugin/prometheus-fetcher-plugin/build.gradle
new file mode 100644
index 0000000..7595426
--- /dev/null
+++ b/oap-server/server-fetcher-plugin/prometheus-fetcher-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':meter-analyzer')
+    implementation 'org.yaml:snakeyaml:1.28'
+}
+
+description = 'prometheus-fetcher-plugin'
diff --git a/oap-server/server-health-checker/build.gradle 
b/oap-server/server-health-checker/build.gradle
new file mode 100644
index 0000000..302f233
--- /dev/null
+++ b/oap-server/server-health-checker/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':server-core')
+}
+
+description = 'server-health-checker'
diff --git a/oap-server/server-library/library-client/build.gradle 
b/oap-server/server-library/library-client/build.gradle
new file mode 100644
index 0000000..94f9d67
--- /dev/null
+++ b/oap-server/server-library/library-client/build.gradle
@@ -0,0 +1,19 @@
+dependencies {
+    implementation project(':library-util')
+    implementation project(':library-elasticsearch-client')
+    implementation project(':apm-util')
+    implementation 'io.grpc:grpc-core:1.32.1'
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.netty:netty-codec-http2:4.1.65.Final'
+    implementation 'io.netty:netty-handler:4.1.65.Final'
+    implementation 'io.netty:netty-handler-proxy:4.1.65.Final'
+    implementation 'com.google.code.gson:gson:2.8.6'
+    implementation 'com.zaxxer:HikariCP:3.1.0'
+    implementation 'commons-dbcp:commons-dbcp:1.4'
+    implementation 'org.slf4j:jcl-over-slf4j:1.7.30'
+    implementation 'com.google.guava:guava:30.1.1-jre'
+
+    testImplementation 'org.testcontainers:elasticsearch:1.15.3'
+}
+
+description = 'library-client'
diff --git 
a/oap-server/server-library/library-elasticsearch-client/build.gradle 
b/oap-server/server-library/library-elasticsearch-client/build.gradle
new file mode 100644
index 0000000..41e1d30
--- /dev/null
+++ b/oap-server/server-library/library-elasticsearch-client/build.gradle
@@ -0,0 +1,10 @@
+dependencies {
+    implementation 'com.linecorp.armeria:armeria:1.11.0'
+    implementation 'com.google.guava:guava:30.1.1-jre'
+    implementation project(':apm-util')
+
+    testImplementation 'org.testcontainers:elasticsearch:1.15.3'
+    testImplementation 'org.awaitility:awaitility:3.0.0'
+}
+
+description = 'library-elasticsearch-client'
diff --git a/oap-server/server-library/library-module/build.gradle 
b/oap-server/server-library/library-module/build.gradle
new file mode 100644
index 0000000..9561c0a
--- /dev/null
+++ b/oap-server/server-library/library-module/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':library-util')
+    implementation 'org.slf4j:slf4j-log4j12:1.7.32'
+}
+
+description = 'library-module'
diff --git a/oap-server/server-library/library-server/build.gradle 
b/oap-server/server-library/library-server/build.gradle
new file mode 100644
index 0000000..cee329a
--- /dev/null
+++ b/oap-server/server-library/library-server/build.gradle
@@ -0,0 +1,18 @@
+dependencies {
+    implementation project(':library-util')
+    implementation project(':apm-util')
+    implementation 'io.grpc:grpc-netty:1.32.1'
+    implementation 'io.grpc:grpc-protobuf:1.32.1'
+    implementation 'io.grpc:grpc-stub:1.32.1'
+    implementation 'org.eclipse.jetty:jetty-server:9.4.40.v20210413'
+    implementation 'org.eclipse.jetty:jetty-servlet:9.4.40.v20210413'
+    implementation 'io.netty:netty-handler:4.1.65.Final'
+    implementation 'io.netty:netty-codec:4.1.65.Final'
+    implementation 'io.netty:netty-codec-http:4.1.65.Final'
+    implementation 'io.netty:netty-codec-http2:4.1.65.Final'
+    implementation 'org.slf4j:slf4j-log4j12:1.7.32'
+    implementation 'com.google.code.gson:gson:2.8.6'
+    testImplementation 'io.grpc:grpc-testing:1.32.1'
+}
+
+description = 'library-server'
diff --git a/oap-server/server-library/library-util/build.gradle 
b/oap-server/server-library/library-util/build.gradle
new file mode 100644
index 0000000..964db42
--- /dev/null
+++ b/oap-server/server-library/library-util/build.gradle
@@ -0,0 +1,13 @@
+dependencies {
+    implementation 'joda-time:joda-time:2.10.5'
+    implementation 'com.google.protobuf:protobuf-java:3.13.0'
+    implementation 'com.google.protobuf:protobuf-java-util:3.12.4'
+    implementation 'org.apache.commons:commons-text:1.4'
+    implementation 'org.yaml:snakeyaml:1.28'
+    implementation 'org.slf4j:slf4j-log4j12:1.7.32'
+    implementation project(':apm-util')
+
+    testImplementation 'com.github.stefanbirkner:system-rules:1.18.0'
+}
+
+description = 'library-util'
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/build.gradle 
b/oap-server/server-query-plugin/query-graphql-plugin/build.gradle
new file mode 100644
index 0000000..68bf3ca
--- /dev/null
+++ b/oap-server/server-query-plugin/query-graphql-plugin/build.gradle
@@ -0,0 +1,11 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':server-health-checker')
+    implementation project(':log-analyzer')
+    implementation 'com.graphql-java:graphql-java:8.0'
+    implementation 'com.graphql-java:graphql-java-tools:5.2.3'
+    implementation 'com.google.code.gson:gson:2.8.6'
+    implementation 
'com.fasterxml.jackson.module:jackson-module-afterburner:2.12.2'
+}
+
+description = 'query-graphql-plugin'
diff --git 
a/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/build.gradle
new file mode 100644
index 0000000..5b080e7
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'configuration-discovery-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/build.gradle 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/build.gradle
new file mode 100644
index 0000000..456dc89
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/build.gradle
@@ -0,0 +1,13 @@
+dependencies {
+    implementation project(':receiver-proto')
+    implementation project(':meter-analyzer')
+    implementation project(':log-analyzer')
+    implementation project(':skywalking-mesh-receiver-plugin')
+    implementation 'io.kubernetes:client-java:13.0.0'
+    implementation 'commons-beanutils:commons-beanutils:1.9.4'
+    implementation 'com.google.flatbuffers:flatbuffers-java:1.12.0'
+    testImplementation 'com.google.protobuf:protobuf-java-util:3.12.4'
+    compileOnly 'org.apache.tomcat:annotations-api:6.0.53'
+}
+
+description = 'envoy-metrics-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/otel-receiver-plugin/build.gradle 
b/oap-server/server-receiver-plugin/otel-receiver-plugin/build.gradle
new file mode 100644
index 0000000..1809975
--- /dev/null
+++ b/oap-server/server-receiver-plugin/otel-receiver-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':receiver-proto')
+    implementation project(':skywalking-sharing-server-plugin')
+    implementation project(':meter-analyzer')
+}
+
+description = 'otel-receiver-plugin'
diff --git a/oap-server/server-receiver-plugin/receiver-proto/build.gradle 
b/oap-server/server-receiver-plugin/receiver-proto/build.gradle
new file mode 100644
index 0000000..811a3e2
--- /dev/null
+++ b/oap-server/server-receiver-plugin/receiver-proto/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    compileOnly 'com.google.flatbuffers:flatbuffers-java:1.12.0'
+}
+
+description = 'receiver-proto'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/build.gradle
new file mode 100644
index 0000000..4f84f46
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-browser-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/build.gradle 
b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/build.gradle
new file mode 100644
index 0000000..20ad224
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-clr-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/build.gradle
new file mode 100644
index 0000000..bf4b98e
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':event-analyzer')
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-event-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/build.gradle 
b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/build.gradle
new file mode 100644
index 0000000..38e99a9
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':agent-analyzer')
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-jvm-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/build.gradle 
b/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/build.gradle
new file mode 100644
index 0000000..94305ba
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':log-analyzer')
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-log-recevier-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/build.gradle
new file mode 100644
index 0000000..4c18275
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-management-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/build.gradle
new file mode 100644
index 0000000..82e9772
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-mesh-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/build.gradle
new file mode 100644
index 0000000..ccc4c64
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+    implementation 'io.vavr:vavr:0.10.3'
+    implementation project(':agent-analyzer')
+}
+
+description = 'skywalking-meter-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/build.gradle
new file mode 100644
index 0000000..e1389dd
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+}
+
+description = 'skywalking-profile-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/build.gradle
new file mode 100644
index 0000000..e98b0b5
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/build.gradle
@@ -0,0 +1 @@
+description = 'skywalking-sharing-server-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/build.gradle
new file mode 100644
index 0000000..f0b4983
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+    implementation project(':agent-analyzer')
+}
+
+description = 'skywalking-trace-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/build.gradle
 
b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/build.gradle
new file mode 100644
index 0000000..5219a00
--- /dev/null
+++ 
b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':skywalking-sharing-server-plugin')
+    implementation project(':meter-analyzer')
+    testImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.21'
+}
+
+description = 'skywalking-zabbix-receiver-plugin'
diff --git 
a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/build.gradle 
b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/build.gradle
new file mode 100644
index 0000000..4e86a55
--- /dev/null
+++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':storage-zipkin-elasticsearch-plugin')
+    implementation 'io.zipkin.zipkin2:zipkin:2.9.1'
+}
+
+description = 'zipkin-receiver-plugin'
diff --git a/oap-server/server-starter/build.gradle 
b/oap-server/server-starter/build.gradle
new file mode 100644
index 0000000..3545d47
--- /dev/null
+++ b/oap-server/server-starter/build.gradle
@@ -0,0 +1,43 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':oal-rt')
+    implementation project(':cluster-standalone-plugin')
+    implementation project(':cluster-zookeeper-plugin')
+    implementation project(':cluster-kubernetes-plugin')
+    implementation project(':cluster-consul-plugin')
+    implementation project(':cluster-etcd-plugin')
+    implementation project(':cluster-nacos-plugin')
+    implementation project(':skywalking-mesh-receiver-plugin')
+    implementation project(':skywalking-management-receiver-plugin')
+    implementation project(':skywalking-jvm-receiver-plugin')
+    implementation project(':skywalking-trace-receiver-plugin')
+    implementation project(':envoy-metrics-receiver-plugin')
+    implementation project(':skywalking-clr-receiver-plugin')
+    implementation project(':skywalking-profile-receiver-plugin')
+    implementation project(':otel-receiver-plugin')
+    implementation project(':skywalking-meter-receiver-plugin')
+    implementation project(':skywalking-browser-receiver-plugin')
+    implementation project(':skywalking-log-recevier-plugin')
+    implementation project(':configuration-discovery-receiver-plugin')
+    implementation project(':skywalking-event-receiver-plugin')
+    implementation project(':skywalking-zabbix-receiver-plugin')
+    implementation project(':prometheus-fetcher-plugin')
+    implementation project(':kafka-fetcher-plugin')
+    implementation project(':storage-jdbc-hikaricp-plugin')
+    implementation project(':storage-influxdb-plugin')
+    implementation project(':storage-tidb-plugin')
+    implementation project(':query-graphql-plugin')
+    implementation project(':server-alarm-plugin')
+    implementation project(':telemetry-prometheus')
+    implementation project(':exporter')
+    implementation project(':grpc-configuration-sync')
+    implementation project(':configuration-apollo')
+    implementation project(':configuration-zookeeper')
+    implementation project(':configuration-etcd')
+    implementation project(':configuration-consul')
+    implementation project(':configuration-k8s-configmap')
+    implementation project(':configuration-nacos')
+    implementation project(':storage-elasticsearch-plugin')
+}
+
+description = 'server-starter'
diff --git 
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/build.gradle 
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/build.gradle
new file mode 100644
index 0000000..68fe491
--- /dev/null
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':library-client')
+}
+
+description = 'storage-elasticsearch-plugin'
diff --git 
a/oap-server/server-storage-plugin/storage-influxdb-plugin/build.gradle 
b/oap-server/server-storage-plugin/storage-influxdb-plugin/build.gradle
new file mode 100644
index 0000000..d141230
--- /dev/null
+++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':library-client')
+    implementation 'org.influxdb:influxdb-java:2.15'
+}
+
+description = 'storage-influxdb-plugin'
diff --git 
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/build.gradle 
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/build.gradle
new file mode 100644
index 0000000..f907080
--- /dev/null
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':library-client')
+    implementation 'com.h2database:h2:1.4.196'
+    implementation 'org.postgresql:postgresql:42.2.18'
+}
+
+description = 'storage-jdbc-hikaricp-plugin'
diff --git a/oap-server/server-storage-plugin/storage-tidb-plugin/build.gradle 
b/oap-server/server-storage-plugin/storage-tidb-plugin/build.gradle
new file mode 100644
index 0000000..25ee691
--- /dev/null
+++ b/oap-server/server-storage-plugin/storage-tidb-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':server-core')
+    implementation project(':library-client')
+    implementation project(':storage-jdbc-hikaricp-plugin')
+}
+
+description = 'storage-tidb-plugin'
diff --git 
a/oap-server/server-storage-plugin/storage-zipkin-elasticsearch-plugin/build.gradle
 
b/oap-server/server-storage-plugin/storage-zipkin-elasticsearch-plugin/build.gradle
new file mode 100644
index 0000000..79bf3d8
--- /dev/null
+++ 
b/oap-server/server-storage-plugin/storage-zipkin-elasticsearch-plugin/build.gradle
@@ -0,0 +1,7 @@
+dependencies {
+    implementation project(':library-elasticsearch-client')
+    implementation project(':storage-elasticsearch-plugin')
+    implementation 'io.zipkin.zipkin2:zipkin:2.9.1'
+}
+
+description = 'storage-zipkin-elasticsearch-plugin'
diff --git a/oap-server/server-telemetry/telemetry-api/build.gradle 
b/oap-server/server-telemetry/telemetry-api/build.gradle
new file mode 100644
index 0000000..4f84447
--- /dev/null
+++ b/oap-server/server-telemetry/telemetry-api/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':library-module')
+    implementation project(':library-util')
+    implementation 'com.google.guava:guava:30.1.1-jre'
+    implementation 'org.slf4j:slf4j-log4j12:1.7.32'
+}
+
+description = 'telemetry-api'
diff --git a/oap-server/server-telemetry/telemetry-prometheus/build.gradle 
b/oap-server/server-telemetry/telemetry-prometheus/build.gradle
new file mode 100644
index 0000000..7029084
--- /dev/null
+++ b/oap-server/server-telemetry/telemetry-prometheus/build.gradle
@@ -0,0 +1,9 @@
+dependencies {
+    implementation project(':library-server')
+    implementation project(':telemetry-api')
+    implementation 'io.prometheus:simpleclient:0.6.0'
+    implementation 'io.prometheus:simpleclient_common:0.6.0'
+    implementation 'io.prometheus:simpleclient_hotspot:0.6.0'
+}
+
+description = 'telemetry-prometheus'
diff --git a/oap-server/server-testing/build.gradle 
b/oap-server/server-testing/build.gradle
new file mode 100644
index 0000000..a2b9718
--- /dev/null
+++ b/oap-server/server-testing/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':library-module')
+}
+
+description = 'server-testing'
diff --git 
a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/build.gradle
 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/build.gradle
new file mode 100644
index 0000000..38b1cb2
--- /dev/null
+++ 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+    implementation project(':server-starter')
+    implementation project(':tool-profile-snapshot-server-mock')
+    implementation project(':storage-jdbc-hikaricp-plugin')
+    implementation project(':storage-influxdb-plugin')
+}
+
+description = 'tool-profile-snapshot-bootstrap'
diff --git 
a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter-es/build.gradle
 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter-es/build.gradle
new file mode 100644
index 0000000..c3c4466
--- /dev/null
+++ 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter-es/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':tool-profile-snapshot-bootstrap')
+}
+
+description = 'tool-profile-snapshot-exporter-es7'
diff --git 
a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter/build.gradle
 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter/build.gradle
new file mode 100644
index 0000000..fd9e932
--- /dev/null
+++ 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter/build.gradle
@@ -0,0 +1,6 @@
+dependencies {
+    implementation project(':tool-profile-snapshot-bootstrap')
+    implementation project(':storage-elasticsearch-plugin')
+}
+
+description = 'tool-profile-snapshot-exporter'
diff --git 
a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/build.gradle
 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/build.gradle
new file mode 100644
index 0000000..54c1dcf
--- /dev/null
+++ 
b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+    implementation project(':server-core')
+}
+
+description = 'tool-profile-snapshot-server-mock'
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..7d60a42
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,165 @@
+/*
+ * This file was generated by the Gradle 'init' task.
+ */
+
+rootProject.name = 'apm'
+include(':server-core')
+include(':library-client')
+include(':apm-commons')
+include(':skywalking-profile-receiver-plugin')
+include(':cluster-etcd-plugin')
+include(':meter-analyzer')
+include(':server-tools')
+include(':server-query-plugin')
+include(':event-analyzer')
+include(':exporter')
+include(':configuration-consul')
+include(':library-server')
+include(':configuration-discovery-receiver-plugin')
+include(':oal-rt')
+include(':skywalking-log-recevier-plugin')
+include(':prometheus-fetcher-plugin')
+include(':log-analyzer')
+include(':cluster-standalone-plugin')
+include(':cluster-kubernetes-plugin')
+include(':server-cluster-plugin')
+include(':storage-elasticsearch-plugin')
+include(':server-storage-plugin')
+include(':telemetry-prometheus')
+include(':library-util')
+include(':apm-webapp')
+include(':library-elasticsearch-client')
+include(':skywalking-event-receiver-plugin')
+include(':configuration-k8s-configmap')
+include(':telemetry-api')
+include(':skywalking-clr-receiver-plugin')
+include(':server-configuration')
+include(':apache-skywalking-apm')
+include(':zipkin-receiver-plugin')
+include(':oap-server-bom')
+include(':skywalking-zabbix-receiver-plugin')
+include(':cluster-consul-plugin')
+include(':oap-protocol')
+include(':tool-profile-snapshot-exporter')
+include(':server-receiver-plugin')
+include(':kafka-fetcher-plugin')
+include(':oap-server')
+include(':apm-network')
+include(':skywalking-mesh-receiver-plugin')
+include(':server-starter')
+include(':apm-util')
+include(':skywalking-browser-receiver-plugin')
+include(':configuration-nacos')
+include(':skywalking-sharing-server-plugin')
+include(':skywalking-management-receiver-plugin')
+include(':query-graphql-plugin')
+include(':storage-tidb-plugin')
+include(':configuration-api')
+include(':profile-exporter')
+include(':grpc-configuration-sync')
+include(':server-fetcher-plugin')
+include(':cluster-zookeeper-plugin')
+include(':server-alarm-plugin')
+include(':server-testing')
+include(':cluster-nacos-plugin')
+include(':otel-receiver-plugin')
+include(':tool-profile-snapshot-exporter-es7')
+include(':storage-zipkin-elasticsearch-plugin')
+include(':oal-grammar')
+include(':analyzer')
+include(':tool-profile-snapshot-server-mock')
+include(':tool-profile-snapshot-bootstrap')
+include(':receiver-proto')
+include(':server-telemetry')
+include(':server-health-checker')
+include(':configuration-zookeeper')
+include(':configuration-etcd')
+include(':library-module')
+include(':agent-analyzer')
+include(':configuration-apollo')
+include(':skywalking-meter-receiver-plugin')
+include(':skywalking-trace-receiver-plugin')
+include(':apm-datacarrier')
+include(':storage-jdbc-hikaricp-plugin')
+include(':server-library')
+include(':skywalking-jvm-receiver-plugin')
+include(':storage-influxdb-plugin')
+include(':envoy-metrics-receiver-plugin')
+project(":server-core").projectDir = file('oap-server/server-core')
+project(":library-client").projectDir = 
file('oap-server/server-library/library-client')
+project(":skywalking-profile-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin')
+project(":cluster-etcd-plugin").projectDir = 
file('oap-server/server-cluster-plugin/cluster-etcd-plugin')
+project(":meter-analyzer").projectDir = 
file('oap-server/analyzer/meter-analyzer')
+project(":server-tools").projectDir = file('oap-server/server-tools')
+project(":server-query-plugin").projectDir = 
file('oap-server/server-query-plugin')
+project(":event-analyzer").projectDir = 
file('oap-server/analyzer/event-analyzer')
+project(":exporter").projectDir = file('oap-server/exporter')
+project(":configuration-consul").projectDir = 
file('oap-server/server-configuration/configuration-consul')
+project(":library-server").projectDir = 
file('oap-server/server-library/library-server')
+project(":configuration-discovery-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin')
+project(":oal-rt").projectDir = file('oap-server/oal-rt')
+project(":skywalking-log-recevier-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-log-recevier-plugin')
+project(":prometheus-fetcher-plugin").projectDir = 
file('oap-server/server-fetcher-plugin/prometheus-fetcher-plugin')
+project(":log-analyzer").projectDir = file('oap-server/analyzer/log-analyzer')
+project(":cluster-standalone-plugin").projectDir = 
file('oap-server/server-cluster-plugin/cluster-standalone-plugin')
+project(":cluster-kubernetes-plugin").projectDir = 
file('oap-server/server-cluster-plugin/cluster-kubernetes-plugin')
+project(":server-cluster-plugin").projectDir = 
file('oap-server/server-cluster-plugin')
+project(":storage-elasticsearch-plugin").projectDir = 
file('oap-server/server-storage-plugin/storage-elasticsearch-plugin')
+project(":server-storage-plugin").projectDir = 
file('oap-server/server-storage-plugin')
+project(":telemetry-prometheus").projectDir = 
file('oap-server/server-telemetry/telemetry-prometheus')
+project(":library-util").projectDir = 
file('oap-server/server-library/library-util')
+project(":library-elasticsearch-client").projectDir = 
file('oap-server/server-library/library-elasticsearch-client')
+project(":skywalking-event-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-event-receiver-plugin')
+project(":configuration-k8s-configmap").projectDir = 
file('oap-server/server-configuration/configuration-k8s-configmap')
+project(":telemetry-api").projectDir = 
file('oap-server/server-telemetry/telemetry-api')
+project(":skywalking-clr-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin')
+project(":server-configuration").projectDir = 
file('oap-server/server-configuration')
+project(":apache-skywalking-apm").projectDir = file('apm-dist')
+project(":zipkin-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/zipkin-receiver-plugin')
+project(":skywalking-zabbix-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin')
+project(":cluster-consul-plugin").projectDir = 
file('oap-server/server-cluster-plugin/cluster-consul-plugin')
+project(":oap-protocol").projectDir = file('apm-protocol')
+project(":tool-profile-snapshot-exporter").projectDir = 
file('oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter')
+project(":server-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin')
+project(":kafka-fetcher-plugin").projectDir = 
file('oap-server/server-fetcher-plugin/kafka-fetcher-plugin')
+project(":apm-network").projectDir = file('apm-protocol/apm-network')
+project(":skywalking-mesh-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin')
+project(":server-starter").projectDir = file('oap-server/server-starter')
+project(":apm-util").projectDir = file('apm-commons/apm-util')
+project(":skywalking-browser-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin')
+project(":configuration-nacos").projectDir = 
file('oap-server/server-configuration/configuration-nacos')
+project(":skywalking-sharing-server-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-sharing-server-plugin')
+project(":skywalking-management-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-management-receiver-plugin')
+project(":query-graphql-plugin").projectDir = 
file('oap-server/server-query-plugin/query-graphql-plugin')
+project(":storage-tidb-plugin").projectDir = 
file('oap-server/server-storage-plugin/storage-tidb-plugin')
+project(":configuration-api").projectDir = 
file('oap-server/server-configuration/configuration-api')
+project(":profile-exporter").projectDir = 
file('oap-server/server-tools/profile-exporter')
+project(":grpc-configuration-sync").projectDir = 
file('oap-server/server-configuration/grpc-configuration-sync')
+project(":server-fetcher-plugin").projectDir = 
file('oap-server/server-fetcher-plugin')
+project(":cluster-zookeeper-plugin").projectDir = 
file('oap-server/server-cluster-plugin/cluster-zookeeper-plugin')
+project(":server-alarm-plugin").projectDir = 
file('oap-server/server-alarm-plugin')
+project(":server-testing").projectDir = file('oap-server/server-testing')
+project(":cluster-nacos-plugin").projectDir = 
file('oap-server/server-cluster-plugin/cluster-nacos-plugin')
+project(":otel-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/otel-receiver-plugin')
+project(":tool-profile-snapshot-exporter-es7").projectDir = 
file('oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter-es')
+project(":storage-zipkin-elasticsearch-plugin").projectDir = 
file('oap-server/server-storage-plugin/storage-zipkin-elasticsearch-plugin')
+project(":oal-grammar").projectDir = file('oap-server/oal-grammar')
+project(":analyzer").projectDir = file('oap-server/analyzer')
+project(":tool-profile-snapshot-server-mock").projectDir = 
file('oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock')
+project(":tool-profile-snapshot-bootstrap").projectDir = 
file('oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap')
+project(":receiver-proto").projectDir = 
file('oap-server/server-receiver-plugin/receiver-proto')
+project(":server-telemetry").projectDir = file('oap-server/server-telemetry')
+project(":server-health-checker").projectDir = 
file('oap-server/server-health-checker')
+project(":configuration-zookeeper").projectDir = 
file('oap-server/server-configuration/configuration-zookeeper')
+project(":configuration-etcd").projectDir = 
file('oap-server/server-configuration/configuration-etcd')
+project(":library-module").projectDir = 
file('oap-server/server-library/library-module')
+project(":agent-analyzer").projectDir = 
file('oap-server/analyzer/agent-analyzer')
+project(":configuration-apollo").projectDir = 
file('oap-server/server-configuration/configuration-apollo')
+project(":skywalking-meter-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin')
+project(":skywalking-trace-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin')
+project(":apm-datacarrier").projectDir = file('apm-commons/apm-datacarrier')
+project(":storage-jdbc-hikaricp-plugin").projectDir = 
file('oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin')
+project(":server-library").projectDir = file('oap-server/server-library')
+project(":skywalking-jvm-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin')
+project(":storage-influxdb-plugin").projectDir = 
file('oap-server/server-storage-plugin/storage-influxdb-plugin')
+project(":envoy-metrics-receiver-plugin").projectDir = 
file('oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin')

Reply via email to