You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eventmesh.apache.org by mi...@apache.org on 2021/07/28 07:07:49 UTC

[incubator-eventmesh] branch develop updated: [ISSUE #456] Automatic License report and check (#462)

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

mikexue pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-eventmesh.git


The following commit(s) were added to refs/heads/develop by this push:
     new f26cc1c  [ISSUE #456] Automatic License report and check (#462)
f26cc1c is described below

commit f26cc1cbec65d58a0e8104c1986cae8d28faf93e
Author: Wenjun Ruan <86...@qq.com>
AuthorDate: Wed Jul 28 15:07:43 2021 +0800

    [ISSUE #456] Automatic License report and check (#462)
    
    * [ISSUE #456] Automatic License report and check
    
    * Add mail
    
    close #456
---
 .github/workflows/ci.yml          |   2 +-
 CONTRIBUTING.md                   |  11 +
 CONTRIBUTING.zh-CN.md             |  11 +
 build.gradle                      |  77 +++---
 tool/license/allowed-licenses.txt | 539 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 597 insertions(+), 43 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0481834..1c40819 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -63,7 +63,7 @@ jobs:
           java-version: ${{ matrix.java }}
 
       - name: Build
-        run: ./gradlew clean build jacocoTestReport
+        run: ./gradlew clean build jacocoTestReport checkLicense
 
       - name: Perform CodeQL analysis
         uses: github/codeql-action/analyze@v1
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 68c870c..67a393e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -63,6 +63,17 @@ All code should be well reviewed by one or more committers. Some principles:
 - Elegance: New functions, classes or components should be well-designed.
 - Testability: Important code should be well-tested (high unit test coverage).
 
+### License review
+
+Eventmesh follows [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) policy. All source files should 
+have the Apache License header added to the file header. Eventmesh uses the [apache/skywalking-eyes](https://github.com/apache/skywalking-eyes) to check 
+the source file header. And Eventmesh uses [Gradle-License-Report](https://github.com/jk1/Gradle-License-Report) plugin to check for third-part dependencies. 
+When you need to add a three-part dependency, you need to register the newly added dependency in tool/license/allowed-licenses.txt, you can execute `./gradle clean checkLicense` to judge 
+whether there exist dependencies isn't added, and the newly added three-part libraries need to meet [ASF 3RD PARTY LICENSE POLICY](https://apache.org/legal/resolved.html). 
+It is highly recommended communicating with Eventmesh community before you need to add a three-part library.
+
 ## Community
 
 ### Contact us
+
+Mail: dev@eventmesh.apache.org
diff --git a/CONTRIBUTING.zh-CN.md b/CONTRIBUTING.zh-CN.md
index 742ccbd..e28a525 100644
--- a/CONTRIBUTING.zh-CN.md
+++ b/CONTRIBUTING.zh-CN.md
@@ -56,6 +56,17 @@
 - 优雅: 新功能,类或组件应经过精心设计
 - 可测试性: 重要代码应经过良好测试(较高的单元测试覆盖率)
 
+### License审查
+
+Eventmesh遵循[Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) 政策。 
+所有的源代码文件应该在文件头部添加Apache License header,Eventmesh会使用[apache/skywalking-eyes](https://github.com/apache/skywalking-eyes)
+对源代码文件头进行校验。Eventmesh使用[Gradle-License-Report](https://github.com/jk1/Gradle-License-Report)插件
+检查第三方依赖,当你需要添加三方依赖时,你需要将新添加的依赖注册在tool/license/allowed-licenses.txt中,你可以通过执行`./gradle clean checkLicense`命令可以判断当前是否有license尚未添加,
+同时新添加的三方库需要满足[Apache对于第三方的政策](https://apache.org/legal/resolved.html)。
+非常建议在需要添加三方依赖之前与Eventmesh社区进行沟通。
+
 ## 社区
 
 ### 联系我们
+
+邮件:dev@eventmesh.apache.org
diff --git a/build.gradle b/build.gradle
index 1658b84..d3e191f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,8 +17,6 @@
 
 import java.util.concurrent.TimeUnit
 
-//import com.github.spotbugs.snom.SpotBugsTask
-
 buildscript {
     repositories {
         maven {
@@ -32,6 +30,26 @@ buildscript {
 
     dependencies {
         classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.1"
+        classpath 'com.github.jk1:gradle-license-report:1.17'
+    }
+}
+
+task tar(type: Tar) {
+    extension = 'tar.gz'
+    compression = Compression.GZIP
+    archiveFileName = project.name + '_' + project.version + '.' + extension
+    destinationDirectory = new File(projectDir, 'build')
+    into('/') {
+        from 'dist'
+    }
+}
+
+task zip(type: Zip) {
+    extension = 'zip'
+    archiveFileName = project.name + '.' + project.version + '.' + extension
+    destinationDirectory = new File(projectDir, 'build')
+    into('/') {
+        from 'dist'
     }
 }
 
@@ -47,17 +65,8 @@ allprojects {
     apply plugin: "pmd"
     apply plugin: "java-library"
     apply plugin: 'signing'
+    apply plugin: 'com.github.jk1.dependency-license-report'
 
-//    print(project)
-//    if (project.findProperty("jdk") == "1.7") {
-//        sourceCompatibility = 1.7
-//        targetCompatibility = 1.7
-//        version = version + "-jdk7"
-//    } else {
-//        sourceCompatibility = 1.8
-//        targetCompatibility = 1.8
-//        version = version + "-jdk8"
-//    }
     [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
 
     compileJava.options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
@@ -71,25 +80,21 @@ allprojects {
     if ((project.findProperty("snapshot") instanceof String) && (Boolean.valueOf(project.property("snapshot")))) {
         version = version + "-SNAPSHOT"
     }
-}
 
-task tar(type: Tar) {
-    extension = 'tar.gz'
-    compression = Compression.GZIP
-    archiveFileName = project.name + '_' + project.version + '.' + extension
-    destinationDirectory = new File(projectDir, 'build')
-    into('/') {
-        from 'dist'
+    licenseReport {
+        allowedLicensesFile = new File("build/license/allowed-licenses.json")
     }
-}
 
+    checkLicense.doFirst {
+        new File("build/license").mkdirs()
+        new File("build/license/allowed-licenses.json").createNewFile()
 
-task zip(type: Zip) {
-    extension = 'zip'
-    archiveFileName = project.name + '.' + project.version + '.' + extension
-    destinationDirectory = new File(projectDir, 'build')
-    into('/') {
-        from 'dist'
+        def writer = new File("build/license/allowed-licenses.json").newPrintWriter()
+        new File("tool/license/allowed-licenses.txt").filterLine {
+            String line -> line.trim().length() != 0 && !line.startsWith("#")
+        }.writeTo(writer)
+        writer.flush()
+        writer.close()
     }
 }
 
@@ -189,22 +194,14 @@ subprojects {
     }
 
     spotbugs {
-        //toolVersion = '4.2.3'
         ignoreFailures = true
         showProgress = true
         showStackTraces = true
-        //reportLevel = 'default'
         effort = 'default'
-        //visitors = [ 'FindSqlInjection', 'SwitchFallthrough' ]
-        //omitVisitors = [ 'FindNonShortCircuit' ]
         reportsDir = file("$buildDir/reports/spotbugs")
-        //includeFilter = file('spotbugs-include.xml')
-        //excludeFilter = file('spotbugs-exclude.xml')
-        //onlyAnalyze = ['org/apache/eventmesh/**']
         projectName = rootProject.name
         release = version
         extraArgs = ['-nested:false']
-        //jvmArgs = [ '-Duser.language=zh' ]
         maxHeapSize = '256m'
 
     }
@@ -286,7 +283,6 @@ subprojects {
                 exclude '**/mumble-sdk-test*.jar'
                 exclude '*connector-rocketmq*.jar'
                 exclude 'eventmesh-runtime*.jar'
-//                exclude '*log4j*.jar'
                 exclude 'commons-collections-3.2.2.jar'
             }
 
@@ -304,7 +300,6 @@ subprojects {
 
     javadoc {
         source = sourceSets.main.java
-        //classpath = configurations.implementation
         destinationDir = reporting.file("javadoc")
     }
 
@@ -325,8 +320,8 @@ subprojects {
     }
 
     if (!Boolean.valueOf(signEnabled)) {
-        tasks.whenTaskAdded {task ->
-            if(task.name.contains("sign")) {
+        tasks.whenTaskAdded { task ->
+            if (task.name.contains("sign")) {
                 task.enabled = false
             }
         }
@@ -338,7 +333,6 @@ subprojects {
         mavenLocal()
     }
 
-
     configurations.all {
         resolutionStrategy.cacheChangingModulesFor 0, TimeUnit.SECONDS
         resolutionStrategy.cacheDynamicVersionsFor 0, TimeUnit.SECONDS
@@ -401,5 +395,4 @@ subprojects {
         sign publishing.publications.mavenJava
     }
 
-}
-
+}
\ No newline at end of file
diff --git a/tool/license/allowed-licenses.txt b/tool/license/allowed-licenses.txt
new file mode 100644
index 0000000..5c85c82
--- /dev/null
+++ b/tool/license/allowed-licenses.txt
@@ -0,0 +1,539 @@
+#
+# 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.
+#
+
+{
+  "allowedLicenses": [
+    {
+      "moduleLicense": "Eclipse Public License - v 1.0",
+      "moduleVersion": "1.0.13",
+      "moduleName": "ch.qos.logback:logback-core"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.2.71",
+      "moduleName": "com.alibaba:fastjson"
+    },
+    {
+      "moduleLicense": "Apache 2.0",
+      "moduleVersion": "1.72",
+      "moduleName": "com.beust:jcommander"
+    },
+    {
+      "moduleLicense": "Apache 2.0",
+      "moduleVersion": "2.3.4",
+      "moduleName": "com.google.errorprone:error_prone_annotations"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "29.0-jre",
+      "moduleName": "com.google.guava:guava"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "3.2.2",
+      "moduleName": "commons-collections:commons-collections"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.6",
+      "moduleName": "commons-validator:commons-validator"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "4.1.0",
+      "moduleName": "io.dropwizard.metrics:metrics-annotation"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "4.1.0",
+      "moduleName": "io.dropwizard.metrics:metrics-core"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "4.1.0",
+      "moduleName": "io.dropwizard.metrics:metrics-healthchecks"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "4.1.0",
+      "moduleName": "io.dropwizard.metrics:metrics-json"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.1.49.Final",
+      "moduleName": "io.netty:netty-all"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.1.33.Fork26",
+      "moduleName": "io.netty:netty-tcnative-boringssl-static"
+    },
+    {
+      "moduleVersion": "0.1",
+      "moduleName": "io.openmessaging.storage:dledger"
+    },
+    {
+      "moduleLicense": "CDDL + GPLv2 with classpath exception",
+      "moduleVersion": "1.3.2",
+      "moduleName": "javax.annotation:javax.annotation-api"
+    },
+    {
+      "moduleLicense": "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0",
+      "moduleVersion": "1.3.2",
+      "moduleName": "javax.annotation:javax.annotation-api"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "2.0.1.Final",
+      "moduleName": "javax.validation:validation-api"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.0.1.Final",
+      "moduleName": "javax.validation:validation-api"
+    },
+    {
+      "moduleLicense": "ASL, version 2",
+      "moduleVersion": "4.2.2",
+      "moduleName": "net.java.dev.jna:jna"
+    },
+    {
+      "moduleLicense": "LGPL, version 2.1",
+      "moduleVersion": "4.2.2",
+      "moduleName": "net.java.dev.jna:jna"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.1",
+      "moduleName": "org.apache.commons:commons-collections4"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "3.11",
+      "moduleName": "org.apache.commons:commons-lang3"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.9",
+      "moduleName": "org.apache.commons:commons-text"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.13.3",
+      "moduleName": "org.apache.logging.log4j:log4j-api"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.13.3",
+      "moduleName": "org.apache.logging.log4j:log4j-core"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.13.3",
+      "moduleName": "org.apache.logging.log4j:log4j-slf4j-impl"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.13.3",
+      "moduleName": "org.apache.logging.log4j:log4j-web"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-acl"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-broker"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-client"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-common"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-filter"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-logging"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-namesrv"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-remoting"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-srvutil"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-store"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-test"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.7.1",
+      "moduleName": "org.apache.rocketmq:rocketmq-tools"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "9.0.21",
+      "moduleName": "org.apache.tomcat.embed:tomcat-embed-core"
+    },
+    {
+      "moduleLicense": "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0",
+      "moduleVersion": "9.0.21",
+      "moduleName": "org.apache.tomcat.embed:tomcat-embed-core"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "9.0.21",
+      "moduleName": "org.apache.tomcat.embed:tomcat-embed-el"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "9.0.21",
+      "moduleName": "org.apache.tomcat.embed:tomcat-embed-websocket"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "9.0.21",
+      "moduleName": "org.apache.tomcat:tomcat-annotations-api"
+    },
+    {
+      "moduleLicense": "The MIT License",
+      "moduleVersion": "2.11.1",
+      "moduleName": "org.checkerframework:checker-qual"
+    },
+    {
+      "moduleLicense": "BSD style",
+      "moduleVersion": "1.1",
+      "moduleName": "org.hamcrest:hamcrest-core"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "6.0.17.Final",
+      "moduleName": "org.hibernate.validator:hibernate-validator"
+    },
+    {
+      "moduleVersion": "3.20.0-GA",
+      "moduleName": "org.javassist:javassist"
+    },
+    {
+      "moduleLicense": "Apache License 2.0",
+      "moduleVersion": "3.20.0-GA",
+      "moduleName": "org.javassist:javassist"
+    },
+    {
+      "moduleLicense": "LGPL 2.1",
+      "moduleVersion": "3.20.0-GA",
+      "moduleName": "org.javassist:javassist"
+    },
+    {
+      "moduleLicense": "MPL 1.1",
+      "moduleVersion": "3.20.0-GA",
+      "moduleName": "org.javassist:javassist"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "3.3.2.Final",
+      "moduleName": "org.jboss.logging:jboss-logging"
+    },
+    {
+      "moduleLicense": "Apache License, version 2.0",
+      "moduleVersion": "3.3.2.Final",
+      "moduleName": "org.jboss.logging:jboss-logging"
+    },
+    {
+      "moduleLicense": "Public Domain",
+      "moduleVersion": "3.3.2.Final",
+      "moduleName": "org.jboss.logging:jboss-logging"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.1.6.RELEASE",
+      "moduleName": "org.springframework.boot:spring-boot"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.1.6.RELEASE",
+      "moduleName": "org.springframework.boot:spring-boot-autoconfigure"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.1.6.RELEASE",
+      "moduleName": "org.springframework.boot:spring-boot-starter"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.1.6.RELEASE",
+      "moduleName": "org.springframework.boot:spring-boot-starter-json"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.1.6.RELEASE",
+      "moduleName": "org.springframework.boot:spring-boot-starter-tomcat"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.1.6.RELEASE",
+      "moduleName": "org.springframework.boot:spring-boot-starter-web"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-aop"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-beans"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-context"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-core"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-expression"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-jcl"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-web"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "5.1.8.RELEASE",
+      "moduleName": "org.springframework:spring-webmvc"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.19",
+      "moduleName": "org.yaml:snakeyaml"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.23",
+      "moduleName": "org.yaml:snakeyaml"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.11.0",
+      "moduleName": "com.fasterxml.jackson.core:jackson-annotations"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.11.0",
+      "moduleName": "com.fasterxml.jackson.core:jackson-core"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.11.0",
+      "moduleName": "com.fasterxml.jackson.core:jackson-databind"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.9.9",
+      "moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jdk8"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.9.9",
+      "moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.9.9",
+      "moduleName": "com.fasterxml.jackson.module:jackson-module-parameter-names"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.3.4",
+      "moduleName": "com.fasterxml:classmate"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "3.0.2",
+      "moduleName": "com.google.code.findbugs:jsr305"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.0.1",
+      "moduleName": "com.google.guava:failureaccess"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "9999.0-empty-to-avoid-conflict-with-guava",
+      "moduleName": "com.google.guava:listenablefuture"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.3",
+      "moduleName": "com.google.j2objc:j2objc-annotations"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "0.30",
+      "moduleName": "com.google.truth:truth"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "3.4.2",
+      "moduleName": "com.lmax:disruptor"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.9.2",
+      "moduleName": "commons-beanutils:commons-beanutils"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.9.2",
+      "moduleName": "commons-beanutils:commons-beanutils"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.2",
+      "moduleName": "commons-cli:commons-cli"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.2",
+      "moduleName": "commons-cli:commons-cli"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.9",
+      "moduleName": "commons-codec:commons-codec"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.9",
+      "moduleName": "commons-codec:commons-codec"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.8.1",
+      "moduleName": "commons-digester:commons-digester"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.8.1",
+      "moduleName": "commons-digester:commons-digester"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "2.4",
+      "moduleName": "commons-io:commons-io"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.4",
+      "moduleName": "commons-io:commons-io"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.2",
+      "moduleName": "commons-logging:commons-logging"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.2",
+      "moduleName": "commons-logging:commons-logging"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "2.2.1-pubsub",
+      "moduleName": "io.openmessaging:openmessaging-api"
+    },
+    {
+      "moduleLicense": "Common Public License Version 1.0",
+      "moduleVersion": "4.10",
+      "moduleName": "junit:junit"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "1.2.17",
+      "moduleName": "log4j:log4j"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "1.2.17",
+      "moduleName": "log4j:log4j"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.5.2",
+      "moduleName": "org.apache.httpcomponents:httpclient"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "4.5.2",
+      "moduleName": "org.apache.httpcomponents:httpclient"
+    },
+    {
+      "moduleLicense": "Apache License, Version 2.0",
+      "moduleVersion": "4.4.4",
+      "moduleName": "org.apache.httpcomponents:httpcore"
+    },
+    {
+      "moduleLicense": "The Apache Software License, Version 2.0",
+      "moduleVersion": "4.4.4",
+      "moduleName": "org.apache.httpcomponents:httpcore"
+    },
+    {
+      "moduleLicense": "MIT License",
+      "moduleVersion": "1.7.30",
+      "moduleName": "org.slf4j:slf4j-api"
+    }
+  ]
+}
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: commits-help@eventmesh.apache.org