diff --git a/.github/workflows/license-checker.yml b/.github/workflows/license-checker.yml index caa3f85f8..5d5c8c0cf 100644 --- a/.github/workflows/license-checker.yml +++ b/.github/workflows/license-checker.yml @@ -55,10 +55,9 @@ jobs: cp $HOME/.m2/settings.xml /tmp/settings.xml mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml - name: Compile install - run: mvn package -DskipTests=true -ntp - - # TODO: enable it after the check scripts are ready, lack them now - #- name: Generate & check current 3rd-party dependencies - # run: | - # bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt - # bash $SCRIPT_DEPENDENCY/check_dependencies.sh + run: mvn install -DskipTests=true -ntp + - name: Generate & check current 3rd-party dependencies + run: | + bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt + cat $SCRIPT_DEPENDENCY/current-dependencies.txt + bash $SCRIPT_DEPENDENCY/check_dependencies.sh diff --git a/computer-dist/scripts/dependency/check_dependencies.sh b/computer-dist/scripts/dependency/check_dependencies.sh new file mode 100644 index 000000000..309063faa --- /dev/null +++ b/computer-dist/scripts/dependency/check_dependencies.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env 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. +# + +BASE_PATH=$(cd $(dirname $0); pwd) + +# check whether there are new third-party dependencies by diff command, +# diff generated 'current-dependencies.txt' file with 'known-dependencies.txt' file. +diff -w -B -U0 <(sort < ${BASE_PATH}/known-dependencies.txt) \ +<(sort < ${BASE_PATH}/current-dependencies.txt) > ${BASE_PATH}/result.txt + +# if has new third-party,the Action will fail and print diff +if [ -s ${BASE_PATH}/result.txt ]; then + cat ${BASE_PATH}/result.txt + exit 1 +else + echo 'All third dependencies is known!' +fi diff --git a/computer-dist/scripts/dependency/known-dependencies.txt b/computer-dist/scripts/dependency/known-dependencies.txt new file mode 100644 index 000000000..0d2c5096a --- /dev/null +++ b/computer-dist/scripts/dependency/known-dependencies.txt @@ -0,0 +1,277 @@ +accessors-smart-1.2.jar +activation-1.1.jar +animal-sniffer-annotations-1.18.jar +annotations-13.0.jar +annotations-4.1.1.4.jar +apiguardian-api-1.1.0.jar +asm-5.0.4.jar +audience-annotations-0.5.0.jar +auto-service-annotations-1.0-rc7.jar +automaton-1.11-8.jar +avro-1.7.7.jar +bcprov-jdk18on-1.74.jar +bolt-1.6.2.jar +builder-annotations-0.13.1.jar +byte-buddy-1.10.20.jar +byte-buddy-agent-1.10.20.jar +checker-qual-3.33.0.jar +checker-qual-3.5.0.jar +commons-beanutils-1.9.3.jar +commons-beanutils-1.9.4.jar +commons-cli-1.2.jar +commons-codec-1.11.jar +commons-codec-1.13.jar +commons-collections-3.2.2.jar +commons-compress-1.18.jar +commons-configuration-1.10.jar +commons-configuration2-2.1.1.jar +commons-configuration2-2.8.0.jar +commons-crypto-1.0.0.jar +commons-io-2.5.jar +commons-io-2.7.jar +commons-lang-2.6.jar +commons-lang3-3.12.0.jar +commons-logging-1.1.1.jar +commons-logging-1.1.3.jar +commons-math3-3.1.1.jar +commons-net-3.6.jar +commons-text-1.9.jar +computer-algorithm-1.2.0.jar +computer-api-1.2.0.jar +computer-core-1.2.0.jar +computer-dist-1.2.0.jar +computer-driver-1.2.0.jar +computer-k8s-1.2.0.jar +computer-k8s-operator-1.2.0.jar +computer-yarn-1.2.0.jar +curator-client-2.13.0.jar +curator-framework-2.13.0.jar +curator-recipes-2.13.0.jar +disruptor-3.3.7.jar +error_prone_annotations-2.3.4.jar +failsafe-2.4.0.jar +failureaccess-1.0.1.jar +findbugs-annotations-1.3.9-1.jar +generex-1.0.2.jar +groovy-all-2.4.21.jar +grpc-api-1.33.0.jar +grpc-context-1.33.0.jar +grpc-core-1.33.0.jar +grpc-grpclb-1.33.0.jar +grpc-netty-1.33.0.jar +grpc-protobuf-1.33.0.jar +grpc-protobuf-lite-1.33.0.jar +grpc-stub-1.33.0.jar +gson-2.2.4.jar +guava-30.0-jre.jar +guava-32.0.1-jre.jar +hadoop-annotations-3.1.2.jar +hadoop-auth-3.1.2.jar +hadoop-common-3.1.2.jar +hadoop-hdfs-client-3.1.2.jar +hamcrest-core-1.3.jar +hbase-client-2.2.3.jar +hbase-common-2.2.3.jar +hbase-hadoop-compat-2.2.3.jar +hbase-hadoop2-compat-2.2.3.jar +hbase-http-2.2.3.jar +hbase-mapreduce-2.2.3.jar +hbase-metrics-2.2.3.jar +hbase-metrics-api-2.2.3.jar +hbase-procedure-2.2.3.jar +hbase-protocol-2.2.3.jar +hbase-protocol-shaded-2.2.3.jar +hbase-replication-2.2.3.jar +hbase-server-2.2.3.jar +hbase-shaded-client-byo-hadoop-2.2.3.jar +hbase-shaded-miscellaneous-2.2.1.jar +hbase-shaded-netty-2.2.1.jar +hbase-shaded-protobuf-2.2.1.jar +hbase-zookeeper-2.2.3.jar +hessian-3.3.7.jar +htrace-core4-4.1.0-incubating.jar +httpclient-4.5.2.jar +httpcore-4.4.4.jar +j2objc-annotations-1.3.jar +j2objc-annotations-2.8.jar +jackson-annotations-2.11.2.jar +jackson-annotations-2.14.0-rc1.jar +jackson-annotations-2.15.2.jar +jackson-core-2.11.2.jar +jackson-core-2.14.0-rc1.jar +jackson-core-2.15.2.jar +jackson-core-asl-1.9.2.jar +jackson-databind-2.11.2.jar +jackson-databind-2.14.0-rc1.jar +jackson-databind-2.15.2.jar +jackson-dataformat-yaml-2.11.2.jar +jackson-dataformat-yaml-2.9.3.jar +jackson-datatype-jsr310-2.11.2.jar +jackson-jaxrs-1.9.2.jar +jackson-jaxrs-base-2.14.0-rc1.jar +jackson-jaxrs-json-provider-2.14.0-rc1.jar +jackson-mapper-asl-1.9.2.jar +jackson-module-jaxb-annotations-2.12.3.jar +jackson-module-jaxb-annotations-2.14.0-rc1.jar +jackson-xc-1.9.2.jar +jakarta.activation-2.0.1.jar +jakarta.activation-api-1.2.1.jar +jakarta.activation-api-1.2.2.jar +jakarta.xml.bind-api-2.3.2.jar +jamon-runtime-2.4.1.jar +javassist-3.20.0-GA.jar +javassist-3.28.0-GA.jar +javax.el-3.0.1-b12.jar +javax.inject-2.5.0-b32.jar +javax.json-1.0.jar +javax.servlet-api-3.1.0.jar +javax.servlet.jsp-2.3.2.jar +javax.servlet.jsp-api-2.3.1.jar +jaxb-api-2.2.2.jar +jaxb-core-3.0.2.jar +jaxb-impl-2.2.3-1.jar +jaxb-impl-3.0.2.jar +jcip-annotations-1.0-1.jar +jcodings-1.0.18.jar +jcommander-1.78.jar +jersey-container-servlet-core-2.25.1.jar +jersey-core-1.19.jar +jersey-json-1.19.jar +jersey-server-1.19.jar +jersey-servlet-1.19.jar +jetcd-common-0.5.4.jar +jetcd-core-0.5.4.jar +jettison-1.1.jar +jetty-http-9.3.24.v20180605.jar +jetty-io-9.3.24.v20180605.jar +jetty-security-9.3.24.v20180605.jar +jetty-server-9.3.24.v20180605.jar +jetty-servlet-9.3.24.v20180605.jar +jetty-util-9.3.24.v20180605.jar +jetty-util-ajax-9.3.27.v20190418.jar +jetty-webapp-9.3.24.v20180605.jar +jetty-xml-9.3.24.v20180605.jar +jline-0.9.94.jar +joda-time-2.10.8.jar +joni-2.1.11.jar +jsch-0.1.54.jar +json-smart-2.3.jar +jsp-api-2.1.jar +jsr305-3.0.1.jar +jsr305-3.0.2.jar +junit-4.12.jar +junit-4.13.1.jar +junit-jupiter-api-5.7.2.jar +junit-platform-commons-1.7.2.jar +kerb-admin-1.0.1.jar +kerb-client-1.0.1.jar +kerb-common-1.0.1.jar +kerb-core-1.0.1.jar +kerb-crypto-1.0.1.jar +kerb-identity-1.0.1.jar +kerb-server-1.0.1.jar +kerb-simplekdc-1.0.1.jar +kerb-util-1.0.1.jar +kerby-asn1-1.0.1.jar +kerby-config-1.0.1.jar +kerby-pkix-1.0.1.jar +kerby-util-1.0.1.jar +kerby-xdr-1.0.1.jar +kotlin-stdlib-1.6.20.jar +kotlin-stdlib-common-1.5.31.jar +kotlin-stdlib-common-1.6.20.jar +kotlin-stdlib-jdk7-1.6.10.jar +kotlin-stdlib-jdk7-1.6.20.jar +kotlin-stdlib-jdk8-1.6.10.jar +kotlin-stdlib-jdk8-1.6.20.jar +kubernetes-client-5.6.0.jar +kubernetes-model-admissionregistration-5.6.0.jar +kubernetes-model-apiextensions-5.6.0.jar +kubernetes-model-apps-5.6.0.jar +kubernetes-model-autoscaling-5.6.0.jar +kubernetes-model-batch-5.6.0.jar +kubernetes-model-certificates-5.6.0.jar +kubernetes-model-common-5.6.0.jar +kubernetes-model-coordination-5.6.0.jar +kubernetes-model-core-5.6.0.jar +kubernetes-model-discovery-5.6.0.jar +kubernetes-model-events-5.6.0.jar +kubernetes-model-extensions-5.6.0.jar +kubernetes-model-flowcontrol-5.6.0.jar +kubernetes-model-metrics-5.6.0.jar +kubernetes-model-networking-5.6.0.jar +kubernetes-model-node-5.6.0.jar +kubernetes-model-policy-5.6.0.jar +kubernetes-model-rbac-5.6.0.jar +kubernetes-model-scheduling-5.6.0.jar +kubernetes-model-storageclass-5.6.0.jar +kubernetes-server-mock-5.6.0.jar +lightning-csv-8.2.1.jar +listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar +log4j-1.2.17.jar +log4j-api-2.18.0.jar +log4j-core-2.18.0.jar +log4j-slf4j-impl-2.18.0.jar +logging-interceptor-3.12.12.jar +logging-interceptor-4.10.0.jar +lookout-api-1.4.1.jar +lz4-java-1.4.0.jar +metrics-core-3.2.6.jar +minio-8.5.6.jar +mockito-core-3.8.0.jar +mockwebserver-0.1.8.jar +mvel2-2.4.13.Final.jar +netty-3.10.6.Final.jar +netty-all-4.1.42.Final.jar +nimbus-jose-jwt-4.41.1.jar +objenesis-3.1.jar +okhttp-2.7.5.jar +okhttp-3.12.12.jar +okhttp-4.10.0.jar +okhttp-4.11.0.jar +okio-1.15.0.jar +okio-3.2.0.jar +okio-jvm-3.0.0.jar +okio-jvm-3.2.0.jar +opentest4j-1.2.0.jar +opentracing-api-0.22.0.jar +opentracing-mock-0.22.0.jar +opentracing-noop-0.22.0.jar +opentracing-util-0.22.0.jar +ow2-asm-6.2.jar +paranamer-2.3.jar +perfmark-api-0.19.0.jar +proto-google-common-protos-1.17.0.jar +protobuf-java-3.12.0.jar +protobuf-java-util-3.12.0.jar +re2j-1.1.jar +resourcecify-annotations-0.13.1.jar +sfm-converter-8.2.1.jar +sfm-csv-8.2.1.jar +sfm-map-8.2.1.jar +sfm-reflect-8.2.1.jar +sfm-tuples-8.2.1.jar +sfm-util-8.2.1.jar +simple-xml-safe-2.7.1.jar +slf4j-api-1.7.25.jar +slf4j-api-1.7.30.jar +slf4j-api-1.7.31.jar +snakeyaml-1.18.jar +snakeyaml-1.26.jar +snappy-java-1.1.10.1.jar +sofa-common-tools-1.0.12.jar +sofa-rpc-all-5.7.6.jar +stax-api-1.0-2.jar +stax2-api-3.1.4.jar +sundr-codegen-0.13.1.jar +sundr-core-0.13.1.jar +swagger-annotations-1.5.18.jar +swagger-core-1.5.18.jar +swagger-models-1.5.18.jar +token-provider-1.0.1.jar +tracer-core-3.0.8.jar +validation-api-1.1.0.Final.jar +woodstox-core-5.0.3.jar +xz-1.8.jar +zjsonpatch-0.3.0.jar +zookeeper-3.4.13.jar diff --git a/computer-dist/scripts/dependency/regenerate_known_dependencies.sh b/computer-dist/scripts/dependency/regenerate_known_dependencies.sh new file mode 100644 index 000000000..b63e7b3a8 --- /dev/null +++ b/computer-dist/scripts/dependency/regenerate_known_dependencies.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env 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. +# + +BASE_PATH=$(cd $(dirname $0); pwd) +DEP_PATH=$BASE_PATH/all_dependencies +FILE_NAME=${1:-known-dependencies.txt} + +if [[ -d $DEP_PATH ]];then + echo "rm -r -f DEP_PATH" + rm -r -f $DEP_PATH +fi + +cd $BASE_PATH/../../../ + +mvn dependency:copy-dependencies -DincludeScope=runtime -DoutputDirectory=$DEP_PATH + +ls $DEP_PATH | egrep -v "^hugegraph" | sort -n > $BASE_PATH/$FILE_NAME +rm -r -f $DEP_PATH