From a6a24e9012b2b10f0e2e0f20a268c4061d06dda8 Mon Sep 17 00:00:00 2001 From: undx Date: Tue, 15 Oct 2024 11:31:28 +0200 Subject: [PATCH 01/15] feat(TCOMP-1914): bump build related plugins - refactor compiler properties - bump maven-surefire-plugin - bump maven-shade-plugin - bump maven-resource-plugin - bump maven-javadoc-plugin - bump maven-assembly-plugin - bump maven-antrun-plugin - bump maven to 3.9.9 - bump maven-invoker-plugin - bump maven-site-plugin - bump maven-source-plugin maven-release-plugin - bump maven-jar-plugin to 3.4.2 - bump maven-deploy-plugin to 3.1.3 - refactor maven-deploy-plugin.version - bump maven-deploy-plugin to 3.1.3 - bump maven-dependency-plugin to 3.8.0 - bump maven-clean-plugin to 3.4.0 - bump maven-compiler-plugin to 3.13.0 - set source/target to 17 --- component-api/pom.xml | 2 +- .../src/it/serialization-over-cluster/pom.xml | 6 +- .../component-runtime-beam-junit/pom.xml | 2 +- .../component-runtime-http-junit/pom.xml | 2 +- .../component-runtime-junit/pom.xml | 2 +- container/nested-maven-repository/pom.xml | 19 ++--- pom.xml | 71 ++++++++++--------- sample-parent/documentation-sample/pom.xml | 2 +- sample-parent/pom.xml | 2 +- sample-parent/sample-beam/pom.xml | 2 +- sample-parent/sample/pom.xml | 2 +- singer-parent/component-kitap/pom.xml | 2 +- talend-component-maven-plugin/pom.xml | 3 +- 13 files changed, 63 insertions(+), 54 deletions(-) diff --git a/component-api/pom.xml b/component-api/pom.xml index 6ad7086d298e5..34435382c238c 100644 --- a/component-api/pom.xml +++ b/component-api/pom.xml @@ -59,7 +59,7 @@ org.apache.maven.plugins maven-javadoc-plugin - ${javadoc-plugin.version} + ${maven-javadoc-plugin.version} true true diff --git a/component-runtime-beam/src/it/serialization-over-cluster/pom.xml b/component-runtime-beam/src/it/serialization-over-cluster/pom.xml index 1c6ac4aa0d99a..39d180c28ca46 100644 --- a/component-runtime-beam/src/it/serialization-over-cluster/pom.xml +++ b/component-runtime-beam/src/it/serialization-over-cluster/pom.xml @@ -90,7 +90,7 @@ org.apache.maven.plugins maven-install-plugin - 2.5.2 + @maven-install-plugin.version@ true @@ -98,7 +98,7 @@ org.apache.maven.plugins maven-deploy-plugin - @deploy-plugin.version@ + @maven-deploy-plugin.version@ true @@ -121,7 +121,7 @@ org.apache.maven.plugins maven-shade-plugin - @shade-plugin.version@ + @maven-shade-plugin.version@ package diff --git a/component-runtime-testing/component-runtime-beam-junit/pom.xml b/component-runtime-testing/component-runtime-beam-junit/pom.xml index d1c9610478f0a..a37476c81b4ed 100644 --- a/component-runtime-testing/component-runtime-beam-junit/pom.xml +++ b/component-runtime-testing/component-runtime-beam-junit/pom.xml @@ -114,7 +114,7 @@ org.apache.maven.plugins maven-javadoc-plugin - ${javadoc-plugin.version} + ${maven-javadoc-plugin.version} attach-javadocs diff --git a/component-runtime-testing/component-runtime-http-junit/pom.xml b/component-runtime-testing/component-runtime-http-junit/pom.xml index 4c87fc174288e..575c1fb61f851 100644 --- a/component-runtime-testing/component-runtime-http-junit/pom.xml +++ b/component-runtime-testing/component-runtime-http-junit/pom.xml @@ -149,7 +149,7 @@ org.apache.maven.plugins maven-javadoc-plugin - ${javadoc-plugin.version} + ${maven-javadoc-plugin.version} attach-javadocs diff --git a/component-runtime-testing/component-runtime-junit/pom.xml b/component-runtime-testing/component-runtime-junit/pom.xml index 74ea5347fa259..d032892c6da97 100644 --- a/component-runtime-testing/component-runtime-junit/pom.xml +++ b/component-runtime-testing/component-runtime-junit/pom.xml @@ -125,7 +125,7 @@ org.apache.maven.plugins maven-javadoc-plugin - ${javadoc-plugin.version} + ${maven-javadoc-plugin.version} attach-javadocs diff --git a/container/nested-maven-repository/pom.xml b/container/nested-maven-repository/pom.xml index 5b121d812e4e2..b917d65be81b8 100644 --- a/container/nested-maven-repository/pom.xml +++ b/container/nested-maven-repository/pom.xml @@ -29,14 +29,15 @@ ${talend.build.name.base}.container.maven + 3.1.0 + 0.13.1 org.apache.maven.plugins maven-shade-plugin - ${shade-plugin.version} - provided + ${maven-shade-plugin.version} com.google.guava @@ -69,17 +70,17 @@ com.google.guava guava - - org.apache.maven.shared - maven-shared-utils - org.apache.maven.shared - maven-shared-utils - ${maven-shared-utils.version} - provided + maven-dependency-tree + ${maven-dependency-tree.version} + + + org.apache.maven.shared + maven-artifact-transfer + ${maven-artifact-transfer.version} diff --git a/pom.xml b/pom.xml index a0a2424f9a683..65451cd93fc46 100644 --- a/pom.xml +++ b/pom.xml @@ -151,6 +151,9 @@ talend/component-runtime + 17 + 17 + UTF-8 @@ -217,9 +220,8 @@ 5.23.0 - 3.8.8 - 3.6.0 - 3.3.4 + 3.9.9 + 3.8.0 2.46.0 1.1.10.5 @@ -232,21 +234,30 @@ 6.9.1 3.0.18 1.13.1 - 3.3.0 - 3.3.0 - 3.3.2 - 3.0.0-M2 - 3.1.0 - 1.4.2 - 3.3.0 + 3.8.0 3.0.0 - 3.2.0 - 3.10.1 + 3.4.0 + 1.4.2 + 3.1.0 + 3.7.1 + 3.13.0 + 3.1.3 + 3.1.3 + 3.8.0 + 3.4.2 + 3.10.1 + 3.15.0 + 3.1.1 + 3.3.1 + 3.6.0 + 3.4.2 + 3.20.0 + 3.3.1 4.9.10 1.0.7 6.7.0.202309050840-r 2.8 - 3.0.0 + 3.5.1 0.8.10 3.0.1 1.6.12 @@ -982,7 +993,7 @@ org.apache.maven.plugins maven-javadoc-plugin - ${javadoc-plugin.version} + ${maven-javadoc-plugin.version} 8 ${project.build.directory}/javadoc/binary @@ -1160,7 +1171,7 @@ org.apache.maven.plugins maven-antrun-plugin - 3.0.0 + ${maven-antrun-plugin.version} org.apache.ant @@ -1174,14 +1185,15 @@ maven-compiler-plugin ${maven-compiler-plugin.version} - 1.8 - 1.8 true javac true -parameters + + + true @@ -1197,32 +1209,32 @@ org.apache.maven.plugins maven-source-plugin - 3.2.1 + ${maven-source-plugin.version} org.apache.maven.plugins maven-jar-plugin - 3.2.2 + ${maven-jar-plugin.version} org.apache.maven.plugins maven-install-plugin - 3.0.0-M1 + ${maven-install-plugin.version} org.apache.maven.plugins maven-deploy-plugin - 3.0.0-M2 + ${maven-deploy-plugin.version} org.apache.maven.plugins maven-site-plugin - 3.11.0 + ${maven-site-plugin.version} org.apache.maven.plugins maven-release-plugin - 3.0.0-M5 + ${maven-release-plugin.version} org.apache.maven.plugins @@ -1237,22 +1249,17 @@ org.apache.maven.plugins maven-assembly-plugin - ${assembly-plugin.version} + ${maven-assembly-plugin.version} org.apache.maven.plugins maven-invoker-plugin - 3.2.2 + ${maven-invoker-plugin.version} org.apache.maven.plugins maven-shade-plugin - ${shade-plugin.version} - - - org.apache.maven - maven-compat - ${mvn.version} + ${maven-shade-plugin.version} com.google.cloud.tools @@ -1836,7 +1843,7 @@ org.apache.maven.plugins maven-javadoc-plugin - ${javadoc-plugin.version} + ${maven-javadoc-plugin.version} attach-javadocs diff --git a/sample-parent/documentation-sample/pom.xml b/sample-parent/documentation-sample/pom.xml index 975657be4209e..2f6438e70e0cd 100644 --- a/sample-parent/documentation-sample/pom.xml +++ b/sample-parent/documentation-sample/pom.xml @@ -55,7 +55,7 @@ org.apache.maven.plugins maven-deploy-plugin - ${deploy-plugin.version} + ${maven-deploy-plugin.version} ${maven.deploy.skip} diff --git a/sample-parent/pom.xml b/sample-parent/pom.xml index 9aa9fbbf76bdf..50b61c7bd380d 100644 --- a/sample-parent/pom.xml +++ b/sample-parent/pom.xml @@ -52,7 +52,7 @@ org.apache.maven.plugins maven-deploy-plugin - ${deploy-plugin.version} + ${maven-deploy-plugin.version} true diff --git a/sample-parent/sample-beam/pom.xml b/sample-parent/sample-beam/pom.xml index 43dd21891a99c..c5215b8ca567d 100644 --- a/sample-parent/sample-beam/pom.xml +++ b/sample-parent/sample-beam/pom.xml @@ -43,7 +43,7 @@ org.apache.maven.plugins maven-deploy-plugin - ${deploy-plugin.version} + ${maven-deploy-plugin.version} true diff --git a/sample-parent/sample/pom.xml b/sample-parent/sample/pom.xml index 8205f185b4c8c..a3e78d1cad1af 100644 --- a/sample-parent/sample/pom.xml +++ b/sample-parent/sample/pom.xml @@ -52,7 +52,7 @@ org.apache.maven.plugins maven-deploy-plugin - ${deploy-plugin.version} + ${maven-deploy-plugin.version} true diff --git a/singer-parent/component-kitap/pom.xml b/singer-parent/component-kitap/pom.xml index 24991fa4e968c..c89ccf487835e 100644 --- a/singer-parent/component-kitap/pom.xml +++ b/singer-parent/component-kitap/pom.xml @@ -146,7 +146,7 @@ org.apache.maven.plugins maven-shade-plugin - ${shade-plugin.version} + ${maven-shade-plugin.version} diff --git a/talend-component-maven-plugin/pom.xml b/talend-component-maven-plugin/pom.xml index 0336a14ea6f7e..344e3f6c34ccb 100644 --- a/talend-component-maven-plugin/pom.xml +++ b/talend-component-maven-plugin/pom.xml @@ -59,7 +59,8 @@ org.apache.maven.plugin-tools maven-plugin-annotations - ${mvn-minimal.version} + ${maven-plugin-annotations.version} + provided org.apache.maven From 1501576a4fa185524ba96edcb609709184203bcc Mon Sep 17 00:00:00 2001 From: undx Date: Wed, 16 Oct 2024 17:06:54 +0200 Subject: [PATCH 02/15] feat(TCOMP-1914): remove bom --- .jenkins/scripts/mvn-ossindex-audit.sh | 2 +- .../scripts/mvn_dependency_updates_report.sh | 2 +- .../scripts/release/release-1-install-bom.sh | 48 --- .../release-6-create-maintenance-branch.sh | 8 - .jenkins/scripts/release_legacy.sh | 12 - Jenkinsfile | 2 - bom/pom.xml | 316 ------------------ bom/readme.adoc | 2 - pom.xml | 87 +++-- 9 files changed, 68 insertions(+), 411 deletions(-) delete mode 100644 .jenkins/scripts/release/release-1-install-bom.sh delete mode 100644 bom/pom.xml delete mode 100644 bom/readme.adoc diff --git a/.jenkins/scripts/mvn-ossindex-audit.sh b/.jenkins/scripts/mvn-ossindex-audit.sh index c0f31994f5c58..a99656842a2e9 100644 --- a/.jenkins/scripts/mvn-ossindex-audit.sh +++ b/.jenkins/scripts/mvn-ossindex-audit.sh @@ -19,7 +19,7 @@ set -xe main() ( - mvn ossindex:audit-aggregate -pl '!bom' \ + mvn ossindex:audit-aggregate \ --define ossindex.fail=false \ --define ossindex.reportFile=target/audit.txt \ --settings .jenkins/settings.xml diff --git a/.jenkins/scripts/mvn_dependency_updates_report.sh b/.jenkins/scripts/mvn_dependency_updates_report.sh index 1fddc672840ce..b6da3b908c898 100644 --- a/.jenkins/scripts/mvn_dependency_updates_report.sh +++ b/.jenkins/scripts/mvn_dependency_updates_report.sh @@ -19,7 +19,7 @@ set -xe main() ( - mvn versions:dependency-updates-report versions:plugin-updates-report -pl '!bom' + mvn versions:dependency-updates-report versions:plugin-updates-report ) diff --git a/.jenkins/scripts/release/release-1-install-bom.sh b/.jenkins/scripts/release/release-1-install-bom.sh deleted file mode 100644 index 66c5a26b3598c..0000000000000 --- a/.jenkins/scripts/release/release-1-install-bom.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2006-2024 Talend Inc. - www.talend.com -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# 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. -# - -set -xe - -# Parameters: -# $1: release version -# $2: current version -main() { - local releaseVersion="${1?Missing release version}" - local currentVersion="${2?Missing actual project version}" - - printf ">> Preparing and installing BOM to release %s from %s\n" "${releaseVersion}" "${currentVersion}" - - printf "Install the BOM (SNAPSHOT)\n" - mvn install --file bom/pom.xml - - printf "Set version to release value\n" - mvn versions:set \ - --define newVersion="${releaseVersion}" \ - --define generateBackupPoms=false \ - --file bom/pom.xml - - printf "Install the BOM (FUTURE version)\n" - mvn install --file bom/pom.xml - - printf "Set version back to currentVersion value\n" - mvn versions:set \ - --define newVersion="${currentVersion}" \ - --define generateBackupPoms=false \ - --file bom/pom.xml -} - -main "$@" diff --git a/.jenkins/scripts/release/release-6-create-maintenance-branch.sh b/.jenkins/scripts/release/release-6-create-maintenance-branch.sh index 347115d46be81..a0c9cba34eac0 100644 --- a/.jenkins/scripts/release/release-6-create-maintenance-branch.sh +++ b/.jenkins/scripts/release/release-6-create-maintenance-branch.sh @@ -28,14 +28,6 @@ main() { git checkout -b "${maintenanceBranch}" - printf "Downgrade BOM to maintenance version\n" - mvn versions:set \ - --batch-mode \ - --settings .jenkins/settings.xml \ - --define generateBackupPoms=false \ - --define newVersion="${maintenanceVersion}" \ - --file bom/pom.xml - printf "Downgrade project to maintenance version\n" mvn versions:set \ --batch-mode \ diff --git a/.jenkins/scripts/release_legacy.sh b/.jenkins/scripts/release_legacy.sh index 95c1aae56ec4d..ec5678b8480ee 100644 --- a/.jenkins/scripts/release_legacy.sh +++ b/.jenkins/scripts/release_legacy.sh @@ -46,11 +46,6 @@ main() { fi local dev_version=${maj}.${min}.${rev}-SNAPSHOT ### - echo ">> Preparing and installing BOM to release ${release} from ${currentVersion}" - mvn versions:set --define newVersion="${release}" --define generateBackupPoms=false -f bom/pom.xml - mvn install -f bom/pom.xml - mvn versions:set --define newVersion="${currentVersion}" --define generateBackupPoms=false -f bom/pom.xml - ### echo ">> Maven prepare release $release (next-dev: ${dev_version}; maintenance: ${maintenance_branch} with ${maintenance_version})" mvn release:prepare \ --batch-mode \ @@ -94,13 +89,6 @@ main() { echo ">> Creating ${maintenance_branch?Missing branch} with ${maintenance_version?Missing version}" git checkout -b "${maintenance_branch}" # downgrade to maintenance version - mvn versions:set \ - --batch-mode \ - --settings .jenkins/settings.xml \ - --define generateBackupPoms=false \ - --define newVersion="${maintenance_version}" \ - -f bom/pom.xml - mvn versions:set \ --batch-mode \ --settings .jenkins/settings.xml \ diff --git a/Jenkinsfile b/Jenkinsfile index d3af7f0d80b1b..8aa49e9fb805d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -283,7 +283,6 @@ pipeline { sh """\ #!/usr/bin/env bash mvn versions:set --define newVersion=${finalVersion} - mvn versions:set --file bom/pom.xml --define newVersion=${finalVersion} """.stripIndent() } @@ -355,7 +354,6 @@ pipeline { sh """\ #!/usr/bin/env bash set -xe - mvn clean install --file bom/pom.xml mvn clean install $BUILD_ARGS \ $extraBuildParams \ --settings .jenkins/settings.xml diff --git a/bom/pom.xml b/bom/pom.xml deleted file mode 100644 index 7334c98bd8c4c..0000000000000 --- a/bom/pom.xml +++ /dev/null @@ -1,316 +0,0 @@ - - - - 4.0.0 - - org.talend.sdk.component - component-bom - 1.65.0M7-SNAPSHOT - pom - Component BOM - Talend Component Kit - https://talend.github.io/component-runtime/ - - - - Apache License, Version 2.0 - https://github.com/talend/component-runtime/blob/master/LICENSE - may be downloaded from the Maven repository - - - - - - undx - Emmanuel GALLOIS - egallois@talend.com - Talend - https://www.talend.com/ - - Owner - - +1 - - - clesaec - Christophe Le Saec - clesaec@talend.com - Talend - https://www.talend.com/ - - Contributor - - +1 - - - - - scm:git:git://github.com/${scm.repository}.git - scm:git:git@github.com:${scm.repository}.git - HEAD - https://github.com/${scm.repository} - - - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - - - talend/component-runtime - - 3.6.0 - 3.0.0 - 3.0.1 - 1.6.12 - - 1.7.34 - 1.2.21 - 2.20.0 - - 1.15 - 1.26.0 - 3.11 - - 2.16.0 - 2.16.0 - - 1.70 - 2.13.0 - - - 1.82 - - - - - - org.apache.httpcomponents - httpclient - 4.5.14 - - - commons-io - commons-io - ${commons-io.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcpkix-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcpg-jdk15on - ${bouncycastle.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind.version} - - - com.google.guava - guava - 32.1.3-jre - - - org.talend.sdk.component - component-api - ${project.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.johnzon - johnzon-jaxrs - ${johnzon.version} - - - org.apache.johnzon - johnzon-jsonb - ${johnzon.version} - - - org.apache.johnzon - johnzon-core - ${johnzon.version} - - - org.apache.logging.log4j - log4j-api - ${log4j2.version} - - - org.apache.logging.log4j - log4j-core - ${log4j2.version} - - - org.apache.logging.log4j - log4j-jul - ${log4j2.version} - - - org.slf4j - log4j-over-slf4j - ${slf4j.version} - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-simple - ${slf4j.version} - - - org.slf4j - slf4j-jdk14 - ${slf4j.version} - - - com.beust - jcommander - ${jcommander.version} - - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin.version} - - - enforce-maven-3 - - enforce - - - - - ${mvn-minimal.version} - - - true - - - - - - - - - - gpg2 - - - - org.apache.maven.plugins - maven-gpg-plugin - ${gpg-plugin.version} - - - - - - release - - - - org.sonatype.plugins - nexus-staging-maven-plugin - ${nexus-staging-plugin.version} - true - - ossrh - https://oss.sonatype.org/ - true - - - - org.apache.maven.plugins - maven-gpg-plugin - ${gpg-plugin.version} - - - sign-artifacts - - sign - - verify - - - - - - - - no-staging - - - - org.sonatype.plugins - nexus-staging-maven-plugin - ${nexus-staging-plugin.version} - - true - - - - - - - diff --git a/bom/readme.adoc b/bom/readme.adoc deleted file mode 100644 index e00bc5050e5d6..0000000000000 --- a/bom/readme.adoc +++ /dev/null @@ -1,2 +0,0 @@ -This folder https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html[contains BOM file] for connectors using this TCK component. - diff --git a/pom.xml b/pom.xml index 65451cd93fc46..4699d80aeacc1 100644 --- a/pom.xml +++ b/pom.xml @@ -102,7 +102,6 @@ - bom component-api container component-spi @@ -192,8 +191,12 @@ 1.2 1.3 1.17 - 1.2 1.4 + 1.15 + 1.26.0 + 2.13.0 + 3.11 + 1.2 1.10.0 1.1 2.5.2 @@ -297,23 +300,71 @@ 1.7.34 2.20.0 1.7.14 + 0.32 - - org.talend.sdk.component - component-bom - ${project.version} - pom - import - com.google.cloud.tools jib-core ${jib-core.version} - + + org.apache.johnzon + johnzon-jsonb + ${johnzon.version} + + + org.apache.johnzon + johnzon-core + ${johnzon.version} + + + org.apache.logging.log4j + log4j-api + ${log4j2.version} + + + org.apache.logging.log4j + log4j-core + ${log4j2.version} + + + org.apache.logging.log4j + log4j-jul + ${log4j2.version} + + + org.slf4j + log4j-over-slf4j + ${slf4j.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + org.slf4j + slf4j-jdk14 + ${slf4j.version} + + + commons-codec + commons-codec + ${commons-codec.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + org.apache.geronimo.specs geronimo-annotation_1.3_spec @@ -509,13 +560,6 @@ maven-model ${mvn.version} - org.apache.maven maven-settings @@ -845,7 +889,11 @@ biz.aQute.bndlib ${bndlib.version} - + + org.tomitribe + tomitribe-crest + ${tomitribe-crest.version} + org.mockito @@ -1191,9 +1239,6 @@ -parameters - - - true From da01f9808aa6608707c131213219623224b2e441 Mon Sep 17 00:00:00 2001 From: undx Date: Wed, 16 Oct 2024 17:09:59 +0200 Subject: [PATCH 03/15] feat(TCOMP-1914): fix build errors and warnings --- .../exception/DiscoverSchemaException.java | 2 + .../java/org/talend/test/wrapped/ASource.java | 2 + .../runtime/record/MappingUtilsTest.java | 24 ++--- .../runtime/manager/asm/Unsafes.java | 2 + .../component-runtime-beam-junit/pom.xml | 50 +++++++++++ .../junit4/CaptureJUnit4GzipHttpApiTest.java | 2 +- .../http/junit4/CaptureJUnit4HttpApiTest.java | 2 +- .../junit4/CaptureJUnit4HttpsApiTest.java | 2 +- component-runtime-testing/pom.xml | 3 +- .../facet/component/ComponentGenerator.java | 3 +- .../service/openapi/model/openapi/Header.java | 2 + .../openapi/model/openapi/Operation.java | 2 + .../openapi/model/openapi/Parameter.java | 2 + .../openapi/model/swagger/Operation.java | 2 + .../openapi/model/swagger/Parameter.java | 2 + .../OptionParameterValidatorTest.java | 40 +++++++-- .../_partials/generated_contributors.adoc | 10 +-- ...nerated_remote-engine-customizer-help.adoc | 90 ++++++------------- .../ROOT/pages/_partials/generated_ui.adoc | 16 ++++ remote-engine-customizer/pom.xml | 1 - talend-component-maven-plugin/pom.xml | 3 +- .../components/vault/client/VaultClient.java | 2 + .../vault/client/VaultClientSetup.java | 2 + 23 files changed, 170 insertions(+), 96 deletions(-) diff --git a/component-api/src/main/java/org/talend/sdk/component/api/exception/DiscoverSchemaException.java b/component-api/src/main/java/org/talend/sdk/component/api/exception/DiscoverSchemaException.java index 5f7645c5af062..78d1417ea29c0 100644 --- a/component-api/src/main/java/org/talend/sdk/component/api/exception/DiscoverSchemaException.java +++ b/component-api/src/main/java/org/talend/sdk/component/api/exception/DiscoverSchemaException.java @@ -19,6 +19,7 @@ import javax.json.bind.annotation.JsonbPropertyOrder; import lombok.Data; +import lombok.EqualsAndHashCode; /** * This class is dedicated to Studio's guess schema feature. @@ -29,6 +30,7 @@ * See me TCOMP-2342 for more details. */ @Data +@EqualsAndHashCode(callSuper = true) @JsonbPropertyOrder({ "localizedMessage", "message", "stackTrace", "suppressed", "possibleHandleErrorWith" }) public class DiscoverSchemaException extends RuntimeException { diff --git a/component-runtime-beam/src/test/java/org/talend/test/wrapped/ASource.java b/component-runtime-beam/src/test/java/org/talend/test/wrapped/ASource.java index c5db37c409ab0..448bf6f227123 100644 --- a/component-runtime-beam/src/test/java/org/talend/test/wrapped/ASource.java +++ b/component-runtime-beam/src/test/java/org/talend/test/wrapped/ASource.java @@ -37,6 +37,7 @@ import org.talend.sdk.component.runtime.beam.coder.JsonpJsonObjectCoder; import lombok.Data; +import lombok.EqualsAndHashCode; public class ASource extends BoundedSource { @@ -78,6 +79,7 @@ private static void assertClassLoader() { } @Data + @EqualsAndHashCode(callSuper = true) private static class AReader extends BoundedReader { private final ASource source; diff --git a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java index b1aff7dd150d5..656d3c0bc6be2 100644 --- a/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java +++ b/component-runtime-impl/src/test/java/org/talend/sdk/component/runtime/record/MappingUtilsTest.java @@ -47,7 +47,7 @@ void coerce() { assertEquals(new Date(1000l), MappingUtils.coerce(Date.class, 1000l, name)); // === non-matching types === // number classes mapping - assertEquals(shorty, MappingUtils.coerce(short.class, new Short(shorty), name)); + assertEquals(shorty, MappingUtils.coerce(short.class, shorty, name)); assertEquals(shorty, MappingUtils.coerce(Short.class, shorty.shortValue(), name)); assertEquals(Byte.valueOf("123"), MappingUtils.coerce(Byte.class, 123l, name)); assertEquals(Byte.valueOf("123"), MappingUtils.coerce(byte.class, 123l, name)); @@ -55,21 +55,21 @@ void coerce() { assertEquals(shorty.intValue(), MappingUtils.coerce(Integer.class, shorty, name)); // ==== mapping primitive <-> Class ==== assertEquals(Boolean.TRUE, MappingUtils.coerce(Boolean.class, true, name)); - assertEquals('c', MappingUtils.coerce(char.class, new Character('c'), name)); - assertEquals(new Character('c'), MappingUtils.coerce(Character.class, 'c', name)); - assertEquals(123, MappingUtils.coerce(int.class, new Integer(123), name)); - assertEquals(new Integer(123), MappingUtils.coerce(Integer.class, 123, name)); - assertEquals(123l, MappingUtils.coerce(long.class, new Long(123), name)); - assertEquals(new Long(123), MappingUtils.coerce(Long.class, 123, name)); - assertEquals(123.456f, MappingUtils.coerce(float.class, new Float(123.456), name)); - assertEquals(new Float(123.456), MappingUtils.coerce(Float.class, 123.456f, name)); - assertEquals(123.456, MappingUtils.coerce(double.class, new Double(123.456), name)); - assertEquals(new Double(123.456), MappingUtils.coerce(Double.class, 123.456, name)); + assertEquals('c', MappingUtils.coerce(char.class, 'c', name)); + assertEquals('c', MappingUtils.coerce(Character.class, 'c', name)); + assertEquals(123, MappingUtils.coerce(int.class, 123, name)); + assertEquals(123, MappingUtils.coerce(Integer.class, 123, name)); + assertEquals(123l, MappingUtils.coerce(long.class, 123l, name)); + assertEquals(123l, MappingUtils.coerce(Long.class, 123l, name)); + assertEquals(123.456f, MappingUtils.coerce(float.class, 123.456, name)); + assertEquals(123.456f, MappingUtils.coerce(Float.class, 123.456f, name)); + assertEquals(123.456, MappingUtils.coerce(double.class, 123.456, name)); + assertEquals(123.456, MappingUtils.coerce(Double.class, 123.456, name)); assertEquals("1000", MappingUtils.coerce(String.class, 1000l, name)); // string mapping assertEquals('c', MappingUtils.coerce(char.class, "c", name)); - assertEquals(new Character('c'), MappingUtils.coerce(Character.class, "c", name)); + assertEquals('c', MappingUtils.coerce(Character.class, "c", name)); assertEquals(Character.MIN_VALUE, MappingUtils.coerce(Character.class, "", name)); assertEquals(true, MappingUtils.coerce(Boolean.class, "true", name)); assertEquals(true, MappingUtils.coerce(boolean.class, "true", name)); diff --git a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java index bb64076756d45..34cc5a398e91d 100644 --- a/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java +++ b/component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/asm/Unsafes.java @@ -33,6 +33,8 @@ import lombok.NoArgsConstructor; @NoArgsConstructor(access = PRIVATE) +// as deprecation was introduced since = "17", can ignore it for now... +@SuppressWarnings({ "deprecation", "removal" }) public final class Unsafes { private static final Object UNSAFE; diff --git a/component-runtime-testing/component-runtime-beam-junit/pom.xml b/component-runtime-testing/component-runtime-beam-junit/pom.xml index a37476c81b4ed..7f469d5d6c06b 100644 --- a/component-runtime-testing/component-runtime-beam-junit/pom.xml +++ b/component-runtime-testing/component-runtime-beam-junit/pom.xml @@ -36,6 +36,24 @@ org.talend.sdk.component component-runtime-beam ${project.version} + + + org.sonatype.sisu + sisu-inject-plexus + + + org.codehaus.plexus + plexus-component-annotations + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + org.eclipse.sisu + org.eclipse.sisu.inject + + org.talend.sdk.component @@ -59,11 +77,43 @@ org.jboss.shrinkwrap.resolver shrinkwrap-resolver-impl-maven test + + + org.apache.maven.resolver + maven-resolver-impl + + + org.apache.maven.resolver + maven-resolver-util + + + org.apache.maven + maven-model-builder + + + org.apache.maven.resolver + maven-resolver-api + + + org.apache.maven.resolver + maven-resolver-named-locks + + + org.apache.maven.resolver + maven-resolver-spi + + org.apache.beam beam-sdks-java-core provided + + + com.google.errorprone + error_prone_annotations + + junit diff --git a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java index 9b9069333e94d..98c9713ac7b3b 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java +++ b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java @@ -127,7 +127,7 @@ public void evaluate() throws Throwable { final String lines = String.join("\n", Files.readAllLines(output)); assertJSONEquals("[\n" + " {\n" + " \"request\":{\n" + " \"headers\":{\n" + " \"content-length\":\"0\",\n" - + " \"Accept\":\"text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\",\n" + + " \"Accept\":\"*/*\",\n" + " \"Accept-Encoding\":\"gzip\",\n" + " \"ok\":\"yes\",\n" + " \"Proxy-Connection\":\"keep-alive\"\n" + " },\n" + " \"method\":\"GET\",\n" + " \"uri\":\"http://localhost:" + server.getAddress().getPort() + "/supertest\"\n" diff --git a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java index 357e6d2f8f228..dfa091c7c58a6 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java +++ b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java @@ -117,7 +117,7 @@ public void evaluate() throws Throwable { final String lines = String.join("\n", Files.readAllLines(output)); assertJSONEquals("[\n" + " {\n" + " \"request\":{\n" + " \"headers\":{\n" + " \"content-length\":\"0\",\n" - + " \"Accept\":\"text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\",\n" + + " \"Accept\":\"*/*\",\n" + " \"ok\":\"yes\",\n" + " \"Proxy-Connection\":\"keep-alive\"\n" + " },\n" + " \"method\":\"GET\",\n" + " \"uri\":\"http://localhost:" + server.getAddress().getPort() + "/supertest\"\n" + " },\n" + " \"response\":{\n" diff --git a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java index e6a529635b72a..3a28fcbcca9b9 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java +++ b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java @@ -135,7 +135,7 @@ public void evaluate() throws Throwable { final String lines = String.join("\n", Files.readAllLines(output)); assertJSONEquals("[\n" + " {\n" + " \"request\":{\n" + " \"headers\":{\n" + " \"content-length\":\"0\",\n" - + " \"Accept\":\"text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\",\n" + + " \"Accept\":\"*/*\",\n" + " \"Connection\":\"keep-alive\"\n" + " },\n" + " \"method\":\"GET\",\n" + " \"uri\":\"https://localhost:" + server.getAddress().getPort() + "/supertest\"\n" + " },\n" + " \"response\":{\n" + " \"headers\":{\n" diff --git a/component-runtime-testing/pom.xml b/component-runtime-testing/pom.xml index f4f74abafbf55..3f41366ce8f00 100644 --- a/component-runtime-testing/pom.xml +++ b/component-runtime-testing/pom.xml @@ -38,6 +38,7 @@ 3.4.0 + 3.3.1 @@ -45,7 +46,7 @@ org.jboss.shrinkwrap.resolver shrinkwrap-resolver-impl-maven - 3.1.4 + ${shrinkwrap.version} org.jsoup diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java index d55415ed70f10..a58a54eff4400 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/facet/component/ComponentGenerator.java @@ -255,7 +255,8 @@ private Stream toProperties(final String prefix, final Collection< }); } - private List generateIcons(final String iconResourcesDirectory, final String iconName) { + private List generateIcons(final String iconResourcesDirectory, + final String iconName) { return Arrays.asList( new FacetGenerator.InMemoryFile(String.format("%s/%s.svg", iconResourcesDirectory, iconName), defaultIconContent), diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Header.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Header.java index 0d83b38be4c47..a79cc0333d31a 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Header.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Header.java @@ -16,8 +16,10 @@ package org.talend.sdk.component.starter.server.service.openapi.model.openapi; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class Header extends Parameter { } diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Operation.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Operation.java index a378ef2ab247f..b2d3bce7e3317 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Operation.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Operation.java @@ -23,11 +23,13 @@ import org.talend.sdk.component.starter.server.service.openapi.model.common.OperationBase; import lombok.Data; +import lombok.EqualsAndHashCode; /** * Describes a single API operation on a path. */ @Data +@EqualsAndHashCode(callSuper = true) public class Operation extends OperationBase { /** diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Parameter.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Parameter.java index f62e118e4dacb..d83df00f4dc01 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Parameter.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/openapi/Parameter.java @@ -18,8 +18,10 @@ import org.talend.sdk.component.starter.server.service.openapi.model.common.ParameterBase; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class Parameter extends ParameterBase { /** diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Operation.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Operation.java index 71a6e2384af46..5f511f51e2391 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Operation.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Operation.java @@ -25,8 +25,10 @@ import org.talend.sdk.component.starter.server.service.openapi.model.openapi.Response; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class Operation extends OperationBase { /** diff --git a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Parameter.java b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Parameter.java index 318579eade81d..fc7a1c03323ab 100644 --- a/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Parameter.java +++ b/component-starter-server/src/main/java/org/talend/sdk/component/starter/server/service/openapi/model/swagger/Parameter.java @@ -21,8 +21,10 @@ import org.talend.sdk.component.starter.server.service.openapi.model.common.ParameterBase; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class Parameter extends ParameterBase { /** diff --git a/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java b/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java index a7bd9285ce1ce..cb374d08def38 100644 --- a/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java +++ b/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java @@ -26,11 +26,13 @@ import javax.annotation.PostConstruct; import org.apache.xbean.finder.AnnotationFinder; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.talend.sdk.component.api.configuration.Option; import org.talend.sdk.component.api.input.Emitter; +@Disabled class OptionParameterValidatorTest { @Test @@ -52,27 +54,34 @@ void start(@Option(Option.MAX_RECORDS_PARAMETER) long maxRecords, final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); + System.err.println("*************************************"); + System.err.println(result); + System.err.println("*************************************"); assertEquals(0L, result.count()); } - @Test - void okMaxRecords() { - @Emitter - class MaxRecordAndMaxDurationEmitter { + @Emitter + static class MaxRecordAndMaxDurationEmitter1 { - @PostConstruct - void start(@Option(Option.MAX_RECORDS_PARAMETER) long maxRecords) { - } + @PostConstruct + void start(@Option(Option.MAX_RECORDS_PARAMETER) long maxRecords) { } + } + + @Test + void okMaxRecords() { final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); + .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter1.class.getDeclaredMethods())); Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) .thenReturn(Collections.emptyList()); final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); + System.err.println("*************************************"); + System.err.println(result); + System.err.println("*************************************"); assertEquals(0L, result.count()); } @@ -94,6 +103,9 @@ void start(@Option(Option.MAX_DURATION_PARAMETER) long maxDuration) { final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); + System.err.println("*************************************"); + System.err.println(result); + System.err.println("*************************************"); assertEquals(0L, result.count()); } @@ -115,6 +127,9 @@ void start() { final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); + System.err.println("*************************************"); + System.err.println(result); + System.err.println("*************************************"); assertEquals(0L, result.count()); } @@ -137,6 +152,9 @@ void start(@Option("FOOO") long maxDuration) { final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); final List strings = result.collect(Collectors.toList()); + System.err.println("*************************************"); + System.err.println(strings); + System.err.println("*************************************"); assertEquals(1, strings.size()); assertEquals( @@ -163,6 +181,9 @@ void start(long maxDuration) { final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); final List strings = result.collect(Collectors.toList()); + System.err.println("*************************************"); + System.err.println(strings); + System.err.println("*************************************"); assertEquals(1, strings.size()); assertEquals("Parameter 'maxDuration' should be either annotated with @Option or removed", strings.get(0)); @@ -188,6 +209,9 @@ void start(@Option(Option.MAX_DURATION_PARAMETER) String maxDuration, final OptionParameterValidator validator = new OptionParameterValidator(); final Stream result = validator.validate(mockFinder, Mockito.anyList()); final List strings = result.collect(Collectors.toList()); + System.err.println("*************************************"); + System.err.println(strings); + System.err.println("*************************************"); assertEquals(2, strings.size()); assertEquals("The 'maxDuration' parameter's type is not acceptable. Acceptable types: [Integer,Long,int,long]", diff --git a/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_contributors.adoc b/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_contributors.adoc index 7cb2c66297472..a03d7dcc4597d 100644 --- a/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_contributors.adoc +++ b/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_contributors.adoc @@ -8,7 +8,7 @@ "name":"Romain Manni-Bucau" }, { - "commits":809, + "commits":813, "description":"Software engineer @Talend.\r\n\r\nComponents team member.\n\nBlog: undx.github.io", "gravatar":"https://avatars.githubusercontent.com/u/265575?v=4", "id":"undx", @@ -36,7 +36,7 @@ "name":"Christophe Le Saec" }, { - "commits":67, + "commits":68, "description":"", "gravatar":"https://avatars.githubusercontent.com/u/7742508?v=4", "id":"yyin-talend", @@ -50,8 +50,8 @@ "name":"Jean-Michel FRANCOIS" }, { - "commits":51, - "description":"QA Automation @ Talend Nantes", + "commits":53, + "description":"QA Automation @ Qlik Talend Nantes", "gravatar":"https://avatars.githubusercontent.com/u/1255625?v=4", "id":"acatoire", "name":"Axel CATOIRE" @@ -219,7 +219,7 @@ }, { "commits":1, - "description":"Information Architect, Product Manager", + "description":"Staff Documentation Engineer @ Contentsquare", "gravatar":"https://avatars.githubusercontent.com/u/19730806?v=4", "id":"fviolette", "name":"François Violette" diff --git a/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_remote-engine-customizer-help.adoc b/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_remote-engine-customizer-help.adoc index f876f3c441c66..d3b898de7c30a 100644 --- a/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_remote-engine-customizer-help.adoc +++ b/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_remote-engine-customizer-help.adoc @@ -1,66 +1,28 @@ -NAME - register-component-archive -SYNOPSIS - register-component-archive [options] - -OPTIONS - --base-image= - Base connector image to enrich with components. - - default: auto - - --cache-dir= - Where to cache the image layers - useful when the command is launched multiple - times. - - default: ${remote.engine.dir}/.remote_engine_customizer/cache - - --component-archive= - Component Archive (.car) to register/add in the Remote Engine. - - --docker-configuration-environment= - Docker daemon environment variables (as properties) if custom. - - default: - - --docker-configuration-path= - Docker daemon executable path if custom. - - --from-image-type= - Type of source image, can be useful if you don't use the default version - generation. - - default: AUTO. enum: AUTO, DOCKER, REGISTRY - - --registry-configuration-baseUrl= - Registry base URL when image type is REGISTRY. - - --registry-configuration-password= - Registry password when image type is REGISTRY. - - --registry-configuration-username= - Registry username when image type is REGISTRY. - - --remote-engine-dir= - Where the remote engine folder is, it should host a docker-compose.yml file. - - --target-image= - Name of the target image, if not set it will be generated. - - default: auto - - --to-image-type= - Type of target image, it is generally just a local DOCKER image. - - default: DOCKER. enum: AUTO, DOCKER, REGISTRY - - --no-update-original-docker-compose - Should the Remote Engine docker-compose.yml be updated once the new image is - built. - - --work-dir= - Where to create temporary files needed for the build of the new image. - - default: ${java.io.tmpdir}/remote-engine-customizer +Usage: register-component-archive [options] + +Options: + --base-image= Base connector image to enrich with components. + (default: auto) + --cache-dir= Where to cache the image layers - useful when the command is launched multiple times. + (default: ${remote.engine.dir}/.remote_engine_customizer/cache) + --component-archive= Component Archive (.car) to register/add in the Remote Engine. + --docker-configuration-environment= Docker daemon environment variables (as properties) if custom. + (default: ) + --docker-configuration-path= Docker daemon executable path if custom. + --from-image-type= Type of source image, can be useful if you don't use the default version generation. + (default: AUTO) + (enum: AUTO, DOCKER, REGISTRY) + --registry-configuration-baseUrl= Registry base URL when image type is REGISTRY. + --registry-configuration-password= Registry password when image type is REGISTRY. + --registry-configuration-username= Registry username when image type is REGISTRY. + --remote-engine-dir= Where the remote engine folder is, it should host a docker-compose.yml file. + --target-image= Name of the target image, if not set it will be generated. + (default: auto) + --to-image-type= Type of target image, it is generally just a local DOCKER image. + (default: DOCKER) + (enum: AUTO, DOCKER, REGISTRY) + --no-update-original-docker-compose Should the Remote Engine docker-compose.yml be updated once the new image is built. + --work-dir= Where to create temporary files needed for the build of the new image. + (default: ${java.io.tmpdir}/remote-engine-customizer) diff --git a/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_ui.adoc b/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_ui.adoc index 090f95af09565..97f29cc4c4cad 100644 --- a/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_ui.adoc +++ b/documentation/src/main/antora/modules/ROOT/pages/_partials/generated_ui.adoc @@ -16,6 +16,22 @@ Provide a default value the UI can use - only for primitive fields. ---- += @Hidden + +Mark an @Option as being hidden. + +- API: `@org.talend.sdk.component.api.configuration.ui.Hidden` + +== Snippets + +[source,js] +---- +{ + "ui::hidden":"true" +} +---- + + = @OptionsOrder Allows to sort a class properties. diff --git a/remote-engine-customizer/pom.xml b/remote-engine-customizer/pom.xml index 745952479d127..b3ceac7807968 100644 --- a/remote-engine-customizer/pom.xml +++ b/remote-engine-customizer/pom.xml @@ -58,7 +58,6 @@ org.tomitribe tomitribe-crest - 0.16 org.apache.xbean diff --git a/talend-component-maven-plugin/pom.xml b/talend-component-maven-plugin/pom.xml index 344e3f6c34ccb..fc01dc1f5e28e 100644 --- a/talend-component-maven-plugin/pom.xml +++ b/talend-component-maven-plugin/pom.xml @@ -33,6 +33,7 @@ ${talend.build.name.base}.maven + 2.1.1 1.31.1 jdbc @@ -175,7 +176,7 @@ org.codehaus.plexus plexus-component-metadata - 1.7.1 + ${plexus-component-metadata.version} diff --git a/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClient.java b/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClient.java index 8834bffd48979..e449d422c75f7 100644 --- a/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClient.java +++ b/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClient.java @@ -178,6 +178,8 @@ private void destroy() { } } + // as deprecation was introduced since = "17", can ignore it for now... + @SuppressWarnings({ "deprecation", "removal" }) public void init(@Observes @Initialized(ApplicationScoped.class) final ServletContext init) { scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { diff --git a/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClientSetup.java b/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClientSetup.java index 04334eb69f568..f73db384557a6 100644 --- a/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClientSetup.java +++ b/vault-client/src/main/java/org/talend/sdk/components/vault/client/VaultClientSetup.java @@ -158,6 +158,8 @@ public void releaseVaultClient(@Disposes @VaultHttp final Client client) { client.close(); } + // as deprecation was introduced since = "17", can ignore it for now... + @SuppressWarnings({ "deprecation", "removal" }) private ThreadPoolExecutor createExecutor(final int core, final int max, final long keepAlive, final String nameMarker) { return new ThreadPoolExecutor(core, max, keepAlive, MILLISECONDS, new LinkedBlockingQueue<>(), From 8cdacd9cb0636fce58c79987b28c31aec762c768 Mon Sep 17 00:00:00 2001 From: undx Date: Wed, 16 Oct 2024 19:12:28 +0200 Subject: [PATCH 04/15] feat(TCOMP-1914): fix OptionParameterValidator test - remove mockito from project --- component-tools/pom.xml | 5 - .../OptionParameterValidatorTest.java | 119 +++--------------- pom.xml | 7 -- 3 files changed, 20 insertions(+), 111 deletions(-) diff --git a/component-tools/pom.xml b/component-tools/pom.xml index 8f8913cc2ed04..6428f26c73677 100644 --- a/component-tools/pom.xml +++ b/component-tools/pom.xml @@ -146,11 +146,6 @@ ${junit5.version} test - - org.mockito - mockito-junit-jupiter - test - diff --git a/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java b/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java index cb374d08def38..d1c3b36f0d138 100644 --- a/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java +++ b/component-tools/src/test/java/org/talend/sdk/component/tools/validator/OptionParameterValidatorTest.java @@ -18,23 +18,25 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.stream.Collectors; -import java.util.stream.Stream; import javax.annotation.PostConstruct; import org.apache.xbean.finder.AnnotationFinder; -import org.junit.jupiter.api.Disabled; +import org.apache.xbean.finder.archive.ClassesArchive; import org.junit.jupiter.api.Test; -import org.mockito.Mockito; import org.talend.sdk.component.api.configuration.Option; import org.talend.sdk.component.api.input.Emitter; -@Disabled class OptionParameterValidatorTest { + private List validate(final Class testClass) { + final OptionParameterValidator validator = new OptionParameterValidator(); + final AnnotationFinder finder = new AnnotationFinder(new ClassesArchive(testClass)); + return validator.validate(finder, Arrays.asList(testClass)).collect(Collectors.toUnmodifiableList()); + } + @Test void okMaxRecordsAndDuration() { @Emitter @@ -46,43 +48,20 @@ void start(@Option(Option.MAX_RECORDS_PARAMETER) long maxRecords, } } - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); - - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - System.err.println("*************************************"); - System.err.println(result); - System.err.println("*************************************"); - assertEquals(0L, result.count()); - } - - @Emitter - static class MaxRecordAndMaxDurationEmitter1 { - - @PostConstruct - void start(@Option(Option.MAX_RECORDS_PARAMETER) long maxRecords) { - } + assertEquals(0L, validate(MaxRecordAndMaxDurationEmitter.class).size()); } @Test void okMaxRecords() { + @Emitter + class MaxRecordAndMaxDurationEmitter { - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter1.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); + @PostConstruct + void start(@Option(Option.MAX_RECORDS_PARAMETER) long maxRecords) { + } + } - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - System.err.println("*************************************"); - System.err.println(result); - System.err.println("*************************************"); - assertEquals(0L, result.count()); + assertEquals(0L, validate(MaxRecordAndMaxDurationEmitter.class).size()); } @Test @@ -95,18 +74,7 @@ void start(@Option(Option.MAX_DURATION_PARAMETER) long maxDuration) { } } - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); - - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - System.err.println("*************************************"); - System.err.println(result); - System.err.println("*************************************"); - assertEquals(0L, result.count()); + assertEquals(0L, validate(MaxRecordAndMaxDurationEmitter.class).size()); } @Test @@ -119,18 +87,7 @@ void start() { } } - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); - - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - System.err.println("*************************************"); - System.err.println(result); - System.err.println("*************************************"); - assertEquals(0L, result.count()); + assertEquals(0L, validate(MaxRecordAndMaxDurationEmitter.class).size()); } @Test @@ -143,19 +100,7 @@ void start(@Option("FOOO") long maxDuration) { } } - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); - - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - final List strings = result.collect(Collectors.toList()); - System.err.println("*************************************"); - System.err.println(strings); - System.err.println("*************************************"); - + final List strings = validate(MaxRecordAndMaxDurationEmitter.class); assertEquals(1, strings.size()); assertEquals( "Option value on the parameter 'maxDuration' is not acceptable. Acceptable values: [maxDurationMs,maxRecords]", @@ -172,19 +117,7 @@ void start(long maxDuration) { } } - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); - - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - final List strings = result.collect(Collectors.toList()); - System.err.println("*************************************"); - System.err.println(strings); - System.err.println("*************************************"); - + final List strings = validate(MaxRecordAndMaxDurationEmitter.class); assertEquals(1, strings.size()); assertEquals("Parameter 'maxDuration' should be either annotated with @Option or removed", strings.get(0)); } @@ -200,19 +133,7 @@ void start(@Option(Option.MAX_DURATION_PARAMETER) String maxDuration, } } - final AnnotationFinder mockFinder = Mockito.mock(AnnotationFinder.class); - Mockito.when(mockFinder.findAnnotatedMethods(PostConstruct.class)) - .thenReturn(Arrays.asList(MaxRecordAndMaxDurationEmitter.class.getDeclaredMethods())); - Mockito.when(mockFinder.findAnnotatedMethods(Emitter.class)) - .thenReturn(Collections.emptyList()); - - final OptionParameterValidator validator = new OptionParameterValidator(); - final Stream result = validator.validate(mockFinder, Mockito.anyList()); - final List strings = result.collect(Collectors.toList()); - System.err.println("*************************************"); - System.err.println(strings); - System.err.println("*************************************"); - + final List strings = validate(MaxRecordAndMaxDurationEmitter.class); assertEquals(2, strings.size()); assertEquals("The 'maxDuration' parameter's type is not acceptable. Acceptable types: [Integer,Long,int,long]", strings.get(0)); diff --git a/pom.xml b/pom.xml index 4699d80aeacc1..1f7c81a8db1c2 100644 --- a/pom.xml +++ b/pom.xml @@ -209,7 +209,6 @@ 1.0.3 1.2.2 5.10.0 - 4.8.1 1.3 2.16.0 2.16.0 @@ -894,12 +893,6 @@ tomitribe-crest ${tomitribe-crest.version} - - - org.mockito - mockito-junit-jupiter - ${mockito4.version} - From 0be3f62394e011eb21089ee1247f48e7301b9bc2 Mon Sep 17 00:00:00 2001 From: undx Date: Wed, 16 Oct 2024 19:36:48 +0200 Subject: [PATCH 05/15] feat(TCOMP-1914): bump maven version in docker env --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index b3e37c611ec02..5796725e9c3e8 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ java adoptopenjdk-17.0.5+8 -maven 3.8.8 +maven 3.9.9 From cc51263402f6cff052a1efb429d11242df87840e Mon Sep 17 00:00:00 2001 From: undx Date: Wed, 16 Oct 2024 19:38:20 +0200 Subject: [PATCH 06/15] feat(TCOMP-1914): bump maven to 3.9.0 in docker env --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 5796725e9c3e8..910ae3bf59a63 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ java adoptopenjdk-17.0.5+8 -maven 3.9.9 +maven 3.9.0 From f5d861c40af7c41b8113d6d900fd0219cc004486 Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 07:32:04 +0200 Subject: [PATCH 07/15] feat(TCOMP-1914): removed provided scope for it --- talend-component-maven-plugin/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/talend-component-maven-plugin/pom.xml b/talend-component-maven-plugin/pom.xml index fc01dc1f5e28e..ae5a5e01de47b 100644 --- a/talend-component-maven-plugin/pom.xml +++ b/talend-component-maven-plugin/pom.xml @@ -61,7 +61,6 @@ org.apache.maven.plugin-tools maven-plugin-annotations ${maven-plugin-annotations.version} - provided org.apache.maven From 41112166b7d67c792b8c1d5dfde4df70ebc8c624 Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 08:15:23 +0200 Subject: [PATCH 08/15] feat(TCOMP-1914): try to fix variatic test results (local/ci) --- .../junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java | 1 + .../component/junit/http/junit4/CaptureJUnit4HttpApiTest.java | 1 + .../component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java | 1 + 3 files changed, 3 insertions(+) diff --git a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java index 98c9713ac7b3b..3e33da01b7e12 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java +++ b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4GzipHttpApiTest.java @@ -115,6 +115,7 @@ public void evaluate() throws Throwable { new InetSocketAddress("localhost", API.getPort())))); connection.setConnectTimeout(30000); connection.setReadTimeout(20000); + connection.setRequestProperty("Accept", "*/*"); connection.setRequestProperty("Accept-Encoding", "gzip"); connection.setRequestProperty("Authorization", "should be filtered"); connection.setRequestProperty("ok", "yes"); diff --git a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java index dfa091c7c58a6..d92f74e832a09 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java +++ b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpApiTest.java @@ -106,6 +106,7 @@ public void evaluate() throws Throwable { new InetSocketAddress("localhost", API.getPort())))); connection.setConnectTimeout(30000); connection.setReadTimeout(20000); + connection.setRequestProperty("Accept", "*/*"); connection.setRequestProperty("Authorization", "should be filtered"); connection.setRequestProperty("ok", "yes"); assertEquals(HttpURLConnection.HTTP_OK, connection.getResponseCode()); diff --git a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java index 3a28fcbcca9b9..be0a81d5b97e2 100644 --- a/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java +++ b/component-runtime-testing/component-runtime-http-junit/src/test/java/org/talend/sdk/component/junit/http/junit4/CaptureJUnit4HttpsApiTest.java @@ -124,6 +124,7 @@ public void evaluate() throws Throwable { new InetSocketAddress("localhost", API.getPort())))); connection.setConnectTimeout(30000); connection.setReadTimeout(20000); + connection.setRequestProperty("Accept", "*/*"); connection.setHostnameVerifier((h, s) -> true); connection.setSSLSocketFactory(server.getHttpsConfigurator().getSSLContext().getSocketFactory()); assertEquals(HttpURLConnection.HTTP_OK, connection.getResponseCode()); From 250146ae442789d0b69d42e8340d4147f32ff849 Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 12:08:23 +0200 Subject: [PATCH 09/15] feat(TCOMP-1914): debug groovy issue --- component-starter-server/pom.xml | 1 + .../src/build/GrabMavenWrapper.groovy | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/component-starter-server/pom.xml b/component-starter-server/pom.xml index 82beb7d14186c..c933364446003 100644 --- a/component-starter-server/pom.xml +++ b/component-starter-server/pom.xml @@ -404,6 +404,7 @@ ${project.build.directory}/gradle-${gradle.version} ${mvn.version} + true diff --git a/component-starter-server/src/build/GrabMavenWrapper.groovy b/component-starter-server/src/build/GrabMavenWrapper.groovy index 9e08caa5abe76..bda61229b17e0 100644 --- a/component-starter-server/src/build/GrabMavenWrapper.groovy +++ b/component-starter-server/src/build/GrabMavenWrapper.groovy @@ -49,6 +49,14 @@ if (System.properties['os.name'].toLowerCase(Locale.ENGLISH).contains('windows') mvnCommand += ".cmd" } +def fullMvnCommand = new File(System.getProperty('maven.home'), "bin/" + mvnCommand).getAbsolutePath() +System.out.println(fullMvnCommand + " "+ mvnVersion) + +new ProcessBuilder().inheritIO() + .directory(fakeProject) + .command(fullMvnCommand, "-version") + .start().waitFor() + final int exit = new ProcessBuilder().inheritIO() .directory(fakeProject) .command( From a630a4cc93482e1003324c687611d12065003572 Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 12:25:35 +0200 Subject: [PATCH 10/15] feat(TCOMP-1914): debug groovy issue step 2 --- component-starter-server/pom.xml | 2 -- component-starter-server/src/build/GrabMavenWrapper.groovy | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/component-starter-server/pom.xml b/component-starter-server/pom.xml index c933364446003..756b404211f60 100644 --- a/component-starter-server/pom.xml +++ b/component-starter-server/pom.xml @@ -402,9 +402,7 @@ ${project.build.directory}/gradle-${gradle.version} - ${mvn.version} - true diff --git a/component-starter-server/src/build/GrabMavenWrapper.groovy b/component-starter-server/src/build/GrabMavenWrapper.groovy index bda61229b17e0..8aabe1f46cb48 100644 --- a/component-starter-server/src/build/GrabMavenWrapper.groovy +++ b/component-starter-server/src/build/GrabMavenWrapper.groovy @@ -61,7 +61,7 @@ final int exit = new ProcessBuilder().inheritIO() .directory(fakeProject) .command( new File(System.getProperty('maven.home'), "bin/" + mvnCommand).getAbsolutePath(), - "-N", "io.takari:maven:wrapper", "-Dmaven=" + mvnVersion) + "-N", "-X", "io.takari:maven:wrapper") .start().waitFor() if (exit != 0) { throw new IllegalStateException("bad exit status generating maven wrapper: " + exit) From e6e4cc25a3e78a5570644cc14adad07f2b744f5f Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 13:23:03 +0200 Subject: [PATCH 11/15] feat(TCOMP-1914): debug groovy issue step 2 --- component-starter-server/src/build/GrabMavenWrapper.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/component-starter-server/src/build/GrabMavenWrapper.groovy b/component-starter-server/src/build/GrabMavenWrapper.groovy index 8aabe1f46cb48..5d8a81f30ba23 100644 --- a/component-starter-server/src/build/GrabMavenWrapper.groovy +++ b/component-starter-server/src/build/GrabMavenWrapper.groovy @@ -50,7 +50,7 @@ if (System.properties['os.name'].toLowerCase(Locale.ENGLISH).contains('windows') } def fullMvnCommand = new File(System.getProperty('maven.home'), "bin/" + mvnCommand).getAbsolutePath() -System.out.println(fullMvnCommand + " "+ mvnVersion) +System.out.println(fullMvnCommand) new ProcessBuilder().inheritIO() .directory(fakeProject) From 5d6b9d59717e35e76f166b6ca10444ce746c225e Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 14:11:07 +0200 Subject: [PATCH 12/15] feat(TCOMP-1914): groovy move to official wrapper --- component-starter-server/src/build/GrabMavenWrapper.groovy | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/component-starter-server/src/build/GrabMavenWrapper.groovy b/component-starter-server/src/build/GrabMavenWrapper.groovy index 5d8a81f30ba23..d2909383e1748 100644 --- a/component-starter-server/src/build/GrabMavenWrapper.groovy +++ b/component-starter-server/src/build/GrabMavenWrapper.groovy @@ -27,14 +27,15 @@ def validateWrapperFile(File baseDir, String file){ case "mvnw": if(!from.text.contains('exec "$JAVACMD" \\\n' + ' $MAVEN_OPTS \\\n' + + ' $MAVEN_DEBUG_OPTS \\\n' + ' -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \\\n' + - ' "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \\\n' + + ' "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \\\n' + ' ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"')){ throw new IllegalStateException("Invalid file: " + file); } break case "mvnw.cmd": - if(!from.text.contains('%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*')){ + if(!from.text.contains('%MAVEN_JAVA_EXE% ^')){ throw new IllegalStateException("Invalid file: " + file); } break @@ -61,7 +62,7 @@ final int exit = new ProcessBuilder().inheritIO() .directory(fakeProject) .command( new File(System.getProperty('maven.home'), "bin/" + mvnCommand).getAbsolutePath(), - "-N", "-X", "io.takari:maven:wrapper") + "-N", "-Dtype=bin", "wrapper:wrapper") .start().waitFor() if (exit != 0) { throw new IllegalStateException("bad exit status generating maven wrapper: " + exit) From be09af2e19340eba69393fccf959a126b113c263 Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 14:39:03 +0200 Subject: [PATCH 13/15] feat(TCOMP-1914): bump maven to 3.9.9 for fixing npe when no pom --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 910ae3bf59a63..5796725e9c3e8 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ java adoptopenjdk-17.0.5+8 -maven 3.9.0 +maven 3.9.9 From 500e87c5f58521bfa7470321a641162c486343b5 Mon Sep 17 00:00:00 2001 From: undx Date: Thu, 17 Oct 2024 15:03:57 +0200 Subject: [PATCH 14/15] feat(TCOMP-1914): cleanup groovy script --- .../src/build/GrabMavenWrapper.groovy | 8 -------- 1 file changed, 8 deletions(-) diff --git a/component-starter-server/src/build/GrabMavenWrapper.groovy b/component-starter-server/src/build/GrabMavenWrapper.groovy index d2909383e1748..03b89eb8d805f 100644 --- a/component-starter-server/src/build/GrabMavenWrapper.groovy +++ b/component-starter-server/src/build/GrabMavenWrapper.groovy @@ -50,14 +50,6 @@ if (System.properties['os.name'].toLowerCase(Locale.ENGLISH).contains('windows') mvnCommand += ".cmd" } -def fullMvnCommand = new File(System.getProperty('maven.home'), "bin/" + mvnCommand).getAbsolutePath() -System.out.println(fullMvnCommand) - -new ProcessBuilder().inheritIO() - .directory(fakeProject) - .command(fullMvnCommand, "-version") - .start().waitFor() - final int exit = new ProcessBuilder().inheritIO() .directory(fakeProject) .command( From c235809c4ea576489e18b994ca523128ae071507 Mon Sep 17 00:00:00 2001 From: Axel Catoire Date: Thu, 2 Jan 2025 15:01:19 +0100 Subject: [PATCH 15/15] Do not edit version by default --- Jenkinsfile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 03511b5c9a8b5..9796cbad99b4f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -131,15 +131,15 @@ pipeline { description: 'Force documentation stage for development branches. No effect on master and maintenance.') string(name: 'JAVA_VERSION', - defaultValue: 'adoptopenjdk-17.0.5+8', + defaultValue: 'from .tool-versions', description: """Provided java version will be installed with asdf Examples: adoptopenjdk-11.0.22+7, adoptopenjdk-17.0.11+9 """) string(name: 'MAVEN_VERSION', - defaultValue: '3.8.8', + defaultValue: 'from .tool-versions', description: """Provided maven version will be installed with asdf - Examples: 3.8.8, 4.0.0-beta-4 + Examples: 3.8.8, 3.9.9, 4.0.0-beta-4 """) /////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -250,14 +250,19 @@ pipeline { } /////////////////////////////////////////// - // edit java version + // edit mvn and java version /////////////////////////////////////////// script { echo "edit asdf tool version with version from jenkins param" - asdfTools.edit_version_in_file("$env.WORKSPACE/.tool-versions", 'java', params.JAVA_VERSION) + if (params.JAVA_VERSION != 'from .tool-versions') { + asdfTools.edit_version_in_file("$env.WORKSPACE/.tool-versions", 'java', params.JAVA_VERSION) + } jenkinsJobTools.job_description_append("Use java version: $params.JAVA_VERSION ") - asdfTools.edit_version_in_file("$env.WORKSPACE/.tool-versions", 'maven', params.MAVEN_VERSION) + + if (params.MAVEN_VERSION != 'from .tool-versions') { + asdfTools.edit_version_in_file("$env.WORKSPACE/.tool-versions", 'maven', params.MAVEN_VERSION) + } jenkinsJobTools.job_description_append("Use maven version: $params.MAVEN_VERSION ") }