From beaa7352a1ce2fd659a5120cf339c4f37010af18 Mon Sep 17 00:00:00 2001 From: Pil0tXia Date: Fri, 17 May 2024 21:47:29 +0800 Subject: [PATCH] [ISSUE #4720] Modernize CI license check and Enable Dependabot (#4827) * Sync changes in https://github.com/apache/eventmesh/pull/4719 * minor change * Only keep the artifact name * Run `sed -i 's/-[0-9].*\.jar//g'` * Run `sort known-dependencies.txt | uniq > known-dependencies-unique.txt` * Allow CI to run on branches with namespace in the branch name in forked repos * Correct typo and remove useless command * Use `sort -u -o` instead of `uniq` to remove duplicate artifacts with different version * Enlarge open-pull-requests-limit * minor: polish tips * Test apache/skywalking-eyes/dependency CI result * Fix 'unable to find version `0.6.0`' * See debug log to prove it works * skywalking-eyes/dependency doesn't support gradle, test basic actions/dependency-review-action * Add all denied licenses * Remove redundant check * Remove not included SPDX: ASL, RSAL * Add a useful printAllDependencyTrees task * Exampt safe artifact under multiple licenses * Exempt more safe artifacts (Looks like the last of them) * 'allow-dependencies-licenses' attribute only supports single-line text * Add a TODO comment * Add more file extensions for checkstyle * Resolve some checkstyle header violations * Add back apache/skywalking-eyes * Fix downloaded file didn't have a `.` * Disable Go deps update & Must pass CI before merge * No need to force up-to-date & Auto-approve only * Remove the slash at the end of the homepage url in Repo GitHub desc * Skip patch updates temporarily to reduce PR noise * Logback removed after https://github.com/apache/eventmesh/pull/4831/commits/be06ef7441d58b6cf148ca6fe7457525502fcf4d * Accept patch update * Submit dependency graph * Follow https://github.com/gradle/actions/blob/main/docs/dependency-submission.md#usage-with-pull-requests-from-public-forked-repositories * try to sort dependency graph workflow exec seq * `workflow_run` event will only trigger a workflow run if the workflow file is on the default branch * Grant required permission of CodeQL * Attempt to fix 'No dependency graph files found to submit' * Attempt to fix 'No dependency graph files found to submit' try 2 * Attempt to fix 'No dependency graph files found to submit' try 3 * Attempt to fix 'No dependency graph files found to submit' try 4 * Try to check dependency-review * Only check bundled dependencies * Fix 'No snapshots were found for the head SHA' attempt 1 * Test runtimeClasspath dependencies * Revert "Test runtimeClasspath dependencies" This reverts commit 3de89a51b7443a7e937cd7d699b21163a7a1d795. * Try to retry 1 hr wo wait for snapshot update * Test https://github.com/gradle/actions/issues/196#issuecomment-2074366829 * Add todo comments * Keep implementation and compileOnly for now * Keep runtimeOnly deps * [Breaking Change] Remove dependency-review-action and wait for its bugfix * Add checkDeniedLicense into CI * minor code optimization --- .asf.yaml | 6 +- .github/dependabot.yml | 42 +- .github/workflows/auto-dependabot.yml | 42 ++ .github/workflows/ci.yml | 61 +-- .github/workflows/code-scanning.yml | 74 ++++ .github/workflows/codeql.yml | 69 ---- .github/workflows/docker.yml | 29 +- .github/workflows/greetings.yml | 2 +- .github/workflows/license.yml | 46 +++ .github/workflows/stale.yml | 26 +- build.gradle | 19 +- docker/Dockerfile_jdk11 | 27 +- docker/Dockerfile_jdk8 | 27 +- eventmesh-sdks/eventmesh-sdk-go/.golangci.yml | 25 +- eventmesh-sdks/eventmesh-sdk-rust/Cargo.toml | 28 +- ....apache.io.openmessaging.producer.Producer | 27 +- ....apache.io.openmessaging.producer.Producer | 27 +- style/checkStyle.xml | 26 +- style/checkstyle-header-c.txt | 14 + ...header1.txt => checkstyle-header-java.txt} | 0 ...eader3.txt => checkstyle-header-shell.txt} | 0 style/checkstyle-header-xml.txt | 17 + ...header2.txt => checkstyle-header-yaml.txt} | 0 tools/dependency-check/check-dependencies.sh | 56 --- tools/dependency-check/known-dependencies.txt | 368 ------------------ 25 files changed, 375 insertions(+), 683 deletions(-) create mode 100644 .github/workflows/auto-dependabot.yml create mode 100644 .github/workflows/code-scanning.yml delete mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/license.yml create mode 100644 style/checkstyle-header-c.txt rename style/{checkstyle-header1.txt => checkstyle-header-java.txt} (100%) rename style/{checkstyle-header3.txt => checkstyle-header-shell.txt} (100%) create mode 100644 style/checkstyle-header-xml.txt rename style/{checkstyle-header2.txt => checkstyle-header-yaml.txt} (100%) delete mode 100755 tools/dependency-check/check-dependencies.sh delete mode 100644 tools/dependency-check/known-dependencies.txt diff --git a/.asf.yaml b/.asf.yaml index 8bcc57a651..36f6293d04 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -43,7 +43,11 @@ github: protected_branches: master: required_status_checks: - strict: true + strict: false + contexts: + - dependency-review + - Build (ubuntu-latest, 8, java) + - Build (ubuntu-latest, 11, java) required_pull_request_reviews: dismiss_stale_reviews: true required_approving_review_count: 2 diff --git a/.github/dependabot.yml b/.github/dependabot.yml index fec01fab24..b4b1d8e39d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,29 +1,39 @@ # -# 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 +# 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 +# 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. +# 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. # version: 2 updates: - package-ecosystem: "gradle" directory: "/" - open-pull-requests-limit: 20 + open-pull-requests-limit: 15 schedule: interval: "weekly" ignore: - dependency-name: "*" - update-types: ["version-update:semver-major"] + update-types: [ "version-update:semver-major" ] + - package-ecosystem: "gomod" + directory: "eventmesh-sdks/eventmesh-sdk-go" + schedule: + interval: "monthly" + ignore: + - dependency-name: "*" + # Disabled temporarily since the Go SDK is not integrated with CI + update-types: [ "version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch" ] + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/auto-dependabot.yml b/.github/workflows/auto-dependabot.yml new file mode 100644 index 0000000000..0d43a05866 --- /dev/null +++ b/.github/workflows/auto-dependabot.yml @@ -0,0 +1,42 @@ +# +# 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. +# + +name: Dependabot Auto-approve +on: pull_request_target + +permissions: + contents: write + pull-requests: write + +jobs: + # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions + # Pull request Auto merge is not enabled for this repository + dependabot: + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + + - name: Approve PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6018573c6..88f5577ca9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,29 +1,29 @@ # -# 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 +# 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 +# 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. +# 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. # name: "Continuous Integration" on: push: - branches: [ '*' ] + branches: + - '**' + - '!dependabot/**' pull_request: - branches: [ '*' ] + branches: [ '**' ] jobs: build: @@ -33,12 +33,12 @@ jobs: matrix: os: [ ubuntu-latest, macOS-latest ] java: [ 8, 11 ] - language: ['java'] + language: [ 'java' ] runs-on: ${{ matrix.os }} steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - if: matrix.language == 'cpp' || matrix.language == 'csharp' name: Build C @@ -48,10 +48,10 @@ jobs: make -C ./eventmesh-sdks/eventmesh-sdk-c - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 - name: Set up JDK 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 11 @@ -62,7 +62,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: ${{ matrix.java }} @@ -80,22 +80,3 @@ jobs: - name: Upload coverage report to codecov.io run: bash <(curl -s https://codecov.io/bash) || echo 'Failed to upload coverage report!' - - license-check: - name: License Check - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Check license header - uses: apache/skywalking-eyes@main - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Check third party dependencies - run: | - ./gradlew clean dist -x spotlessJava -x test -x checkstyleMain -x javaDoc && ./gradlew installPlugin && ./gradlew tar && sh tools/dependency-check/check-dependencies.sh && echo "Thirty party dependencies check success" - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} diff --git a/.github/workflows/code-scanning.yml b/.github/workflows/code-scanning.yml new file mode 100644 index 0000000000..04166f7485 --- /dev/null +++ b/.github/workflows/code-scanning.yml @@ -0,0 +1,74 @@ +# +# 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. +# + +name: 'Code Scanning' + +on: + push: + branches: + - '**' + - '!dependabot/**' + pull_request: + branches: [ '**' ] + +permissions: + security-events: write + contents: read + +jobs: + build: + name: Analyze + strategy: + fail-fast: false + matrix: + language: [ 'java', 'go' ] + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + languages: ${{ matrix.language }} + + - name: Set up JDK 11 + if: matrix.language == 'java' + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 11 + + - name: Setup Gradle + if: matrix.language == 'java' + uses: gradle/actions/setup-gradle@v3 + with: + cache-disabled: true + + - name: Build + if: matrix.language == 'java' + run: ./gradlew clean assemble compileTestJava --parallel --daemon + env: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} + + - name: Perform CodeQL analysis + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index d8a345a39f..0000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,69 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -name: "CodeQL" - -on: - push: - branches: [ '*' ] - pull_request: - branches: [ '*' ] - -jobs: - build: - name: Analyze - strategy: - fail-fast: false - matrix: - language: ['java', 'go'] - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - languages: ${{ matrix.language }} - - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 - if: matrix.language == 'java' - - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - distribution: 'zulu' - java-version: 11 - if: matrix.language == 'java' - - # https://docs.gradle.org/current/userguide/performance.html - - name: Build - run: ./gradlew clean assemble compileTestJava --no-build-cache --parallel --daemon - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} - if: matrix.language == 'java' - - - name: Perform CodeQL analysis - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ab49c8204e..e902826e97 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,21 +1,20 @@ # -# 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 +# 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 +# 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. +# 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. # + name: Docker on: release: @@ -27,11 +26,13 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Docker meta id: meta uses: docker/metadata-action@v4 diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 740ea6a246..ea438849df 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -19,7 +19,7 @@ name: Greetings -on: [pull_request_target, issues] +on: [ pull_request_target, issues ] jobs: greeting: diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml new file mode 100644 index 0000000000..cc52bdd49f --- /dev/null +++ b/.github/workflows/license.yml @@ -0,0 +1,46 @@ +# +# 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. +# + +name: 'License Check' +on: [ pull_request ] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Check license header + uses: apache/skywalking-eyes@main + + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 11 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Check license compatibility + run: ./gradlew clean checkDeniedLicense + env: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 81d4bc4c1e..c1e4f4ab15 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,20 +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 +# 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 +# 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. +# 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. # name: 'Remind stale issues and PRs' diff --git a/build.gradle b/build.gradle index 5e68699177..c4397bfb07 100644 --- a/build.gradle +++ b/build.gradle @@ -132,7 +132,7 @@ allprojects { } importOrder ('\\#org.apache.eventmesh','\\#org.apache','\\#java','\\#javax','\\#org','\\#io','\\#net','\\#junit','\\#com','\\#lombok', 'org.apache.eventmesh','org.apache','java','javax','org','io','net','junit','com','lombok') - licenseHeaderFile rootProject.file('style/checkstyle-header1.txt') + licenseHeaderFile rootProject.file('style/checkstyle-header-java.txt') eclipse().configFile("${rootDir}/style/task/eventmesh-spotless-formatter.xml") removeUnusedImports() } @@ -360,22 +360,15 @@ static boolean isURL(String urlString) { void downloadFileFromURL(String urlString, String destinationPath) throws Exception { int timeout = 5 * 1000 - RequestConfig config = RequestConfig.custom() - .setConnectTimeout(timeout) - .setConnectionRequestTimeout(timeout) - .setSocketTimeout(timeout) - .build() - - CloseableHttpClient httpClient = HttpClients.custom() - .setDefaultRequestConfig(config) - .build() + RequestConfig config = RequestConfig.custom().setConnectTimeout(timeout).setConnectionRequestTimeout(timeout).setSocketTimeout(timeout).build() + CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(config).build() HttpGet httpGet = new HttpGet(urlString) CloseableHttpResponse response try { response = httpClient.execute(httpGet) } catch (Exception e) { - logger.error("Failed to download " + urlString + " : " + e.getMessage()) + logger.error("Error when downloading " + urlString + " : " + e.getMessage() + ". Please check network connection or add license content manually.") return } @@ -392,7 +385,7 @@ void downloadFileFromURL(String urlString, String destinationPath) throws Except } } } else { - logger.error("Failed to download " + urlString + " : " + response.getStatusLine()) + logger.warn("Failed to download " + urlString + " : " + response.getStatusLine() + ". Please add license content manually.") } EntityUtils.consume(response.getEntity()) @@ -737,7 +730,7 @@ subprojects { dependency "org.yaml:snakeyaml:1.30" dependency "org.javassist:javassist:3.24.0-GA" - dependency "com.alibaba.nacos:nacos-client:2.2.1" + dependency "com.alibaba.nacos:nacos-client:2.2.3" dependency 'org.apache.zookeeper:zookeeper:3.7.1' dependency 'org.apache.curator:curator-client:5.4.0' diff --git a/docker/Dockerfile_jdk11 b/docker/Dockerfile_jdk11 index 95eaeb9851..14afdb7406 100644 --- a/docker/Dockerfile_jdk11 +++ b/docker/Dockerfile_jdk11 @@ -1,21 +1,20 @@ # -# 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 +# 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 +# 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. +# 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. # + FROM openjdk:11-jdk as builder WORKDIR /build COPY . . diff --git a/docker/Dockerfile_jdk8 b/docker/Dockerfile_jdk8 index 78c16290f5..59dc1ae757 100644 --- a/docker/Dockerfile_jdk8 +++ b/docker/Dockerfile_jdk8 @@ -1,21 +1,20 @@ # -# 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 +# 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 +# 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. +# 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. # + FROM openjdk:11-jdk as builder_11 WORKDIR /build COPY . . diff --git a/eventmesh-sdks/eventmesh-sdk-go/.golangci.yml b/eventmesh-sdks/eventmesh-sdk-go/.golangci.yml index 5fe51209d7..9b1e3ec439 100644 --- a/eventmesh-sdks/eventmesh-sdk-go/.golangci.yml +++ b/eventmesh-sdks/eventmesh-sdk-go/.golangci.yml @@ -1,21 +1,20 @@ # -# 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 +# 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 +# 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. +# 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. # - # Options for analysis running. run: # The default concurrency value is the number of available CPU. diff --git a/eventmesh-sdks/eventmesh-sdk-rust/Cargo.toml b/eventmesh-sdks/eventmesh-sdk-rust/Cargo.toml index 0209e3d5e5..42bf18682c 100644 --- a/eventmesh-sdks/eventmesh-sdk-rust/Cargo.toml +++ b/eventmesh-sdks/eventmesh-sdk-rust/Cargo.toml @@ -1,20 +1,20 @@ -# 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 +# 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 # -# 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. +# http://www.apache.org/licenses/LICENSE-2.0 # +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + [package] name = "eventmesh" version = "1.9.0" diff --git a/eventmesh-storage-plugin/eventmesh-storage-kafka/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer b/eventmesh-storage-plugin/eventmesh-storage-kafka/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer index 358b84da4b..250a802e47 100644 --- a/eventmesh-storage-plugin/eventmesh-storage-kafka/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer +++ b/eventmesh-storage-plugin/eventmesh-storage-kafka/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer @@ -1,20 +1,19 @@ # -# 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 +# 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 +# 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. +# 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. # + org.apache.eventmesh.connector.kafka.producer.ProducerImpl \ No newline at end of file diff --git a/eventmesh-storage-plugin/eventmesh-storage-rocketmq/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer b/eventmesh-storage-plugin/eventmesh-storage-rocketmq/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer index 930fe625e0..3041042c69 100644 --- a/eventmesh-storage-plugin/eventmesh-storage-rocketmq/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer +++ b/eventmesh-storage-plugin/eventmesh-storage-rocketmq/src/test/resources/META-INF/services/org.apache.io.openmessaging.producer.Producer @@ -1,20 +1,19 @@ # -# 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 +# 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 +# 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. +# 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. # + ProducerImpl \ No newline at end of file diff --git a/style/checkStyle.xml b/style/checkStyle.xml index cfa1972893..87930c8b02 100644 --- a/style/checkStyle.xml +++ b/style/checkStyle.xml @@ -14,7 +14,6 @@ ~ 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. - ~ --> - + - - + + - - + + - + + + + + + + + + + + @@ -58,6 +67,7 @@ + @@ -367,4 +377,4 @@ - + \ No newline at end of file diff --git a/style/checkstyle-header-c.txt b/style/checkstyle-header-c.txt new file mode 100644 index 0000000000..63f7276486 --- /dev/null +++ b/style/checkstyle-header-c.txt @@ -0,0 +1,14 @@ +// 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. diff --git a/style/checkstyle-header1.txt b/style/checkstyle-header-java.txt similarity index 100% rename from style/checkstyle-header1.txt rename to style/checkstyle-header-java.txt diff --git a/style/checkstyle-header3.txt b/style/checkstyle-header-shell.txt similarity index 100% rename from style/checkstyle-header3.txt rename to style/checkstyle-header-shell.txt diff --git a/style/checkstyle-header-xml.txt b/style/checkstyle-header-xml.txt new file mode 100644 index 0000000000..4acb57c648 --- /dev/null +++ b/style/checkstyle-header-xml.txt @@ -0,0 +1,17 @@ + + diff --git a/style/checkstyle-header2.txt b/style/checkstyle-header-yaml.txt similarity index 100% rename from style/checkstyle-header2.txt rename to style/checkstyle-header-yaml.txt diff --git a/tools/dependency-check/check-dependencies.sh b/tools/dependency-check/check-dependencies.sh deleted file mode 100755 index 3842323c1f..0000000000 --- a/tools/dependency-check/check-dependencies.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# -# 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. -# - -# ******************************************************************** -# This script used to check the dependencies are all in our exception. -# This will not check the license legality -# ******************************************************************** - -# Used to store the tmp files. -decompress_conf='build/tmp' -# store all dependencies from our binary jar. -all_dependencies_txt='tools/dependency-check/all-dependencies.txt' -# store all our known dependencies -known_third_party_dependencies_txt='tools/dependency-check/known-dependencies.txt' - -# Below files is generated by this script. -# store all EventMesh self module's name. -self_modules_txt='tools/dependency-check/self-modules.txt' -# store all third part dependencies -third_party_dependencies_txt='tools/dependency-check/third-party-dependencies.txt' - -mkdir -p $decompress_conf -tar -zxf build/eventmesh*.tar.gz -C $decompress_conf - -./gradlew printProjects | grep '.jar' > "$self_modules_txt" - -find "$decompress_conf" -name "*.jar" -exec basename {} \; | sort | uniq > "$all_dependencies_txt" - -grep -wvf "$self_modules_txt" "$all_dependencies_txt" | sort | uniq > "$third_party_dependencies_txt" - -# If the check is success it will return 0 -sort "$known_third_party_dependencies_txt" | diff - "$third_party_dependencies_txt" - -compareCode=$? -if [ $compareCode -eq 0 ] -then - echo "Dependencies check success" -else - echo "Dependencies check failed, please check if you add known dependencies" - exit $compareCode -fi diff --git a/tools/dependency-check/known-dependencies.txt b/tools/dependency-check/known-dependencies.txt deleted file mode 100644 index 4df5d0fc6b..0000000000 --- a/tools/dependency-check/known-dependencies.txt +++ /dev/null @@ -1,368 +0,0 @@ -ST4-4.3.4.jar -accessors-smart-2.4.7.jar -adapter-rxjava2-2.9.0.jar -alibabacloud-gateway-spi-0.0.1.jar -amqp-client-5.16.0.jar -animal-sniffer-annotations-1.19.jar -annotations-2.20.29.jar -annotations-4.1.1.4.jar -antlr-runtime-3.5.3.jar -antlr4-4.13.0.jar -antlr4-runtime-4.13.0.jar -aopalliance-1.0.jar -apache-client-2.20.29.jar -api-0.18.2.jar -arns-2.20.29.jar -asm-9.1.jar -asm-9.2.jar -asm-analysis-9.2.jar -asm-commons-9.2.jar -asm-tree-9.2.jar -asm-util-9.2.jar -assertj-core-2.6.0.jar -async-http-client-2.12.0.jar -async-http-client-netty-utils-2.12.0.jar -audience-annotations-0.12.0.jar -auth-2.20.29.jar -aws-core-2.20.29.jar -aws-query-protocol-2.20.29.jar -aws-xml-protocol-2.20.29.jar -bcpkix-jdk15on-1.69.jar -bcpkix-jdk15on-1.70.jar -bcprov-ext-jdk15on-1.69.jar -bcprov-ext-jdk15on-1.70.jar -bcprov-jdk15on-1.69.jar -bcprov-jdk15on-1.70.jar -bcutil-jdk15on-1.69.jar -bcutil-jdk15on-1.70.jar -bolt-1.1.6.jar -bouncy-castle-bc-2.10.1-pkg.jar -bouncy-castle-bc-2.11.1-pkg.jar -bson-3.12.11.jar -byte-buddy-1.11.0.jar -cache-api-1.1.1.jar -checker-qual-3.12.0.jar -classgraph-4.8.21.jar -classmate-1.5.1.jar -client-0.18.2.jar -cloudevents-api-2.4.2.jar -cloudevents-core-2.4.2.jar -cloudevents-http-vertx-2.3.0.jar -cloudevents-http-vertx-3.0.0.jar -cloudevents-json-jackson-2.4.2.jar -cloudevents-kafka-2.4.2.jar -cloudevents-protobuf-2.4.2.jar -commons-beanutils-1.9.4.jar -commons-cli-1.2.jar -commons-codec-1.11.jar -commons-codec-1.15.jar -commons-collections-3.2.2.jar -commons-collections4-4.1.jar -commons-digester-2.1.jar -commons-io-2.11.0.jar -commons-lang3-3.6.jar -commons-logging-1.2.jar -commons-text-1.9.jar -commons-validator-1.7.jar -consul-api-1.4.5.jar -converter-jackson-2.9.0.jar -credentials-java-0.2.4.jar -crt-core-2.20.29.jar -curator-client-5.4.0.jar -curator-framework-5.4.0.jar -curator-recipes-5.4.0.jar -dingtalk-2.0.61.jar -disruptor-3.4.2.jar -dledger-0.3.1.2.jar -dom4j-2.0.3.jar -druid-1.2.20.jar -endpoint-util-0.0.7.jar -endpoints-spi-2.20.29.jar -error_prone_annotations-2.9.0.jar -eventstream-1.0.1.jar -failsafe-3.3.2.jar -failureaccess-1.0.1.jar -fastjson-1.2.69_noneautotype.jar -fastjson2-2.0.48.jar -gateway-dingtalk-1.0.2.jar -google-auth-library-credentials-0.22.2.jar -grpc-api-1.43.2.jar -grpc-auth-1.39.0.jar -grpc-context-1.43.2.jar -grpc-core-1.43.2.jar -grpc-grpclb-1.17.1.jar -grpc-netty-1.43.2.jar -grpc-netty-shaded-1.43.2.jar -grpc-protobuf-1.42.2.jar -grpc-protobuf-1.43.2.jar -grpc-protobuf-lite-1.42.2.jar -grpc-protobuf-lite-1.43.2.jar -grpc-stub-1.43.2.jar -gson-2.8.2.jar -guava-31.0.1-jre.jar -guava-retrying-2.0.0.jar -guice-4.2.2.jar -hibernate-validator-6.2.0.Final.jar -http-client-spi-2.20.29.jar -httpasyncclient-4.1.3.jar -httpclient-4.5.13.jar -httpcore-4.4.13.jar -httpcore-nio-4.4.6.jar -httpmime-4.5.13.jar -icu4j-72.1.jar -ini4j-0.5.4.jar -ipaddress-5.3.3.jar -j2objc-annotations-1.3.jar -jackson-annotations-2.13.0.jar -jackson-core-2.13.0.jar -jackson-databind-2.13.0.jar -jackson-dataformat-yaml-2.13.0.jar -jackson-datatype-jsr310-2.13.0.jar -jackson-jr-objects-2.16.1.jar -jakarta.annotation-api-1.3.5.jar -jakarta.validation-api-2.0.2.jar -javassist-3.24.0-GA.jar -javax.activation-1.2.0.jar -javax.annotation-api-1.3.2.jar -javax.inject-1.jar -javax.ws.rs-api-2.1.jar -jaxb-api-2.3.0.jar -jaxb-core-2.3.0.jar -jaxb-impl-2.3.0.jar -jaxen-1.1.6.jar -jboss-logging-3.4.1.Final.jar -jboss-marshalling-2.0.11.Final.jar -jboss-marshalling-river-2.0.11.Final.jar -jcip-annotations-1.0.jar -jcommander-1.78.jar -jcommander-1.82.jar -jetcd-common-0.3.0.jar -jetcd-core-0.3.0.jar -jetcd-resolver-0.3.0.jar -jjwt-api-0.11.1.jar -jjwt-impl-0.11.1.jar -jjwt-jackson-0.11.1.jar -jna-4.2.2.jar -jodd-bean-5.1.6.jar -jodd-core-5.1.6.jar -json-path-2.7.0.jar -json-smart-2.4.7.jar -json-utils-2.20.29.jar -jsr305-3.0.2.jar -jtokkit-0.5.1.jar -kafka-clients-3.0.0.jar -listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar -log4j-api-2.22.1.jar -log4j-core-2.22.1.jar -log4j-slf4j2-impl-2.22.1.jar -lz4-java-1.7.1.jar -lz4-java-1.8.0.jar -mbknor-jackson-jsonschema_2.12-1.0.34.jar -metrics-annotation-4.1.0.jar -metrics-core-4.1.0.jar -metrics-healthchecks-4.1.0.jar -metrics-json-4.1.0.jar -metrics-spi-2.20.29.jar -mongodb-driver-3.12.11.jar -mongodb-driver-core-3.12.11.jar -mysql-binlog-connector-java-0.28.0.jar -nacos-auth-plugin-2.2.1.jar -nacos-client-2.2.1.jar -nacos-encryption-plugin-2.2.1.jar -netty-3.10.6.Final.jar -netty-all-4.1.79.Final.jar -netty-buffer-4.1.100.Final.jar -netty-buffer-4.1.79.Final.jar -netty-buffer-4.1.86.Final.jar -netty-codec-4.1.100.Final.jar -netty-codec-4.1.79.Final.jar -netty-codec-4.1.86.Final.jar -netty-codec-dns-4.1.100.Final.jar -netty-codec-dns-4.1.79.Final.jar -netty-codec-haproxy-4.1.79.Final.jar -netty-codec-http-4.1.100.Final.jar -netty-codec-http-4.1.79.Final.jar -netty-codec-http-4.1.86.Final.jar -netty-codec-http2-4.1.100.Final.jar -netty-codec-http2-4.1.79.Final.jar -netty-codec-http2-4.1.86.Final.jar -netty-codec-memcache-4.1.79.Final.jar -netty-codec-mqtt-4.1.79.Final.jar -netty-codec-redis-4.1.79.Final.jar -netty-codec-smtp-4.1.79.Final.jar -netty-codec-socks-4.1.100.Final.jar -netty-codec-socks-4.1.79.Final.jar -netty-codec-stomp-4.1.79.Final.jar -netty-codec-xml-4.1.79.Final.jar -netty-common-4.1.100.Final.jar -netty-common-4.1.79.Final.jar -netty-common-4.1.86.Final.jar -netty-handler-4.1.100.Final.jar -netty-handler-4.1.79.Final.jar -netty-handler-4.1.86.Final.jar -netty-handler-proxy-4.1.100.Final.jar -netty-handler-proxy-4.1.79.Final.jar -netty-nio-client-2.20.29.jar -netty-reactive-streams-2.0.4.jar -netty-resolver-4.1.100.Final.jar -netty-resolver-4.1.79.Final.jar -netty-resolver-4.1.86.Final.jar -netty-resolver-dns-4.1.100.Final.jar -netty-resolver-dns-4.1.79.Final.jar -netty-resolver-dns-classes-macos-4.1.79.Final.jar -netty-resolver-dns-native-macos-4.1.79.Final-osx-aarch_64.jar -netty-resolver-dns-native-macos-4.1.79.Final-osx-x86_64.jar -netty-tcnative-boringssl-static-2.0.48.Final.jar -netty-tcnative-boringssl-static-2.0.51.Final.jar -netty-tcnative-classes-2.0.48.Final.jar -netty-tcnative-classes-2.0.51.Final.jar -netty-transport-4.1.100.Final.jar -netty-transport-4.1.79.Final.jar -netty-transport-4.1.86.Final.jar -netty-transport-classes-epoll-4.1.79.Final.jar -netty-transport-classes-epoll-4.1.86.Final.jar -netty-transport-classes-kqueue-4.1.79.Final.jar -netty-transport-native-epoll-4.1.79.Final-linux-aarch_64.jar -netty-transport-native-epoll-4.1.79.Final-linux-x86_64.jar -netty-transport-native-epoll-4.1.79.Final.jar -netty-transport-native-kqueue-4.1.79.Final-osx-aarch_64.jar -netty-transport-native-kqueue-4.1.79.Final-osx-x86_64.jar -netty-transport-native-unix-common-4.1.100.Final.jar -netty-transport-native-unix-common-4.1.79.Final.jar -netty-transport-native-unix-common-4.1.86.Final.jar -netty-transport-rxtx-4.1.79.Final.jar -netty-transport-sctp-4.1.79.Final.jar -netty-transport-udt-4.1.79.Final.jar -oapi-sdk-2.0.28.jar -okhttp-3.14.9.jar -okio-1.17.2.jar -openapiutil-0.2.1.jar -openmessaging-api-2.2.1-pubsub.jar -opentelemetry-api-1.36.0.jar -opentelemetry-api-events-1.36.0-alpha.jar -opentelemetry-context-1.36.0.jar -opentelemetry-exporter-common-1.34.1.jar -opentelemetry-exporter-common-1.36.0.jar -opentelemetry-exporter-jaeger-1.34.1.jar -opentelemetry-exporter-prometheus-1.36.0-alpha.jar -opentelemetry-exporter-sender-okhttp-1.34.1.jar -opentelemetry-exporter-zipkin-1.36.0.jar -opentelemetry-extension-incubator-1.36.0-alpha.jar -opentelemetry-sdk-1.36.0.jar -opentelemetry-sdk-common-1.36.0.jar -opentelemetry-sdk-extension-autoconfigure-spi-1.34.1.jar -opentelemetry-sdk-extension-autoconfigure-spi-1.36.0.jar -opentelemetry-sdk-logs-1.36.0.jar -opentelemetry-sdk-metrics-1.36.0.jar -opentelemetry-sdk-trace-1.36.0.jar -opentelemetry-semconv-1.30.1-alpha.jar -org.abego.treelayout.core-1.0.3.jar -org.jacoco.agent-0.8.4-runtime.jar -perfmark-api-0.23.0.jar -pinpoint-annotations-2.4.1.jar -pinpoint-bootstrap-2.4.1.jar -pinpoint-bootstrap-core-2.4.1.jar -pinpoint-commons-2.4.1.jar -pinpoint-commons-buffer-2.4.1.jar -pinpoint-commons-profiler-2.4.1.jar -pinpoint-grpc-2.4.1.jar -pinpoint-profiler-2.4.1.jar -pinpoint-rpc-2.4.1.jar -pravega-client-0.11.0.jar -pravega-common-0.11.0.jar -pravega-shared-authplugin-0.11.0.jar -pravega-shared-controller-api-0.11.0.jar -pravega-shared-protocol-0.11.0.jar -pravega-shared-security-0.11.0.jar -profiles-2.20.29.jar -prometheus-metrics-config-1.1.0.jar -prometheus-metrics-exporter-common-1.1.0.jar -prometheus-metrics-exporter-httpserver-1.1.0.jar -prometheus-metrics-exposition-formats-1.1.0.jar -prometheus-metrics-model-1.1.0.jar -prometheus-metrics-shaded-protobuf-1.1.0.jar -proto-google-common-protos-2.0.1.jar -protobuf-java-3.19.2.jar -protobuf-java-3.21.5.jar -protobuf-java-util-3.15.0.jar -protobuf-java-util-3.21.5.jar -protobuf-java-util-3.5.1.jar -protocol-core-2.20.29.jar -pull-parser-2.jar -pulsar-client-2.10.1.jar -pulsar-client-2.11.1.jar -pulsar-client-admin-api-2.10.1.jar -pulsar-client-admin-api-2.11.1.jar -pulsar-client-api-2.10.1.jar -pulsar-client-api-2.11.1.jar -reactive-streams-1.0.3.jar -reactor-core-3.4.13.jar -redisson-3.17.3.jar -regions-2.20.29.jar -relaxngDatatype-20020414.jar -retrofit-2.9.0.jar -rocketmq-acl-4.9.5.jar -rocketmq-broker-4.9.5.jar -rocketmq-client-4.9.5.jar -rocketmq-common-4.9.5.jar -rocketmq-filter-4.9.5.jar -rocketmq-logging-4.9.5.jar -rocketmq-namesrv-4.9.5.jar -rocketmq-remoting-4.9.5.jar -rocketmq-srvutil-4.9.5.jar -rocketmq-store-4.9.5.jar -rocketmq-tools-4.9.5.jar -rxjava-2.0.0.jar -rxjava-3.0.12.jar -s3-2.20.29.jar -scala-library-2.12.8.jar -sdk-core-2.20.29.jar -service-0.18.2.jar -simpleclient-0.12.0.jar -simpleclient_tracer_common-0.12.0.jar -simpleclient_tracer_otel-0.12.0.jar -simpleclient_tracer_otel_agent-0.12.0.jar -slack-api-client-1.1.6.jar -slack-api-model-1.1.6.jar -slack-app-backend-1.1.6.jar -slf4j-api-2.0.9.jar -snakeyaml-1.30.jar -snappy-java-1.1.8.1.jar -spring-aop-5.3.15.jar -spring-beans-5.3.20.jar -spring-boot-2.5.9.jar -spring-boot-autoconfigure-2.5.9.jar -spring-boot-starter-2.5.9.jar -spring-boot-starter-validation-2.5.9.jar -spring-context-5.3.15.jar -spring-core-5.3.20.jar -spring-expression-5.3.15.jar -spring-jcl-5.3.20.jar -spring-messaging-5.3.20.jar -stax-api-1.0-2.jar -tea-1.2.7.jar -tea-openapi-0.2.8.jar -tea-util-0.2.21.jar -tea-xml-0.1.5.jar -third-party-jackson-core-2.20.29.jar -tomcat-embed-el-9.0.56.jar -utils-2.20.29.jar -validation-api-1.1.0.Final.jar -validation-api-2.0.1.Final.jar -vertx-auth-common-4.4.6.jar -vertx-bridge-common-4.4.6.jar -vertx-core-4.4.6.jar -vertx-web-4.4.6.jar -vertx-web-client-4.0.0.jar -vertx-web-client-4.4.6.jar -vertx-web-common-4.4.6.jar -vertx-uri-template-4.4.6.jar -xpp3-1.1.4c.jar -xsdlib-2013.6.1.jar -zipkin-2.27.1.jar -zipkin-reporter-3.3.0.jar -zipkin-sender-okhttp3-3.3.0.jar -zookeeper-3.7.1.jar -zookeeper-jute-3.7.1.jar -zstd-jni-1.5.0-2.jar -zstd-jni-1.5.2-2.jar