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

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-spi-extensions.git


The following commit(s) were added to refs/heads/master by this push:
     new 1683e25  Refactor pom structure (#103)
1683e25 is described below

commit 1683e2589f96ec20e4088875f37c5fbee31bfb12
Author: Albumen Kevin <[email protected]>
AuthorDate: Fri Mar 11 10:17:18 2022 +0800

    Refactor pom structure (#103)
    
    * Refactor pom structure
    
    * fix rat
    
    * fix path
---
 dubbo-api-docs/dubbo-api-docs-annotations/pom.xml  |   2 +-
 dubbo-api-docs/dubbo-api-docs-core/pom.xml         |   2 +-
 .../dubbo-api-docs-examples/examples-api/pom.xml   |   2 +-
 .../examples-provider-sca/pom.xml                  |   4 +-
 .../examples-provider/pom.xml                      |   4 +-
 dubbo-api-docs/dubbo-api-docs-examples/pom.xml     |   2 +-
 dubbo-api-docs/pom.xml                             |  13 +-
 .../dubbo-cluster-broadcast-1/pom.xml              |   1 +
 .../dubbo-cluster-loadbalance-peakewma/pom.xml     |   1 +
 dubbo-cluster-extensions/pom.xml                   |   9 +-
 dubbo-common-extensions/pom.xml                    |   9 +-
 dubbo-configcenter-extensions/pom.xml              |  15 +-
 dubbo-extensions-dependencies-bom/pom.xml          | 554 +-----------------
 dubbo-extensions-distribution/dubbo-bom/pom.xml    |   7 +-
 dubbo-extensions-distribution/pom.xml              |   1 +
 dubbo-filter-extensions/pom.xml                    |   9 +-
 dubbo-metadata-report-extensions/pom.xml           |   9 +-
 dubbo-mock-extensions/dubbo-mock-admin/pom.xml     |   4 +-
 dubbo-mock-extensions/dubbo-mock-api/pom.xml       |   2 +-
 dubbo-mock-extensions/pom.xml                      |   9 +-
 .../dubbo-registry-dns/pom.xml                     |   1 +
 .../dubbo-registry-kubernetes/pom.xml              |   1 +
 .../dubbo-registry-xds/pom.xml                     |   1 +
 dubbo-registry-extensions/pom.xml                  |  11 +-
 .../dubbo-remoting-quic/pom.xml                    |   1 +
 dubbo-remoting-extensions/pom.xml                  |  12 +-
 dubbo-rpc-extensions/dubbo-rpc-http/pom.xml        |   1 +
 .../dubbo-rpc-native-thrift/pom.xml                |   1 +
 dubbo-rpc-extensions/dubbo-rpc-rmi/pom.xml         |   1 +
 dubbo-rpc-extensions/dubbo-rpc-webservice/pom.xml  |   1 +
 dubbo-rpc-extensions/pom.xml                       |  10 +-
 .../dubbo-serialization-avro/pom.xml               |   1 +
 .../dubbo-serialization-fastjson/pom.xml           |   1 +
 .../dubbo-serialization-fst/pom.xml                |   1 +
 .../dubbo-serialization-gson/pom.xml               |   1 +
 .../dubbo-serialization-kryo/pom.xml               |   1 +
 .../dubbo-serialization-protobuf/pom.xml           |   1 +
 .../dubbo-serialization-protostuff/pom.xml         |   1 +
 .../dubbo-serialization-test/pom.xml               |  15 +-
 dubbo-serialization-extensions/pom.xml             |  12 +-
 pom.xml                                            | 636 ++++++++++++++++++++-
 test/pom.xml                                       |  16 +
 .../src/main/proto/DemoService.proto               |  15 +
 43 files changed, 751 insertions(+), 650 deletions(-)

diff --git a/dubbo-api-docs/dubbo-api-docs-annotations/pom.xml 
b/dubbo-api-docs/dubbo-api-docs-annotations/pom.xml
index 7abfe58..4613a8e 100644
--- a/dubbo-api-docs/dubbo-api-docs-annotations/pom.xml
+++ b/dubbo-api-docs/dubbo-api-docs-annotations/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
         <artifactId>dubbo-api-docs</artifactId>
-        <version>${revision}</version>
+        <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/dubbo-api-docs/dubbo-api-docs-core/pom.xml 
b/dubbo-api-docs/dubbo-api-docs-core/pom.xml
index 7e08d77..a76acce 100644
--- a/dubbo-api-docs/dubbo-api-docs-core/pom.xml
+++ b/dubbo-api-docs/dubbo-api-docs-core/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
         <artifactId>dubbo-api-docs</artifactId>
-        <version>${revision}</version>
+        <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/dubbo-api-docs/dubbo-api-docs-examples/examples-api/pom.xml 
b/dubbo-api-docs/dubbo-api-docs-examples/examples-api/pom.xml
index 3e70a2a..c275fd3 100644
--- a/dubbo-api-docs/dubbo-api-docs-examples/examples-api/pom.xml
+++ b/dubbo-api-docs/dubbo-api-docs-examples/examples-api/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.dubbo.extensions.examples.apidocs</groupId>
         <artifactId>dubbo-api-docs-examples</artifactId>
-        <version>${revision}</version>
+        <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git 
a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider-sca/pom.xml 
b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider-sca/pom.xml
index 7cf765b..0c432da 100644
--- a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider-sca/pom.xml
+++ b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider-sca/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.dubbo.extensions.examples.apidocs</groupId>
         <artifactId>dubbo-api-docs-examples</artifactId>
-        <version>${revision}</version>
+        <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -39,7 +39,7 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions.examples.apidocs</groupId>
             <artifactId>examples-api</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/pom.xml 
b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/pom.xml
index 402433f..2002a76 100644
--- a/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/pom.xml
+++ b/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.dubbo.extensions.examples.apidocs</groupId>
         <artifactId>dubbo-api-docs-examples</artifactId>
-        <version>${revision}</version>
+        <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -39,7 +39,7 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions.examples.apidocs</groupId>
             <artifactId>examples-api</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/dubbo-api-docs/dubbo-api-docs-examples/pom.xml 
b/dubbo-api-docs/dubbo-api-docs-examples/pom.xml
index a97e334..cd77946 100644
--- a/dubbo-api-docs/dubbo-api-docs-examples/pom.xml
+++ b/dubbo-api-docs/dubbo-api-docs-examples/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
         <artifactId>dubbo-api-docs</artifactId>
-        <version>${revision}</version>
+        <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/dubbo-api-docs/pom.xml b/dubbo-api-docs/pom.xml
index 594eb1b..9eebb97 100644
--- a/dubbo-api-docs/pom.xml
+++ b/dubbo-api-docs/pom.xml
@@ -19,13 +19,13 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
 
     <artifactId>dubbo-api-docs</artifactId>
-    <version>${revision}</version>
+    <version>1.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>${project.artifactId}</name>
@@ -33,7 +33,6 @@
     <inceptionYear>2020</inceptionYear>
 
     <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
         <project.build.jdkVersion>1.8</project.build.jdkVersion>
         <argLine>-Dfile.encoding=UTF-8</argLine>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -76,12 +75,12 @@
             <dependency>
                 <groupId>org.apache.dubbo.extensions</groupId>
                 <artifactId>dubbo-api-docs-annotations</artifactId>
-                <version>${revision}</version>
+                <version>1.0.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.dubbo.extensions</groupId>
                 <artifactId>dubbo-api-docs-core</artifactId>
-                <version>${revision}</version>
+                <version>1.0.0-SNAPSHOT</version>
             </dependency>
 
             <dependency>
diff --git a/dubbo-cluster-extensions/dubbo-cluster-broadcast-1/pom.xml 
b/dubbo-cluster-extensions/dubbo-cluster-broadcast-1/pom.xml
index 759af8f..9ee5f88 100644
--- a/dubbo-cluster-extensions/dubbo-cluster-broadcast-1/pom.xml
+++ b/dubbo-cluster-extensions/dubbo-cluster-broadcast-1/pom.xml
@@ -27,6 +27,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-cluster-broadcast-1</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <dependencies>
diff --git 
a/dubbo-cluster-extensions/dubbo-cluster-loadbalance-peakewma/pom.xml 
b/dubbo-cluster-extensions/dubbo-cluster-loadbalance-peakewma/pom.xml
index 471b76d..3f57161 100644
--- a/dubbo-cluster-extensions/dubbo-cluster-loadbalance-peakewma/pom.xml
+++ b/dubbo-cluster-extensions/dubbo-cluster-loadbalance-peakewma/pom.xml
@@ -27,6 +27,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-cluster-loadbalance-peakewma</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <dependencies>
diff --git a/dubbo-cluster-extensions/pom.xml b/dubbo-cluster-extensions/pom.xml
index 0962a4c..c9afcaa 100644
--- a/dubbo-cluster-extensions/pom.xml
+++ b/dubbo-cluster-extensions/pom.xml
@@ -20,9 +20,9 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -30,9 +30,6 @@
     <version>${revision}</version>
     <packaging>pom</packaging>
 
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
     <modules>
         <module>dubbo-cluster-broadcast-1</module>
         <module>dubbo-cluster-loadbalance-peakewma</module>
diff --git a/dubbo-common-extensions/pom.xml b/dubbo-common-extensions/pom.xml
index 68abdb2..1af71ba 100644
--- a/dubbo-common-extensions/pom.xml
+++ b/dubbo-common-extensions/pom.xml
@@ -20,16 +20,13 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-common-extensions</artifactId>
     <version>${revision}</version>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
 
 </project>
diff --git a/dubbo-configcenter-extensions/pom.xml 
b/dubbo-configcenter-extensions/pom.xml
index b4b8816..d0cdcfb 100644
--- a/dubbo-configcenter-extensions/pom.xml
+++ b/dubbo-configcenter-extensions/pom.xml
@@ -20,18 +20,13 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
+
     <modelVersion>4.0.0</modelVersion>
-    <version>${revision}</version>
     <artifactId>dubbo-configcenter-extensions</artifactId>
-
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-        <maven.compiler.source>11</maven.compiler.source>
-        <maven.compiler.target>11</maven.compiler.target>
-    </properties>
+    <version>${revision}</version>
 
 </project>
diff --git a/dubbo-extensions-dependencies-bom/pom.xml 
b/dubbo-extensions-dependencies-bom/pom.xml
index d5db9af..37e22b6 100644
--- a/dubbo-extensions-dependencies-bom/pom.xml
+++ b/dubbo-extensions-dependencies-bom/pom.xml
@@ -28,7 +28,7 @@
 
     <groupId>org.apache.dubbo.extensions</groupId>
     <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-    <version>1.0.0</version>
+    <version>${revision}</version>
     <packaging>pom</packaging>
 
     <name>dubbo-extensions-dependencies-bom</name>
@@ -89,41 +89,7 @@
     </issueManagement>
 
     <properties>
-        <!-- Test libs -->
-        <junit_jupiter_version>5.6.0</junit_jupiter_version>
-        <hazelcast_version>3.11.1</hazelcast_version>
-        <hamcrest_version>2.2</hamcrest_version>
-        <hibernate_validator_version>5.2.4.Final</hibernate_validator_version>
-        <el_api_version>2.2.4</el_api_version>
-        <jaxb_api_version>2.2.7</jaxb_api_version>
-        <cglib_version>2.2</cglib_version>
-        <mockito_version>3.8.0</mockito_version>
-        <!-- for maven compiler plugin -->
-        <java_source_version>1.8</java_source_version>
-        <java_target_version>1.8</java_target_version>
-        <file_encoding>UTF-8</file_encoding>
-        <!-- Build args -->
-        <argline>-server -Xms256m -Xmx512m -Dfile.encoding=UTF-8
-            -Djava.net.preferIPv4Stack=true -XX:MetaspaceSize=64m 
-XX:MaxMetaspaceSize=128m
-        </argline>
-
-        <maven_jar_version>3.2.0</maven_jar_version>
-        <maven_surefire_version>2.22.2</maven_surefire_version>
-        <maven_deploy_version>2.8.2</maven_deploy_version>
-        <maven_compiler_version>3.8.1</maven_compiler_version>
-        <maven_source_version>3.2.1</maven_source_version>
-        <maven_javadoc_version>3.2.0</maven_javadoc_version>
-        <maven_checkstyle_version>3.1.2</maven_checkstyle_version>
-        <maven_jacoco_version>0.8.6</maven_jacoco_version>
-        <maven_flatten_version>1.2.5</maven_flatten_version>
-        <maven_enforce_version>3.0.0-M3</maven_enforce_version>
-        <apache-rat-plugin.version>0.13</apache-rat-plugin.version>
-        <skip_maven_deploy>false</skip_maven_deploy>
-        <checkstyle.skip>true</checkstyle.skip>
-        <checkstyle_unix.skip>true</checkstyle_unix.skip>
-        <rat.skip>true</rat.skip>
-        <jacoco.skip>false</jacoco.skip>
-
+        <revision>1.0.1-SNAPSHOT</revision>
         <dubbo.version>3.0.5</dubbo.version>
         <spring.version>5.2.8.RELEASE</spring.version>
         <spring-boot.version>2.4.1</spring-boot.version>
@@ -198,219 +164,9 @@
         </dependencies>
     </dependencyManagement>
 
-    <dependencies>
-        <!--JUnit Jupiter Engine to depend on the JUnit5 engine and JUnit 5 
API -->
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-engine</artifactId>
-            <version>${junit_jupiter_version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-params</artifactId>
-            <version>${junit_jupiter_version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest</artifactId>
-            <version>${hamcrest_version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <version>${mockito_version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>cglib</groupId>
-            <artifactId>cglib-nodep</artifactId>
-            <version>${cglib_version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-junit-jupiter</artifactId>
-            <version>${mockito_version}</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.junit.jupiter</groupId>
-                    <artifactId>junit-jupiter-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
-
     <build>
-        <!-- Used for packaging NOTICE & LICENSE to each sub-module jar-->
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>false</filtering>
-            </resource>
-            <resource>
-                <directory>${maven.multiModuleProjectDirectory}</directory>
-                <targetPath>META-INF/</targetPath>
-                <filtering>false</filtering>
-                <includes>
-                    <include>NOTICE</include>
-                    <include>LICENSE</include>
-                </includes>
-            </resource>
-        </resources>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>${maven_jar_version}</version>
-                <configuration>
-                    <archive>
-                        <addMavenDescriptor>true</addMavenDescriptor>
-                        <index>true</index>
-                        <manifest>
-                            
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                            
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                        </manifest>
-                        <manifestEntries>
-                            
<Specification-Version>${project.version}</Specification-Version>
-                            
<Implementation-Version>${project.version}</Implementation-Version>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${maven_jacoco_version}</version>
-                <executions>
-                    <execution>
-                        <id>jacoco-initialize</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                        <configuration>
-                            <propertyName>jacocoArgLine</propertyName>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>report-aggregate</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                        <configuration>
-                            <includes>
-                                <include>target/classes/**/*</include>
-                                <include>target/classes/**</include>
-                                <include>**/*</include>
-                            </includes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <useSystemClassLoader>true</useSystemClassLoader>
-                    <forkMode>once</forkMode>
-                    <argLine>${argline} ${jacocoArgLine}</argLine>
-                    <systemProperties>
-                        <!-- common shared -->
-                    </systemProperties>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>${maven_deploy_version}</version>
-                <configuration>
-                    <skip>${skip_maven_deploy}</skip>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>${maven_compiler_version}</version>
-                <configuration>
-                    <compilerArgs>
-                        <compilerArg>-proc:none</compilerArg>
-                        <compilerArg>-parameters</compilerArg>
-                    </compilerArgs>
-                    <fork>true</fork>
-                    <source>${java_source_version}</source>
-                    <target>${java_target_version}</target>
-                    <encoding>${file_encoding}</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>${apache-rat-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>rat-validate</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <excludes>
-                        <exclude>**/*.versionsBackup</exclude>
-                        <exclude>**/.idea/</exclude>
-                        <exclude>**/*.iml</exclude>
-                        <exclude>**/*.txt</exclude>
-                        <exclude>**/*.load</exclude>
-                        <exclude>**/*.flex</exclude>
-                        <exclude>**/*.fc</exclude>
-                        <exclude>**/*.properties</exclude>
-                        <exclude>**/*.sh</exclude>
-                        <exclude>**/*.bat</exclude>
-                        <exclude>**/*.md</exclude>
-                        <exclude>.git/</exclude>
-                        <exclude>.gitignore</exclude>
-                        <!-- ASF jenkins box puts the Maven repo in our root 
directory. -->
-                        <exclude>.repository/</exclude>
-                        <exclude>**/.settings/*</exclude>
-                        <exclude>**/.classpath</exclude>
-                        <exclude>**/.project</exclude>
-                        <exclude>**/target/**</exclude>
-                        <exclude>**/*.log</exclude>
-                        <exclude>CODE_OF_CONDUCT.md</exclude>
-                        <exclude>.codecov.yml</exclude>
-                        <exclude>.travis.yml</exclude>
-                        <exclude>PULL_REQUEST_TEMPLATE.md</exclude>
-                        <exclude>CONTRIBUTING.md</exclude>
-                        <exclude>README.md</exclude>
-                        <exclude>Jenkinsfile</exclude>
-                        <exclude>**/codestyle/*</exclude>
-                        <exclude>**/resources/META-INF/**</exclude>
-                        <exclude>.github/**</exclude>
-                        <exclude>compiler/**</exclude>
-                        <exclude>**/generated/**</exclude>
-                        <!-- exclude mockito extensions spi files -->
-                        <exclude>**/mockito-extensions/*</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-release-plugin</artifactId>
-                <version>3.0.0-M1</version>
-                <configuration>
-                    <autoVersionSubmodules>true</autoVersionSubmodules>
-                    <useReleaseProfile>false</useReleaseProfile>
-                    <releaseProfiles>release</releaseProfiles>
-                    <goals>deploy</goals>
-                    <arguments>${arguments}</arguments>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>flatten-maven-plugin</artifactId>
                 <version>${maven_flatten_version}</version>
@@ -436,282 +192,14 @@
                 </executions>
             </plugin>
         </plugins>
-
-        <pluginManagement>
-            <plugins>
-                <!-- keep surefire and failsafe in sync -->
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>${maven_surefire_version}</version>
-                </plugin>
-                <!-- keep surefire and failsafe in sync -->
-                <plugin>
-                    <artifactId>maven-failsafe-plugin</artifactId>
-                    <version>2.22.2</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-clean-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.ops4j.pax.exam</groupId>
-                    <artifactId>maven-paxexam-plugin</artifactId>
-                    <version>1.2.4</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-dependency-plugin</artifactId>
-                    <version>3.1.2</version>
-                </plugin>
-                <plugin>
-                    <!-- Do NOT upgrade -->
-                    <artifactId>maven-jxr-plugin</artifactId>
-                    <version>2.2</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>build-helper-maven-plugin</artifactId>
-                    <version>3.2.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.fusesource.hawtjni</groupId>
-                    <artifactId>maven-hawtjni-plugin</artifactId>
-                    <version>1.15</version>
-                </plugin>
-                <plugin>
-                    <groupId>kr.motd.maven</groupId>
-                    <artifactId>exec-maven-plugin</artifactId>
-                    <version>1.0.0.Final</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-shade-plugin</artifactId>
-                    <version>3.2.4</version>
-                    <configuration>
-                        
<createDependencyReducedPom>false</createDependencyReducedPom>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-maven-plugin</artifactId>
-                    <version>${maven_jetty_version}</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
     </build>
 
     <profiles>
         <profile>
-            <id>snapshot-ci-deploy</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-enforcer-plugin</artifactId>
-                        <version>${maven_enforce_version}</version>
-                        <executions>
-                            <execution>
-                                <id>enforce-no-releases</id>
-                                <goals>
-                                    <goal>enforce</goal>
-                                </goals>
-                                <configuration>
-                                    <rules>
-                                        <requireSnapshotVersion>
-                                            <message>No Releases 
Allowed!</message>
-                                            
<failWhenParentIsRelease>false</failWhenParentIsRelease>
-                                        </requireSnapshotVersion>
-                                    </rules>
-                                    <fail>true</fail>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>javadoc-lint</id>
-            <activation>
-                <jdk>[1.8,)</jdk>
-            </activation>
-            <properties>
-                <doclint>none</doclint>
-            </properties>
-        </profile>
-        <!-- jacoco: mvn validate -Pjacoco  -->
-        <profile>
-            <id>jacoco</id>
-            <properties>
-                <jacoco.skip>false</jacoco.skip>
-            </properties>
-        </profile>
-        <!-- check apache license: mvn validate -Prat  -->
-        <profile>
-            <id>rat</id>
-            <properties>
-                <rat.skip>false</rat.skip>
-            </properties>
-        </profile>
-        <!-- check code style: mvn validate -Pcheckstyle  -->
-        <profile>
-            <id>checkstyle</id>
-            <properties>
-                <checkstyle.skip>false</checkstyle.skip>
-                <checkstyle_unix.skip>false</checkstyle_unix.skip>
-            </properties>
-        </profile>
-        <profile>
-            <id>checkstyle_def</id>
-            <activation>
-                <jdk>[1.8,)</jdk>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-checkstyle-plugin</artifactId>
-                        <version>${maven_checkstyle_version}</version>
-                        <dependencies>
-                            <dependency>
-                                <groupId>com.puppycrawl.tools</groupId>
-                                <artifactId>checkstyle</artifactId>
-                                <version>8.41</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>org.apache.dubbo</groupId>
-                                <artifactId>dubbo-build-tools</artifactId>
-                                <version>1.0.0</version>
-                            </dependency>
-                        </dependencies>
-                        <executions>
-                            <execution>
-                                <id>checkstyle-validation</id>
-                                <phase>validate</phase>
-                                <configuration>
-                                    
<configLocation>../codestyle/checkstyle.xml</configLocation>
-                                    
<suppressionsLocation>../codestyle/checkstyle-suppressions.xml</suppressionsLocation>
-                                    <encoding>UTF-8</encoding>
-                                    <consoleOutput>true</consoleOutput>
-                                    <failOnViolation>true</failOnViolation>
-                                    <skip>${checkstyle.skip}</skip>
-                                    <excludes>
-                                        **/istio/v1/auth/Ca.java,
-                                        
**/istio/v1/auth/IstioCertificateServiceGrpc.java,
-                                        **/generated/**/*,
-                                        **/target/**/*,
-                                    </excludes>
-                                </configuration>
-                                <goals>
-                                    <goal>check</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>checkstyle-unix-validation</id>
-                                <phase>validate</phase>
-                                <configuration>
-                                    
<configLocation>../codestyle/checkstyle_unix.xml</configLocation>
-                                    <encoding>UTF-8</encoding>
-                                    <consoleOutput>true</consoleOutput>
-                                    <failOnViolation>true</failOnViolation>
-                                    <skip>${checkstyle_unix.skip}</skip>
-                                    <resourceExcludes>
-                                        **/target/**/*
-                                    </resourceExcludes>
-                                    <resourceExcludes>
-                                        **/generated/**/*
-                                    </resourceExcludes>
-                                </configuration>
-                                <goals>
-                                    <goal>check</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>sources</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>${maven_source_version}</version>
-                        <executions>
-                            <execution>
-                                <id>attach-sources</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
             <id>release</id>
-            <properties>
-                <log4j2_version>2.11.1</log4j2_version>
-                <jacoco.skip>false</jacoco.skip>
-            </properties>
             <build>
                 <plugins>
                     <plugin>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>${maven_source_version}</version>
-                        <executions>
-                            <execution>
-                                <id>attach-sources</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>${maven_javadoc_version}</version>
-                        <executions>
-                            <execution>
-                                <id>attach-javadoc</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                    <goal>aggregate</goal>
-                                </goals>
-                                <configuration>
-                                    <additionalDependencies>
-                                        <additionalDependency>
-                                            
<groupId>org.apache.logging.log4j</groupId>
-                                            <artifactId>log4j-api</artifactId>
-                                            
<version>${log4j2_version}</version>
-                                        </additionalDependency>
-                                        <additionalDependency>
-                                            
<groupId>org.apache.logging.log4j</groupId>
-                                            <artifactId>log4j-core</artifactId>
-                                            
<version>${log4j2_version}</version>
-                                        </additionalDependency>
-                                    </additionalDependencies>
-                                </configuration>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <show>public</show>
-                            <charset>UTF-8</charset>
-                            <encoding>UTF-8</encoding>
-                            <docencoding>UTF-8</docencoding>
-                            <links>
-                                
<link>http://docs.oracle.com/javase/8/docs/api</link>
-                            </links>
-                            <doclint>none</doclint>
-                            <excludePackageNames>
-                                
org.apache.dubbo.demo,org.apache.dubbo.demo.*,org.apache.dubbo.apidocs.examples.*
-                            </excludePackageNames>
-                            <doctitle>Apache Dubbo Extensions 
${project.version} API</doctitle>
-                            <windowtitle>Apache Dubbo Extensions 
${project.version} API</windowtitle>
-                        </configuration>
-                    </plugin>
-                    <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-gpg-plugin</artifactId>
                         <executions>
@@ -726,43 +214,5 @@
                 </plugins>
             </build>
         </profile>
-        <profile>
-            <id>licenseCheck</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>license-maven-plugin</artifactId>
-                        <version>2.0.0</version>
-                        <executions>
-                            <execution>
-                                <id>license-check</id>
-                                <phase>generate-sources</phase>
-                                <goals>
-                                    <goal>add-third-party</goal>
-                                </goals>
-                                <configuration>
-                                    <includeOptional>false</includeOptional>
-                                    <useMissingFile>false</useMissingFile>
-                                    <failOnMissing>false</failOnMissing>
-                                    <licenseMerges>
-                                        <licenseMerge>Apache License, Version 
2.0|The Apache Software License, Version
-                                            2.0|ASF 2.0|Apache 
2|Apache-2.0|Apache 2.0 License|Apache 2.0|Apache License
-                                            v2.0|Apache License 2.0|The Apache 
License, Version 2.0|The Apache Software
-                                            License, Version 2.0
-                                        </licenseMerge>
-                                        <licenseMerge>The MIT License|MIT 
License</licenseMerge>
-                                        <licenseMerge>The 3-Clause BSD 
License|New BSD License|3-Clause BSD
-                                            License|BSD|3-Clause BSD 
License|The New BSD License
-                                        </licenseMerge>
-                                    </licenseMerges>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
     </profiles>
-
 </project>
diff --git a/dubbo-extensions-distribution/dubbo-bom/pom.xml 
b/dubbo-extensions-distribution/dubbo-bom/pom.xml
index 1d68cd0..c99346d 100644
--- a/dubbo-extensions-distribution/dubbo-bom/pom.xml
+++ b/dubbo-extensions-distribution/dubbo-bom/pom.xml
@@ -21,12 +21,13 @@
 
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>dubbo-extensions-distribution</artifactId>
+        <relativePath>../pom.xml</relativePath>
+        <version>${revision}</version>
     </parent>
 
     <artifactId>dubbo-extensions-bom</artifactId>
+    <version>${revision}</version>
     <packaging>pom</packaging>
 
     <name>dubbo-extensions-bom</name>
diff --git a/dubbo-extensions-distribution/pom.xml 
b/dubbo-extensions-distribution/pom.xml
index f7b85b5..85ba6c9 100644
--- a/dubbo-extensions-distribution/pom.xml
+++ b/dubbo-extensions-distribution/pom.xml
@@ -27,6 +27,7 @@
 
     <artifactId>dubbo-extensions-distribution</artifactId>
     <packaging>pom</packaging>
+    <version>${revision}</version>
 
     <properties>
     </properties>
diff --git a/dubbo-filter-extensions/pom.xml b/dubbo-filter-extensions/pom.xml
index 371a8a5..e91ca5c 100644
--- a/dubbo-filter-extensions/pom.xml
+++ b/dubbo-filter-extensions/pom.xml
@@ -20,15 +20,12 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-filter-extensions</artifactId>
     <version>${revision}</version>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
 </project>
diff --git a/dubbo-metadata-report-extensions/pom.xml 
b/dubbo-metadata-report-extensions/pom.xml
index 08eede8..0a69ed8 100644
--- a/dubbo-metadata-report-extensions/pom.xml
+++ b/dubbo-metadata-report-extensions/pom.xml
@@ -20,15 +20,12 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-metadata-report-extensions</artifactId>
     <version>${revision}</version>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
 </project>
diff --git a/dubbo-mock-extensions/dubbo-mock-admin/pom.xml 
b/dubbo-mock-extensions/dubbo-mock-admin/pom.xml
index 5438ce0..ed61404 100644
--- a/dubbo-mock-extensions/dubbo-mock-admin/pom.xml
+++ b/dubbo-mock-extensions/dubbo-mock-admin/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>dubbo-mock-extensions</artifactId>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <version>${revision}</version>
+        <version>3.0.6-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -31,7 +31,7 @@
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-mock-api</artifactId>
-            <version>${revision}</version>
+            <version>3.0.6-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/dubbo-mock-extensions/dubbo-mock-api/pom.xml 
b/dubbo-mock-extensions/dubbo-mock-api/pom.xml
index 9d6196a..d63e191 100644
--- a/dubbo-mock-extensions/dubbo-mock-api/pom.xml
+++ b/dubbo-mock-extensions/dubbo-mock-api/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>dubbo-mock-extensions</artifactId>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <version>${revision}</version>
+        <version>3.0.6-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/dubbo-mock-extensions/pom.xml b/dubbo-mock-extensions/pom.xml
index c04beb6..3e6a21b 100644
--- a/dubbo-mock-extensions/pom.xml
+++ b/dubbo-mock-extensions/pom.xml
@@ -19,22 +19,21 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-mock-extensions</artifactId>
     <packaging>pom</packaging>
-    <version>${revision}</version>
+    <version>3.0.6-SNAPSHOT</version>
     <modules>
         <module>dubbo-mock-api</module>
         <module>dubbo-mock-admin</module>
     </modules>
 
     <properties>
-        <revision>3.0.5</revision>
         <protobuf-java-format>1.2</protobuf-java-format>
         <mockito-version>1.9.5</mockito-version>
         <junit-version>4.11</junit-version>
diff --git a/dubbo-registry-extensions/dubbo-registry-dns/pom.xml 
b/dubbo-registry-extensions/dubbo-registry-dns/pom.xml
index babe149..4f0e091 100644
--- a/dubbo-registry-extensions/dubbo-registry-dns/pom.xml
+++ b/dubbo-registry-extensions/dubbo-registry-dns/pom.xml
@@ -29,6 +29,7 @@
     <artifactId>dubbo-registry-dns</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The DNS registry module of Dubbo project</description>
 
     <dependencies>
diff --git a/dubbo-registry-extensions/dubbo-registry-kubernetes/pom.xml 
b/dubbo-registry-extensions/dubbo-registry-kubernetes/pom.xml
index ee43c86..e7477c6 100644
--- a/dubbo-registry-extensions/dubbo-registry-kubernetes/pom.xml
+++ b/dubbo-registry-extensions/dubbo-registry-kubernetes/pom.xml
@@ -29,6 +29,7 @@
     <artifactId>dubbo-registry-kubernetes</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The Kubernetes registry module of Dubbo project</description>
 
     <dependencies>
diff --git a/dubbo-registry-extensions/dubbo-registry-xds/pom.xml 
b/dubbo-registry-extensions/dubbo-registry-xds/pom.xml
index abb48de..753f401 100644
--- a/dubbo-registry-extensions/dubbo-registry-xds/pom.xml
+++ b/dubbo-registry-extensions/dubbo-registry-xds/pom.xml
@@ -28,6 +28,7 @@
 
     <artifactId>dubbo-registry-xds</artifactId>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The Xds registry module of Dubbo project</description>
 
     <dependencies>
diff --git a/dubbo-registry-extensions/pom.xml 
b/dubbo-registry-extensions/pom.xml
index 1a7230d..78ba1d7 100644
--- a/dubbo-registry-extensions/pom.xml
+++ b/dubbo-registry-extensions/pom.xml
@@ -20,21 +20,18 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-registry-extensions</artifactId>
-    <packaging>pom</packaging>
     <version>${revision}</version>
+    <packaging>pom</packaging>
     <modules>
         <module>dubbo-registry-kubernetes</module>
         <module>dubbo-registry-dns</module>
         <module>dubbo-registry-xds</module>
     </modules>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
 </project>
diff --git a/dubbo-remoting-extensions/dubbo-remoting-quic/pom.xml 
b/dubbo-remoting-extensions/dubbo-remoting-quic/pom.xml
index 3658f59..48f73aa 100644
--- a/dubbo-remoting-extensions/dubbo-remoting-quic/pom.xml
+++ b/dubbo-remoting-extensions/dubbo-remoting-quic/pom.xml
@@ -30,6 +30,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-remoting-quic</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
 
 
     <dependencies>
diff --git a/dubbo-remoting-extensions/pom.xml 
b/dubbo-remoting-extensions/pom.xml
index dcd9590..6a6b72a 100644
--- a/dubbo-remoting-extensions/pom.xml
+++ b/dubbo-remoting-extensions/pom.xml
@@ -20,18 +20,16 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-remoting-extensions</artifactId>
-    <packaging>pom</packaging>
     <version>${revision}</version>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
+    <packaging>pom</packaging>
+
     <modules>
         <module>dubbo-remoting-quic</module>
     </modules>
diff --git a/dubbo-rpc-extensions/dubbo-rpc-http/pom.xml 
b/dubbo-rpc-extensions/dubbo-rpc-http/pom.xml
index fecae4f..f90d9d1 100644
--- a/dubbo-rpc-extensions/dubbo-rpc-http/pom.xml
+++ b/dubbo-rpc-extensions/dubbo-rpc-http/pom.xml
@@ -26,6 +26,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dubbo-rpc-http</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
 
     <description>The JSON-RPC module of dubbo project</description>
 
diff --git a/dubbo-rpc-extensions/dubbo-rpc-native-thrift/pom.xml 
b/dubbo-rpc-extensions/dubbo-rpc-native-thrift/pom.xml
index eb71e44..3b9dd24 100644
--- a/dubbo-rpc-extensions/dubbo-rpc-native-thrift/pom.xml
+++ b/dubbo-rpc-extensions/dubbo-rpc-native-thrift/pom.xml
@@ -26,6 +26,7 @@
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
     <description>The thrift rpc module of dubbo project</description>
+    <version>1.0.0-SNAPSHOT</version>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
     </properties>
diff --git a/dubbo-rpc-extensions/dubbo-rpc-rmi/pom.xml 
b/dubbo-rpc-extensions/dubbo-rpc-rmi/pom.xml
index d338835..c5af7c9 100644
--- a/dubbo-rpc-extensions/dubbo-rpc-rmi/pom.xml
+++ b/dubbo-rpc-extensions/dubbo-rpc-rmi/pom.xml
@@ -24,6 +24,7 @@
     </parent>
     <artifactId>dubbo-rpc-rmi</artifactId>
     <packaging>jar</packaging>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The rmi rpc module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git a/dubbo-rpc-extensions/dubbo-rpc-webservice/pom.xml 
b/dubbo-rpc-extensions/dubbo-rpc-webservice/pom.xml
index 25a7d18..71de8d4 100644
--- a/dubbo-rpc-extensions/dubbo-rpc-webservice/pom.xml
+++ b/dubbo-rpc-extensions/dubbo-rpc-webservice/pom.xml
@@ -25,6 +25,7 @@
     <artifactId>dubbo-rpc-webservice</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The webservice rpc module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git a/dubbo-rpc-extensions/pom.xml b/dubbo-rpc-extensions/pom.xml
index 4cd5058..0bfb941 100644
--- a/dubbo-rpc-extensions/pom.xml
+++ b/dubbo-rpc-extensions/pom.xml
@@ -20,9 +20,9 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <packaging>pom</packaging>
 
@@ -30,9 +30,7 @@
 
     <artifactId>dubbo-rpc-extensions</artifactId>
     <version>${revision}</version>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
+
     <modules>
         <module>dubbo-rpc-native-thrift</module>
         <module>dubbo-rpc-http</module>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml
index 1353afe..f7682cb 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml
@@ -26,6 +26,7 @@
     <artifactId>dubbo-serialization-avro</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The avro serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml
index 3c55b9e..32211d7 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml
@@ -26,6 +26,7 @@ limitations under the License.
     <artifactId>dubbo-serialization-fastjson</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The fastjson serialization module of dubbo 
project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml
index 10f04b1..f249875 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml
@@ -25,6 +25,7 @@
     <artifactId>dubbo-serialization-fst</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The fst serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml
index 7b48f93..5179876 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml
@@ -25,6 +25,7 @@ Licensed to the Apache Software Foundation (ASF) under one or 
more
     <artifactId>dubbo-serialization-gson</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The GSON serialization implement for dubbo</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml
index 08e5011..acb47fb 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml
@@ -26,6 +26,7 @@ limitations under the License.
     <artifactId>dubbo-serialization-kryo</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The kryo serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml
index 4e62d7e..f8528b4 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml
@@ -26,6 +26,7 @@ limitations under the License.
     <artifactId>dubbo-serialization-protobuf</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The protobuf serialization module of dubbo 
project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml
index 986ee24..9e5b21d 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml
@@ -27,6 +27,7 @@ limitations under the License.
     <artifactId>dubbo-serialization-protostuff</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>1.0.0-SNAPSHOT</version>
     <description>The protostuff serialization module of dubbo 
project</description>
 
     <properties>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml
index 7323d37..f2f8117 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml
@@ -27,41 +27,42 @@
     <artifactId>dubbo-serialization-test</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
+    <version>${revision}</version>
     <description>The test serialization module of dubbo project</description>
     <properties>
-        <skip_maven_deploy>false</skip_maven_deploy>
+        <skip_maven_deploy>true</skip_maven_deploy>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-protostuff</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-protobuf</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-kryo</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-avro</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-fastjson</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
             <artifactId>dubbo-serialization-fst</artifactId>
-            <version>${revision}</version>
+            <version>1.0.0-SNAPSHOT</version>
         </dependency>      
         <dependency>
             <groupId>org.apache.dubbo</groupId>
diff --git a/dubbo-serialization-extensions/pom.xml 
b/dubbo-serialization-extensions/pom.xml
index 420a2da..9c551be 100644
--- a/dubbo-serialization-extensions/pom.xml
+++ b/dubbo-serialization-extensions/pom.xml
@@ -20,17 +20,15 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <parent>
         <groupId>org.apache.dubbo.extensions</groupId>
-        <artifactId>dubbo-extensions-dependencies-bom</artifactId>
-        
<relativePath>../dubbo-extensions-dependencies-bom/pom.xml</relativePath>
-        <version>1.0.0</version>
+        <artifactId>extensions-parent</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
+    <version>${revision}</version>
     <packaging>pom</packaging>
     <artifactId>dubbo-serialization-extensions</artifactId>
-    <version>${revision}</version>
-    <properties>
-        <revision>3.0.0-SNAPSHOT</revision>
-    </properties>
+
     <modules>
         <module>dubbo-serialization-protostuff</module>
         <module>dubbo-serialization-protobuf</module>
diff --git a/pom.xml b/pom.xml
index 52a2966..2e1520e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,10 +29,6 @@
     <version>${revision}</version>
     <packaging>pom</packaging>
 
-    <properties>
-        <revision>1.0.0</revision>
-    </properties>
-
     <licenses>
         <license>
             <name>Apache License, Version 2.0</name>
@@ -99,4 +95,636 @@
         <module>dubbo-mock-extensions</module>
     </modules>
 
+    <properties>
+        <revision>1.0.1-SNAPSHOT</revision>
+        <!-- Test libs -->
+        <junit_jupiter_version>5.6.0</junit_jupiter_version>
+        <hazelcast_version>3.11.1</hazelcast_version>
+        <hamcrest_version>2.2</hamcrest_version>
+        <hibernate_validator_version>5.2.4.Final</hibernate_validator_version>
+        <el_api_version>2.2.4</el_api_version>
+        <jaxb_api_version>2.2.7</jaxb_api_version>
+        <cglib_version>2.2</cglib_version>
+        <mockito_version>3.8.0</mockito_version>
+        <!-- for maven compiler plugin -->
+        <java_source_version>1.8</java_source_version>
+        <java_target_version>1.8</java_target_version>
+        <file_encoding>UTF-8</file_encoding>
+        <!-- Build args -->
+        <argline>-server -Xms256m -Xmx512m -Dfile.encoding=UTF-8
+            -Djava.net.preferIPv4Stack=true -XX:MetaspaceSize=64m 
-XX:MaxMetaspaceSize=128m
+        </argline>
+
+        <maven_jar_version>3.2.0</maven_jar_version>
+        <maven_surefire_version>2.22.2</maven_surefire_version>
+        <maven_deploy_version>2.8.2</maven_deploy_version>
+        <maven_compiler_version>3.8.1</maven_compiler_version>
+        <maven_source_version>3.2.1</maven_source_version>
+        <maven_javadoc_version>3.2.0</maven_javadoc_version>
+        <maven_checkstyle_version>3.1.2</maven_checkstyle_version>
+        <maven_jacoco_version>0.8.6</maven_jacoco_version>
+        <maven_flatten_version>1.2.5</maven_flatten_version>
+        <maven_enforce_version>3.0.0-M3</maven_enforce_version>
+        <apache-rat-plugin.version>0.13</apache-rat-plugin.version>
+        <skip_maven_deploy>false</skip_maven_deploy>
+        <checkstyle.skip>true</checkstyle.skip>
+        <checkstyle_unix.skip>true</checkstyle_unix.skip>
+        <rat.skip>true</rat.skip>
+        <jacoco.skip>false</jacoco.skip>
+        <maven_flatten_version>1.2.5</maven_flatten_version>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.dubbo.extensions</groupId>
+                <artifactId>dubbo-extensions-dependencies-bom</artifactId>
+                <version>${revision}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-junit-jupiter</artifactId>
+                <version>${mockito_version}</version>
+                <scope>test</scope>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.junit.jupiter</groupId>
+                        <artifactId>junit-jupiter-api</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <!--JUnit Jupiter Engine to depend on the JUnit5 engine and JUnit 5 
API -->
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+            <version>${junit_jupiter_version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-params</artifactId>
+            <version>${junit_jupiter_version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest</artifactId>
+            <version>${hamcrest_version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>${mockito_version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib-nodep</artifactId>
+            <version>${cglib_version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-junit-jupiter</artifactId>
+            <version>${mockito_version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.junit.jupiter</groupId>
+                    <artifactId>junit-jupiter-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <!-- Used for packaging NOTICE & LICENSE to each sub-module jar-->
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+            </resource>
+            <resource>
+                <directory>${maven.multiModuleProjectDirectory}</directory>
+                <targetPath>META-INF/</targetPath>
+                <filtering>false</filtering>
+                <includes>
+                    <include>NOTICE</include>
+                    <include>LICENSE</include>
+                </includes>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>${maven_jar_version}</version>
+                <configuration>
+                    <archive>
+                        <addMavenDescriptor>true</addMavenDescriptor>
+                        <index>true</index>
+                        <manifest>
+                            
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+                            
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                        </manifest>
+                        <manifestEntries>
+                            
<Specification-Version>${project.version}</Specification-Version>
+                            
<Implementation-Version>${project.version}</Implementation-Version>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>${maven_jacoco_version}</version>
+                <executions>
+                    <execution>
+                        <id>jacoco-initialize</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <propertyName>jacocoArgLine</propertyName>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>report-aggregate</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                        <configuration>
+                            <includes>
+                                <include>target/classes/**/*</include>
+                                <include>target/classes/**</include>
+                                <include>**/*</include>
+                            </includes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <useSystemClassLoader>true</useSystemClassLoader>
+                    <forkMode>once</forkMode>
+                    <argLine>${argline} ${jacocoArgLine}</argLine>
+                    <systemProperties>
+                        <!-- common shared -->
+                    </systemProperties>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <version>${maven_deploy_version}</version>
+                <configuration>
+                    <skip>${skip_maven_deploy}</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>${maven_compiler_version}</version>
+                <configuration>
+                    <compilerArgs>
+                        <compilerArg>-proc:none</compilerArg>
+                        <compilerArg>-parameters</compilerArg>
+                    </compilerArgs>
+                    <fork>true</fork>
+                    <source>${java_source_version}</source>
+                    <target>${java_target_version}</target>
+                    <encoding>${file_encoding}</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <version>${apache-rat-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>rat-validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <excludes>
+                        <exclude>**/*.versionsBackup</exclude>
+                        <exclude>**/.idea/</exclude>
+                        <exclude>**/*.iml</exclude>
+                        <exclude>**/*.txt</exclude>
+                        <exclude>**/*.load</exclude>
+                        <exclude>**/*.flex</exclude>
+                        <exclude>**/*.fc</exclude>
+                        <exclude>**/*.properties</exclude>
+                        <exclude>**/*.sh</exclude>
+                        <exclude>**/*.bat</exclude>
+                        <exclude>**/*.md</exclude>
+                        <exclude>.git/</exclude>
+                        <exclude>.gitignore</exclude>
+                        <!-- ASF jenkins box puts the Maven repo in our root 
directory. -->
+                        <exclude>.repository/</exclude>
+                        <exclude>**/.settings/*</exclude>
+                        <exclude>**/.classpath</exclude>
+                        <exclude>**/.project</exclude>
+                        <exclude>**/target/**</exclude>
+                        <exclude>**/*.log</exclude>
+                        <exclude>CODE_OF_CONDUCT.md</exclude>
+                        <exclude>.codecov.yml</exclude>
+                        <exclude>.travis.yml</exclude>
+                        <exclude>PULL_REQUEST_TEMPLATE.md</exclude>
+                        <exclude>CONTRIBUTING.md</exclude>
+                        <exclude>README.md</exclude>
+                        <exclude>Jenkinsfile</exclude>
+                        <exclude>**/codestyle/*</exclude>
+                        <exclude>**/resources/META-INF/**</exclude>
+                        <exclude>.github/**</exclude>
+                        <exclude>compiler/**</exclude>
+                        <exclude>**/generated/**</exclude>
+                        <!-- exclude mockito extensions spi files -->
+                        <exclude>**/mockito-extensions/*</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-release-plugin</artifactId>
+                <version>3.0.0-M1</version>
+                <configuration>
+                    <autoVersionSubmodules>true</autoVersionSubmodules>
+                    <useReleaseProfile>false</useReleaseProfile>
+                    <releaseProfiles>release</releaseProfiles>
+                    <goals>deploy</goals>
+                    <arguments>${arguments}</arguments>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>flatten-maven-plugin</artifactId>
+                <version>${maven_flatten_version}</version>
+                <configuration>
+                    <updatePomFile>true</updatePomFile>
+                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>flatten</id>
+                        <phase>process-resources</phase>
+                        <goals>
+                            <goal>flatten</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>flatten.clean</id>
+                        <phase>clean</phase>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+
+        <pluginManagement>
+            <plugins>
+                <!-- keep surefire and failsafe in sync -->
+                <plugin>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>${maven_surefire_version}</version>
+                </plugin>
+                <!-- keep surefire and failsafe in sync -->
+                <plugin>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <version>2.22.2</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <version>3.1.0</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.ops4j.pax.exam</groupId>
+                    <artifactId>maven-paxexam-plugin</artifactId>
+                    <version>1.2.4</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-dependency-plugin</artifactId>
+                    <version>3.1.2</version>
+                </plugin>
+                <plugin>
+                    <!-- Do NOT upgrade -->
+                    <artifactId>maven-jxr-plugin</artifactId>
+                    <version>2.2</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <version>3.2.0</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.fusesource.hawtjni</groupId>
+                    <artifactId>maven-hawtjni-plugin</artifactId>
+                    <version>1.15</version>
+                </plugin>
+                <plugin>
+                    <groupId>kr.motd.maven</groupId>
+                    <artifactId>exec-maven-plugin</artifactId>
+                    <version>1.0.0.Final</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>3.2.4</version>
+                    <configuration>
+                        
<createDependencyReducedPom>false</createDependencyReducedPom>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-maven-plugin</artifactId>
+                    <version>${maven_jetty_version}</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>snapshot-ci-deploy</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-enforcer-plugin</artifactId>
+                        <version>${maven_enforce_version}</version>
+                        <executions>
+                            <execution>
+                                <id>enforce-no-releases</id>
+                                <goals>
+                                    <goal>enforce</goal>
+                                </goals>
+                                <configuration>
+                                    <rules>
+                                        <requireSnapshotVersion>
+                                            <message>No Releases 
Allowed!</message>
+                                            
<failWhenParentIsRelease>false</failWhenParentIsRelease>
+                                        </requireSnapshotVersion>
+                                    </rules>
+                                    <fail>true</fail>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>javadoc-lint</id>
+            <activation>
+                <jdk>[1.8,)</jdk>
+            </activation>
+            <properties>
+                <doclint>none</doclint>
+            </properties>
+        </profile>
+        <!-- jacoco: mvn validate -Pjacoco  -->
+        <profile>
+            <id>jacoco</id>
+            <properties>
+                <jacoco.skip>false</jacoco.skip>
+            </properties>
+        </profile>
+        <!-- check apache license: mvn validate -Prat  -->
+        <profile>
+            <id>rat</id>
+            <properties>
+                <rat.skip>false</rat.skip>
+            </properties>
+        </profile>
+        <!-- check code style: mvn validate -Pcheckstyle  -->
+        <profile>
+            <id>checkstyle</id>
+            <properties>
+                <checkstyle.skip>false</checkstyle.skip>
+                <checkstyle_unix.skip>false</checkstyle_unix.skip>
+            </properties>
+        </profile>
+        <profile>
+            <id>checkstyle_def</id>
+            <activation>
+                <jdk>[1.8,)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-checkstyle-plugin</artifactId>
+                        <version>${maven_checkstyle_version}</version>
+                        <dependencies>
+                            <dependency>
+                                <groupId>com.puppycrawl.tools</groupId>
+                                <artifactId>checkstyle</artifactId>
+                                <version>8.41</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>org.apache.dubbo</groupId>
+                                <artifactId>dubbo-build-tools</artifactId>
+                                <version>1.0.0</version>
+                            </dependency>
+                        </dependencies>
+                        <executions>
+                            <execution>
+                                <id>checkstyle-validation</id>
+                                <phase>validate</phase>
+                                <configuration>
+                                    
<configLocation>./codestyle/checkstyle.xml</configLocation>
+                                    
<suppressionsLocation>./codestyle/checkstyle-suppressions.xml</suppressionsLocation>
+                                    <encoding>UTF-8</encoding>
+                                    <consoleOutput>true</consoleOutput>
+                                    <failOnViolation>true</failOnViolation>
+                                    <skip>${checkstyle.skip}</skip>
+                                    <excludes>
+                                        **/istio/v1/auth/Ca.java,
+                                        
**/istio/v1/auth/IstioCertificateServiceGrpc.java,
+                                        **/generated/**/*,
+                                        **/target/**/*,
+                                    </excludes>
+                                </configuration>
+                                <goals>
+                                    <goal>check</goal>
+                                </goals>
+                            </execution>
+                            <execution>
+                                <id>checkstyle-unix-validation</id>
+                                <phase>validate</phase>
+                                <configuration>
+                                    
<configLocation>./codestyle/checkstyle_unix.xml</configLocation>
+                                    <encoding>UTF-8</encoding>
+                                    <consoleOutput>true</consoleOutput>
+                                    <failOnViolation>true</failOnViolation>
+                                    <skip>${checkstyle_unix.skip}</skip>
+                                    <resourceExcludes>
+                                        **/target/**/*
+                                    </resourceExcludes>
+                                    <resourceExcludes>
+                                        **/generated/**/*
+                                    </resourceExcludes>
+                                </configuration>
+                                <goals>
+                                    <goal>check</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>sources</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-source-plugin</artifactId>
+                        <version>${maven_source_version}</version>
+                        <executions>
+                            <execution>
+                                <id>attach-sources</id>
+                                <goals>
+                                    <goal>jar</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>release</id>
+            <properties>
+                <log4j2_version>2.11.1</log4j2_version>
+                <jacoco.skip>false</jacoco.skip>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-source-plugin</artifactId>
+                        <version>${maven_source_version}</version>
+                        <executions>
+                            <execution>
+                                <id>attach-sources</id>
+                                <goals>
+                                    <goal>jar</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-javadoc-plugin</artifactId>
+                        <version>${maven_javadoc_version}</version>
+                        <executions>
+                            <execution>
+                                <id>attach-javadoc</id>
+                                <goals>
+                                    <goal>jar</goal>
+                                    <goal>aggregate</goal>
+                                </goals>
+                                <configuration>
+                                    <additionalDependencies>
+                                        <additionalDependency>
+                                            
<groupId>org.apache.logging.log4j</groupId>
+                                            <artifactId>log4j-api</artifactId>
+                                            
<version>${log4j2_version}</version>
+                                        </additionalDependency>
+                                        <additionalDependency>
+                                            
<groupId>org.apache.logging.log4j</groupId>
+                                            <artifactId>log4j-core</artifactId>
+                                            
<version>${log4j2_version}</version>
+                                        </additionalDependency>
+                                    </additionalDependencies>
+                                </configuration>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <show>public</show>
+                            <charset>UTF-8</charset>
+                            <encoding>UTF-8</encoding>
+                            <docencoding>UTF-8</docencoding>
+                            <links>
+                                
<link>http://docs.oracle.com/javase/8/docs/api</link>
+                            </links>
+                            <doclint>none</doclint>
+                            <excludePackageNames>
+                                
org.apache.dubbo.demo,org.apache.dubbo.demo.*,org.apache.dubbo.apidocs.examples.*
+                            </excludePackageNames>
+                            <doctitle>Apache Dubbo Extensions 
${project.version} API</doctitle>
+                            <windowtitle>Apache Dubbo Extensions 
${project.version} API</windowtitle>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-gpg-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>sign</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>licenseCheck</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>license-maven-plugin</artifactId>
+                        <version>2.0.0</version>
+                        <executions>
+                            <execution>
+                                <id>license-check</id>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-third-party</goal>
+                                </goals>
+                                <configuration>
+                                    <includeOptional>false</includeOptional>
+                                    <useMissingFile>false</useMissingFile>
+                                    <failOnMissing>false</failOnMissing>
+                                    <licenseMerges>
+                                        <licenseMerge>Apache License, Version 
2.0|The Apache Software License, Version
+                                            2.0|ASF 2.0|Apache 
2|Apache-2.0|Apache 2.0 License|Apache 2.0|Apache License
+                                            v2.0|Apache License 2.0|The Apache 
License, Version 2.0|The Apache Software
+                                            License, Version 2.0
+                                        </licenseMerge>
+                                        <licenseMerge>The MIT License|MIT 
License</licenseMerge>
+                                        <licenseMerge>The 3-Clause BSD 
License|New BSD License|3-Clause BSD
+                                            License|BSD|3-Clause BSD 
License|The New BSD License
+                                        </licenseMerge>
+                                    </licenseMerges>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+
 </project>
diff --git a/test/pom.xml b/test/pom.xml
index e38d1e2..6f30434 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  -->
 
 <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";>
diff --git 
a/test/scenarios/scenarios-dubbo-serialization/dubbo-serialization-protobuf-test/src/main/proto/DemoService.proto
 
b/test/scenarios/scenarios-dubbo-serialization/dubbo-serialization-protobuf-test/src/main/proto/DemoService.proto
index 67c0573..6bab478 100644
--- 
a/test/scenarios/scenarios-dubbo-serialization/dubbo-serialization-protobuf-test/src/main/proto/DemoService.proto
+++ 
b/test/scenarios/scenarios-dubbo-serialization/dubbo-serialization-protobuf-test/src/main/proto/DemoService.proto
@@ -1,3 +1,18 @@
+// 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.
+
 syntax = "proto3";
 
 import "google/protobuf/empty.proto";

Reply via email to