Merge remote-tracking branch 'origin/2.x' into 'origin/3.0'
Signed-off-by: Maxim Nesen <maxim.nesen@oracle.com>
diff --git a/bom/pom.xml b/bom/pom.xml
index b2bcd33..b157289 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -415,11 +415,6 @@
<version>2.4</version>
<inherited>true</inherited>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.7.1</version>
- </plugin>
</plugins>
</build>
diff --git a/etc/scripts/TCK/EE10/jakarta-ee10-tck.sh b/etc/scripts/TCK/EE10/jakarta-ee10-tck.sh
deleted file mode 100644
index 75dd07c..0000000
--- a/etc/scripts/TCK/EE10/jakarta-ee10-tck.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for listing staging from the staging repo.
-#
-# Input Parameters:
-# JERSEY_VERSION - type: String
-# - example: 3.1.5
-# - description: version of Jersey (EE10) to be tested
-# GLASSFISH_VERSION - type: String
-# - example: 7.0.6
-# - description: version of GF (EE10) to be used within tests
-# TCK_VERSION - type: String
-# - example: 3.1.3
-# - description: version of a TCK bundle which will be downloaded from the staging/central
-# Configuration:
-#
-# JDK:
-# openjdk-jdk11-latest
-# Git:
-# https://github.com/eclipse-ee4j/jersey
-# Branch:
-# */3.1
-#
-#
-
-#
-# The first sh invocation
-#
-#!/bin/bash -xe
-
-MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
-mvn -f tests/jersey-tck/pom.xml clean install \
- -Dtck.version=${TCK_VERSION} \
- -Dglassfish.container.version=${GLASSFISH_VERSION} \
- -Djersey.version=${JERSEY_VERSION} | tee tck.log
-
-
-#
-# The second sh invocation
-#
-#!/bin/bash -xe
-
-MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
-mvn -f tests/jersey-tck/pom.xml dependency:copy -Dartifact=jakarta.ws.rs:jakarta-restful-ws-tck:${TCK_VERSION} -Dtck.version=${TCK_VERSION} -Dtransitive=false
-export DOWNLOAD_PATH='tests/jersey-tck/target/dependency/'
-export NAME=`ls ${DOWNLOAD_PATH}`
-
-echo '***********************************************************************************' >> SUMMARY.TXT
-echo '*** TCK bundle information ***' >> SUMMARY.TXT
-echo "*** Name: ${NAME} ***" >> SUMMARY.TXT
-echo '*** Artifact ID: jakarta.ws.rs:jakarta-restful-ws-tck:'${TCK_VERSION}' ***' >> SUMMARY.TXT
-echo '*** Date and size: '`stat -c "date: %y, size(b): %s" ${DOWNLOAD_PATH}/${NAME}`' ***' >> SUMMARY.TXT
-echo '*** SHA256SUM: '`sha256sum ${DOWNLOAD_PATH}/${NAME} | awk '{print $1}'`' ***' >> SUMMARY.TXT
-echo '*** ***' >> SUMMARY.TXT
-echo '***********************************************************************************' >> SUMMARY.TXT
-echo '*** TCK results summary ***' >> SUMMARY.TXT
-export TESTS_RUN=`grep 'Skipped: [0-9]*$' tck.log | grep -o 'Tests run: [0-9]*' | awk '{ SUM += $3 } END { print SUM }'`
-export FAILURES=`grep 'Skipped: [0-9]*$' tck.log | grep -o 'Failures: [0-9]*' | awk '{ SUM += $2 } END { print SUM }'`
-export ERRORS=`grep 'Skipped: [0-9]*$' tck.log | grep -o 'Errors: [0-9]*' | awk '{ SUM += $2 } END { print SUM }'`
-export SKIPPED=`grep 'Skipped: [0-9]*$' tck.log | grep -o 'Skipped: [0-9]*' | awk '{ SUM += $2 } END { print SUM }'`
-echo '[INFO] Number of Tests Passed = '${TESTS_RUN} >> SUMMARY.TXT
-echo '[INFO] Number of Tests Failed = '${FAILURES} >> SUMMARY.TXT
-echo '[INFO] Number of Tests with Errors = '${ERRORS} >> SUMMARY.TXT
-echo '[INFO] Number of Skipped Tests = '${SKIPPED} >> SUMMARY.TXT
-echo '[INFO] ****************************************************************************' >> SUMMARY.TXT
-grep 'Tests run:' tck.log | grep --invert-match 'Skipped: [0-9]*$' >> SUMMARY.TXT
-
-
-#
-# Archive the artifacts:
-# tck.log,tests/jersey-tck/target/glassfish7/glassfish/domains/domain1/logs/server.log,tests/jersey-tck/pom.xml,SUMMARY.TXT
-#
\ No newline at end of file
diff --git a/etc/scripts/TCK/EE8/jersey-staging-GF-integration.sh b/etc/scripts/TCK/EE8/jersey-staging-GF-integration.sh
deleted file mode 100644
index 92c43c0..0000000
--- a/etc/scripts/TCK/EE8/jersey-staging-GF-integration.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for Jersey EE8 integration into Glassfish 5.
-#
-# Input Parameters:
-# GF_URL - type: String
-# - value: http://central.maven.org/maven2/org/glassfish/main/distributions/glassfish/5.1.0/glassfish-5.1.0.zip
-# - description: actual URL of the Glassfish 5
-# MAVEN_REPO_URL - type: String
-# - value: https://jakarta.oss.sonatype.org/content/groups/staging/org/glassfish/jersey
-# - description: Jersey binaries location
-# JERSEY_VERSION - type: String
-# - value: 2.42
-# - description: the version of Jersey to be integrated into the GF
-# JERSEY_JARS - type: Multi-line String
-# - value: containers/glassfish/jersey-gf-ejb/${JERSEY_VERSION}/jersey-gf-ejb
-# containers/jersey-container-grizzly2-http/${JERSEY_VERSION}/jersey-container-grizzly2-http
-# containers/jersey-container-servlet/${JERSEY_VERSION}/jersey-container-servlet
-# containers/jersey-container-servlet-core/${JERSEY_VERSION}/jersey-container-servlet-core
-# core/jersey-client/${JERSEY_VERSION}/jersey-client
-# core/jersey-common/${JERSEY_VERSION}/jersey-common
-# core/jersey-server/${JERSEY_VERSION}/jersey-server
-# ext/jersey-bean-validation/${JERSEY_VERSION}/jersey-bean-validation
-# ext/cdi/jersey-cdi1x/${JERSEY_VERSION}/jersey-cdi1x
-# ext/cdi/jersey-cdi1x-servlet/${JERSEY_VERSION}/jersey-cdi1x-servlet
-# ext/cdi/jersey-cdi1x-transaction/${JERSEY_VERSION}/jersey-cdi1x-transaction
-# ext/jersey-entity-filtering/${JERSEY_VERSION}/jersey-entity-filtering
-# ext/jersey-mvc/${JERSEY_VERSION}/jersey-mvc
-# ext/jersey-mvc-jsp/${JERSEY_VERSION}/jersey-mvc-jsp
-# inject/jersey-hk2/${JERSEY_VERSION}/jersey-hk2
-# media/jersey-media-jaxb/${JERSEY_VERSION}/jersey-media-jaxb
-# media/jersey-media-json-binding/${JERSEY_VERSION}/jersey-media-json-binding
-# media/jersey-media-json-jackson/${JERSEY_VERSION}/jersey-media-json-jackson
-# media/jersey-media-json-jettison/${JERSEY_VERSION}/jersey-media-json-jettison
-# media/jersey-media-json-processing/${JERSEY_VERSION}/jersey-media-json-processing
-# media/jersey-media-moxy/${JERSEY_VERSION}/jersey-media-moxy
-# media/jersey-media-multipart/${JERSEY_VERSION}/jersey-media-multipart
-# media/jersey-media-sse/${JERSEY_VERSION}/jersey-media-sse
-# - description: List of binaries to be integrated into the GF 5
-#
-#
-# Configuration:
-#
-# JDK:
-# (System)
-# Git:
-# ------none------
-#
-# Copy artifacts from another project:
-# JAXRS_build
-# Latest successful build
-# Artifacts to copy:
-# **/*.jar
-# Target directory:
-# download
-# [X] Flatten directories [X] Fingerprint Artifacts
-#
-#
-#
-ls
-cd download
-wget -q ${GF_URL} -O glassfish.zip
-#wget -q ${JAX_RS_JAR} -O jakarta.ws.rs-api.jar
-
-while IFS= read -r line ; do wget -q ${MAVEN_REPO_URL}/$line-${JERSEY_VERSION}.jar; done <<< "${JERSEY_JARS}"
-
-echo Listing grabbed jars
-ls *.jar
-
-#unzip
-unzip -q glassfish.zip -d ${WORKSPACE}
-cd ${WORKSPACE}/glassfish5/glassfish/modules
-
-#replace API jar
-#cp -v ${WORKSPACE}/download/jakarta.ws.rs-api.jar .
-
-#replace Jersey Jar
-for jarfile in ${WORKSPACE}/download/*.jar; do
- echo $(basename $jarfile) | sed -e 's/-RC[0-9][0-9]*//' | sed -e 's/-SNAPSHOT//' | sed -e 's/\.[0-9][0-9]*//' | sed -e 's/\.[0-9][0-9]*//' | sed -e 's/-[0-9][0-9]*//' | while IFS= read -r gfnamejar ; do if [ -f $gfnamejar ]; then rm -v $gfnamejar; cp -v $jarfile $gfnamejar; fi; done;
-done
-
-cd ${WORKSPACE}
-zip -r glassfish.zip glassfish5
-
-
-#
-# Archive the artifacts:
-# glassfish.zip
-#
-#
diff --git a/etc/scripts/TCK/EE8/tck-build.sh b/etc/scripts/TCK/EE8/tck-build.sh
deleted file mode 100644
index 40a9cb1..0000000
--- a/etc/scripts/TCK/EE8/tck-build.sh
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/bash -ex
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for building EE8 TCK bundle for Jersey.
-#
-# Input Parameters:
-# GF_URL - type: String
-# - value: https://search.maven.org/remotecontent?filepath=org/glassfish/main/distributions/glassfish/5.1.0/glassfish-5.1.0.zip
-# - description: actual URL of the Glassfish 5
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk8-latest
-# Git:
-# https://github.com/eclipse-ee4j/jakartaee-tck.git
-# Branch:
-# */master
-# Check out to a sub-directory:
-# CTS
-#
-# [X] With Ant:
-# apache-ant-latest
-# JDK:
-# oracle-jdk8-latest
-#
-# Copy artifacts from another project:
-# ts_jte_alter
-# Latest successful build
-# Artifacts to copy:
-# ts.jte
-# Target directory:
-# download
-# [X] Flatten directories [X] Fingerprint Artifacts
-#
-#
-#
-
-mkdir ${WORKSPACE}/CTS/tools
-mkdir ${WORKSPACE}/CTS/tools/ant
-
-#create zip command
-#mkdir batch
-#touch ${WORKSPACE}/batch/zip.sh
-#chmod +x ${WORKSPACE}/batch/zip.sh
-#touch ${WORKSPACE}/batch/zip
-#chmod +x ${WORKSPACE}/batch/zip
-#alias zip='${WORKSPACE}/batch/zip.sh'
-
-#echo "echo ARG1=\$1">batch/zip.sh
-#echo "echo ARG2=\$2">>batch/zip.sh
-#echo "echo ARG3=\$3">>batch/zip.sh
-#echo "if [ \$1='-T' ]; then">>batch/zip.sh
-#echo " exit">>batch/zip.sh
-#echo "fi">>batch/zip.sh
-#echo "filename=\`echo \$2 | cut -d'.' -f 1,2\`">>batch/zip.sh
-#echo "echo filename=\$filename">>batch/zip.sh
-#echo "tar -zcvf '\${filename}'.tar.gz \$3">>batch/zip.sh
-#echo "mv \${filename}.tar.gz \${filename}.zip">>batch/zip.sh
-#echo "echo created \${filename}.zip">>batch/zip.sh
-
-#echo "${WORKSPACE}/batch/zip.sh \$*">batch/zip
-
-#cat batch/zip.sh
-#cat batch/zip
-
-
-#Set variables
-export ANT_OPTS=-Djavax.xml.accessExternalSchema=all
-
-cd download
-#wget -4 https://jenkins.eclipse.org/jersey/view/TCK/job/ts_jte_alter/lastSuccessfulBuild/artifact/ts.jte
-
-#wget -q https://ci.adoptopenjdk.net/view/Build%20Monitor/job/jtharness/lastSuccessfulBuild/artifact/jtharness.tar.gz -O jtharness.tar.gz
-#wget -q https://ci.adoptopenjdk.net/view/Build%20Monitor/job/sigtest/lastSuccessfulBuild/artifact/sigtest.tar.gz -O sigtest.tar.gz
-#wget -q http://central.maven.org/maven2/com/sun/xml/bind/jaxb-xjc/2.2.7/jaxb-xjc-2.2.7.jar -O jaxb-xjc.jar
-#wget -q http://central.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar -O ant-contrib.jar
-#wget -q http://central.maven.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
-#wget -q http://central.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
-#wget -q http://central.maven.org/maven2/commons-codec/commons-codec/1.3/commons-codec-1.3.jar
-#tar xfz jtharness.tar.gz
-#tar xvfz sigtest.tar.gz
-#unzip -q sigtest-4.0
-#cp -av ${WORKSPACE}/download/sigtest-4.0/lib/. ${WORKSPACE}/CTS/lib/
-#cp -v ${WORKSPACE}/download/jtharness/lib/javatest.jar ${WORKSPACE}/CTS/lib/javatest.jar
-#cp -v ${WORKSPACE}/download/jaxb-xjc.jar ${WORKSPACE}/CTS/lib/
-#cp -v ${WORKSPACE}/download/ant-contrib.jar ${WORKSPACE}/CTS/lib/
-#cp -v ${WORKSPACE}/download/ant-contrib.jar ${WORKSPACE}/CTS/lib/ant-contrib-1.0b3.jar
-#cp -v ${WORKSPACE}/download/commons-httpclient-3.1.jar ${WORKSPACE}/CTS/lib/
-#cp -v ${WORKSPACE}/download/commons-logging-1.1.1.jar ${WORKSPACE}/CTS/lib/
-#cp -v ${WORKSPACE}/download/commons-codec-1.3.jar ${WORKSPACE}/CTS/lib/
-
-
-ls
-
-yes | cp -vr ${WORKSPACE}/download/ts.jte ${WORKSPACE}/CTS/install/jaxrs/bin/
-#cp -v ${WORKSPACE}/download/ts.jte ${WORKSPACE}/CTS/bin/ts.jte
-
-wget -q ${GF_URL} -O glassfish.zip
-unzip -q glassfish.zip -d ${WORKSPACE}
-
-#COMPILE TCK
-
-export TS_HOME=${WORKSPACE}/CTS
-export deliverabledir=jaxrs
-export javaee_home=${WORKSPACE}/glassfish5
-
-#touch ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/api = servlet >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/api/rs/ext/interceptor = standalone >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/ee = standalone >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/jaxrs21 = standalone >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/jaxrs21/api = servlet >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/spec = standalone >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/servlet3 = standalone >> ${WORKSPACE}/CTS/vehicle.properties
-#echo com/sun/ts/tests/jaxrs/platform = standalone >> ${WORKSPACE}/CTS/vehicle.properties
-
-#cat ${WORKSPACE}/CTS/vehicle.properties
-
-#fix the test
-cd ${WORKSPACE}/CTS/src/com/sun/ts/tests/jaxrs/jaxrs21/ee/sse/sseeventsink
-sed -i '314s/open()/register(holder::add)/' JAXRSClient.java
-sed -i '315s/register(holder::add)/open()/' JAXRSClient.java
-#end of fix
-
-cd ${WORKSPACE}/CTS/install/${deliverabledir}/bin
-ant build.all
-ant update.jaxrs.wars
-
-# BUNDLE TCK
-
-cd ${WORKSPACE}/CTS/release/tools/
-ant jakartaee-jaxrs
-#ls ${WORKSPACE}/CTS/release/JAXRS_BUILD/
-cd ${WORKSPACE}/CTS/release/JAXRS_BUILD/latest
-for fn in `ls *.zip`; do cp -v "${fn}" `echo ${fn} | cut -d'_' -f 1`_latest.zip; done
-
-#zip -s 10m jaxrstck_split_latest.zip jaxrstck-2.1_latest.zip
-#ls
-
-
-
-#
-# Archive the artifacts:
-# CTS/release/JAXRS_BUILD/latest/*.z*
-#
-#
-
diff --git a/etc/scripts/TCK/EE8/tck-run-pipeline.groovy b/etc/scripts/TCK/EE8/tck-run-pipeline.groovy
deleted file mode 100644
index 95936f1..0000000
--- a/etc/scripts/TCK/EE8/tck-run-pipeline.groovy
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/usr/bin/env groovy
-
-/*
- * Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Runs TCK for Jersey EE8 on GlassFish 5
- *
- * Input Parameters:
- *
- * GF_INTEGRATION_JOB_NAME - type: String
- * - value: Jersey_Staging_GF_Integration
- * - description: name of a job from which the prepared archive of the Glassfish 5 is taken
- * - possible values: Jersey_binaries_GF_integration
- * Jersey_Staging_GF_Integration
- * GF5_Jersey2_Archive_Integration
- * TS_JTE_JOB_NAME - type: String
- * - value: ts_jte_alter
- * - description: name of a job from which prepared ts.jte is taken
- * TCK_BUNDLE_JOB_OR_URL - type: String
- * - value: tck_build
- * - description: name of a job from which prepared TCK bundle is taken
- */
-
-node {
-
- // Job that created the API artifact
- def GF_BUILD_JOB = "${env.GF_INTEGRATION_JOB_NAME}"
- def TS_JTE_BUILD_JOB = "${env.TS_JTE_JOB_NAME}"
- def TCK_BUNDLE_URL = "${env.TCK_BUNDLE_JOB_OR_URL}"
- def API_JAR_NAME="jakarta.ws.rs-api.jar"
-
- echo "GF_BUILD_JOB=${GF_BUILD_JOB}"
- echo "TS_JTE_BUILD_JOB=${TS_JTE_BUILD_JOB}"
- echo "TCK_BUNDLE_URL=${TCK_BUNDLE_URL}"
-
- //TCK properties
- env.deliverabledir="jaxrs"
- env.tck_root="restful-ws-tck"
- env.TS_HOME="${env.WORKSPACE}/${env.tck_root}"
- env.javaee_home="${env.WORKSPACE}/glassfish5"
-
- env.JAVA_HOME= tool name: 'oracle-jdk8-latest', type: 'jdk'
- env.ANT_HOME= tool name: 'apache-ant-latest', type: 'ant'
- env.PATH="${ANT_HOME}/bin:${JAVA_HOME}/bin:${PATH}"
- env.ANT_OPTS="-Djavax.xml.accessExternalSchema=all"
-
- stage("Grab GF and ts.jte artifacts") {
- //https://go.cloudbees.com/docs/cloudbees-documentation/cjoc-user-guide/index.html#cluster-copy-artifacts
- dir ("download") {
- copyArtifacts(projectName: "${GF_BUILD_JOB}")
- copyArtifacts(projectName: "${TS_JTE_BUILD_JOB}")
- }
- }
-
- stage("Grab TCK bundle") {
- env.TCK_BUNDLE_URL = "${TCK_BUNDLE_URL}"
- if (!(env.TCK_BUNDLE_URL).startsWith("http")) {
- dir ("download") {
- copyArtifacts(projectName: "${TCK_BUNDLE_URL}", filter: "**/*_latest.zip")
- //flatten - could be done by copyRemoteArtifacts but mapper arg expects java class
- sh "find . -mindepth 2 -type f -print -exec mv {} . \\;"
-
- //sh "rm *doc*.zip"
- sh "mv ${deliverabledir}-tck*.zip ${deliverabledir}-tck.zip"
- }
- } else {
- sh '''#!/bin/bash -ex
- cd ${WORKSPACE}/download
- wget -q ${TCK_BUNDLE_URL} -O ${deliverabledir}-tck.zip
- '''
- }
- }
-
- stage("Unzip TCK and GF") {
- sh '''#!/bin/bash -ex
- cd ${WORKSPACE}
- unzip ${WORKSPACE}/download/glassfish.zip
- unzip -q ${WORKSPACE}/download/${deliverabledir}-tck.zip
- ls
- ls ${tck_root}
-
- cd ${WORKSPACE}/glassfish5/glassfish/modules
- jar xf jersey-common.jar META-INF/MANIFEST.MF
- cat META-INF/MANIFEST.MF | grep Bundle-Version
- '''
- }
-
- stage ("Replace ts.jte") {
- sh '''#!/bin/bash -ex
- ls ${TS_HOME}
- ls ${TS_HOME}/bin
- yes | cp -rfv ${WORKSPACE}/download/ts.jte ${TS_HOME}/bin/ts.jte
- '''
- }
-
- stage("Configure TCK") {
- sh '''#!/bin/bash -ex
- cd ${TS_HOME}/bin
- ant config.vi
- '''
- }
-
- stage ("Deploy TCK tests") {
- sh '''#!/bin/bash -ex
- cd ${TS_HOME}/bin
- ant deploy.all
- '''
- }
-
- stage ("Run TCK tests") {
- sh '''#!/bin/bash -ex
- cd ${TS_HOME}/bin
- ant run.all | tee run.log
- '''
- }
-
- stage ("Create summary.txt, API, and run.log artifacts") {
- sh '''#!/bin/bash -ex
- cd ${TS_HOME}/bin
- cat run.log | sed -e '1,/Completed running/d' > summary.txt
- PASSED_COUNT=`head -1 summary.txt | tail -1 | sed 's/.*=\\s\\(.*\\)/\\1/'`
- FAILED_COUNT=`head -2 summary.txt | tail -1 | sed 's/.*=\\s\\(.*\\)/\\1/'`
- ERROR_COUNT=`head -3 summary.txt | tail -1 | sed 's/.*=\\s\\(.*\\)/\\1/'`
-
- echo ERROR_COUNT=${ERROR_COUNT}
- echo FAILED_COUNT=${FAILED_COUNT}
- echo PASSED_COUNT=${PASSED_COUNT}
- '''
-
- archiveArtifacts artifacts: "${env.tck_root}/bin/summary.txt", fingerprint: true
- archiveArtifacts artifacts: "${env.tck_root}/bin/run.log", fingerprint: true
- archiveArtifacts artifacts: "glassfish5/glassfish/modules/${API_JAR_NAME}", fingerprint: true
- archiveArtifacts artifacts: "glassfish5/glassfish/modules/META-INF/MANIFEST.MF", fingerprint: true
- archiveArtifacts artifacts: "glassfish5/glassfish/domains/domain1/logs/server.log", fingerprint: true
- }
-}
\ No newline at end of file
diff --git a/etc/scripts/TCK/EE8/ts-jte-alter.sh b/etc/scripts/TCK/EE8/ts-jte-alter.sh
deleted file mode 100644
index 27d908a..0000000
--- a/etc/scripts/TCK/EE8/ts-jte-alter.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for generating ts.jte for EE8 Jersey TCK.
-#
-# Input Parameters:
-#
-# SERVER_HOME - type: String
-# - value: ${ts.home}/../glassfish5/glassfish
-# JAXRS_API_JAR_NAME - type: String
-# - value: jakarta.ws.rs-api.jar
-# HARNESS_REPORT_DIR - type: String
-# - value: ${ts.home}/../JTreport
-# HARNESS_WORK_DIR - type: String
-# - value: ${ts.home}/../JTwork
-#
-# Configuration:
-#
-# JDK:
-# (System)
-# Git:
-# ----none----
-#
-#
-
-wget https://raw.githubusercontent.com/eclipse-ee4j/jakartaee-tck/master/install/jaxrs/bin/ts.jte
-
-JARS_ON_CP="\
-\${web.home}/modules/jersey-client.jar:\
-\${web.home}/modules/jersey-common.jar:\
-\${web.home}/modules/jersey-container-servlet.jar:\
-\${web.home}/modules/jersey-container-servlet-core.jar:\
-\${web.home}/modules/jersey-hk2.jar:\
-\${web.home}/modules/jersey-media-jaxb.jar:\
-\${web.home}/modules/jersey-media-json-binding.jar:\
-\${web.home}/modules/jersey-media-json-processing.jar:\
-\${web.home}/modules/jersey-media-sse.jar:\
-\${web.home}/modules/jersey-server.jar:\
-\${web.home}/modules/jsonp-jaxrs.jar:\
-\${web.home}/modules/asm-all-repackaged.jar:\
-\${web.home}/modules/bean-validator.jar:\
-\${web.home}/modules/endorsed/jakarta.annotation-api.jar:\
-\${web.home}/modules/cdi-api.jar:\
-\${web.home}/modules/cglib.jar:\
-\${web.home}/modules/hk2-api.jar:\
-\${web.home}/modules/hk2-locator.jar:\
-\${web.home}/modules/hk2-utils.jar:\
-\${web.home}/modules/javassist.jar:\
-\${web.home}/modules/jakarta.ejb-api.jar:\
-\${web.home}/modules/jakarta.inject.jar:\
-\${web.home}/modules/jakarta.json.jar:\
-\${web.home}/modules/jakarta.json-api.jar:\
-\${web.home}/modules/jakarta.json.bind-api.jar:\
-\${web.home}/modules/jakarta.interceptor-api.jar:\
-\${web.home}/modules/jakarta.servlet-api.jar:\
-\${web.home}/modules/osgi-resource-locator.jar:\
-\${web.home}/modules/weld-osgi-bundle.jar:\
-\${web.home}/modules/yasson.jar"
-
-sed -i 's/^impl\.vi=/impl\.vi=glassfish/g' ts.jte
-sed -i "s/^web\.home=/$(echo web\.home=${SERVER_HOME} | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i "s/^impl\.vi\.deploy\.dir=/$(echo impl\.vi\.deploy\.dir=\${web.home}/domains/domain1/autodeploy | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i 's/^jaxrs_impl_name=/jaxrs_impl_name=jersey/g' ts.jte
-sed -i 's/^harness\.log\.traceflag=/harness\.log\.traceflag=true/g' ts.jte
-sed -i 's/^webServerHost=/webServerHost=localhost/g' ts.jte
-sed -i 's/^webServerPort=/webServerPort=8080/g' ts.jte
-sed -i "s/^work\.dir=\/tmp\/JTwork/$(echo work\.dir=${HARNESS_WORK_DIR} | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i "s/^report\.dir=\/tmp\/JTreport/$(echo report\.dir=${HARNESS_REPORT_DIR} | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i "s/^jaxrs_impl\.classes=/$(echo jaxrs_impl\.classes=${JARS_ON_CP} | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i "s/^jaxrs\.classes=/$(echo jaxrs\.classes=\${web.home}/modules/${JAXRS_API_JAR_NAME} | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i "s/^jaxrs_impl_lib=/$(echo jaxrs_impl_lib=\${web.home}/modules/jersey-container-servlet-core.jar | sed -e 's/\\/\\\\/g; s/\//\\\//g;')/g" ts.jte
-sed -i "s/^servlet_adaptor=/servlet_adaptor=org\/glassfish\/jersey\/servlet\/ServletContainer.class/g" ts.jte
-
-sed -i "s/-Dcts.tmp=\.*/-Djavax.xml.accessExternalSchema=all -Dcts.tmp=/g" ts.jte
-
-
-#
-# Archive the artifacts:
-# ts.jte
\ No newline at end of file
diff --git a/etc/scripts/release/EE10/bundle-apidocs.sh b/etc/scripts/release/EE10/bundle-apidocs.sh
deleted file mode 100644
index 089a1a9..0000000
--- a/etc/scripts/release/EE10/bundle-apidocs.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for releasing api docs bundle by release tag.
-#
-# Input Parameters:
-#
-# VERSION - type: String
-# - example: 3.1.6
-# - description: Name of the existing version tag in the Git repo.
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk17-latest
-# Git:
-# git@github.com:eclipse-ee4j/jersey.git
-# Branches to build:
-# tags/${VERSION}
-#
-# Bindings:
-# Secret file:
-# Variable:
-# KEYRING
-# Credentials:
-# secret-subkeys.asc
-#
-#
-
-
- gpg --batch --import ${KEYRING}
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
-
-#!/bin/bash -xe
-
-# Execution environment
-MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
-echo '-[ Run maven release plugin ]---------------------------------------------------'
-
-mvn -q -V -C -DstagingDescription="org.glassfish.jersey.bundles.apidocs:${VERSION}" \
- -Pstaging,oss-release,pre-release -DskipTests -pl :apidocs \
- -Djersey.version=${VERSION} -Dsource.mvn.plugin.version=3.2.0 install javadoc:jar gpg:sign deploy
\ No newline at end of file
diff --git a/etc/scripts/release/EE10/bundle-examples.sh b/etc/scripts/release/EE10/bundle-examples.sh
deleted file mode 100644
index c49fa1c..0000000
--- a/etc/scripts/release/EE10/bundle-examples.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for releasing examples bundle by release tag.
-#
-# Input Parameters:
-#
-# VERSION - type: String
-# - example: 3.1.6
-# - description: Name of the existing version tag in the Git repo.
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk11-latest
-# Git:
-# git@github.com:eclipse-ee4j/jersey.git
-# Branches to build:
-# tags/${VERSION}
-#
-# Bindings:
-# Secret file:
-# Variable:
-# KEYRING
-# Credentials:
-# secret-subkeys.asc
-#
-#
-
-
- gpg --batch --import ${KEYRING}
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
-
-
- # Execution environment
- MVN_HOME="/opt/tools/apache-maven/latest/"
- PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
- mvn clean install -C -B -Djersey.version=${VERSION} -DskipTests -Ppre-release,staging -pl org.glassfish.jersey.examples:project -amd
-
- mvn -C -B -DstagingDescription="org.glassfish.jersey.examples:${VERSION}" \
- -Pstaging,oss-release,pre-release \
- -Djersey.version=${VERSION} -DskipTests -pl :jersey-examples \
- deploy
\ No newline at end of file
diff --git a/etc/scripts/release/EE10/bundle-user-guide.sh b/etc/scripts/release/EE10/bundle-user-guide.sh
deleted file mode 100644
index 8890a79..0000000
--- a/etc/scripts/release/EE10/bundle-user-guide.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for releasing User Guide bundle by release tag.
-#
-# Input Parameters:
-#
-# VERSION - type: String
-# - example: 3.1.6
-# - description: Name of the existing version tag in the Git repo.
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk11-latest
-# Git:
-# git@github.com:eclipse-ee4j/jersey.git
-# Credentials:
-# GitHub bot SSH
-# Branches to build:
-# refs/tags/${VERSION}
-#
-# Bindings:
-# Secret file:
-# Variable:
-# KEYRING
-# Credentials:
-# secret-subkeys.asc
-#
-#
-
-
- gpg --batch --import ${KEYRING}
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
-
-#!/bin/bash -xe
-
-# Execution environment
-MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
-cd docs
-
-echo '-[ Run maven release plugin ]---------------------------------------------------'
-
-mvn -q -C -DstagingDescription="org.glassfish.jersey.jersey-documentation:${VERSION}" \
- -Pstaging,oss-release,pre-release \
- -DskipTests \
- install javadoc:jar gpg:sign deploy
\ No newline at end of file
diff --git a/etc/scripts/release/EE10/release.groovy b/etc/scripts/release/EE10/release.groovy
deleted file mode 100644
index ad2f167..0000000
--- a/etc/scripts/release/EE10/release.groovy
+++ /dev/null
@@ -1,333 +0,0 @@
-#!/usr/bin/env groovy
-
-/*
- * Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Release script for Jakarta EE10 Jersey versions
- * Release branch is 3.1
- *
- * Input Parameters:
- * RELEASE_VERSION - type: String
- * - example: 3.1.6
- * - Description: mandatory release version. Later is being published to staging/central.
- * NEXT_VERSION - type: String
- * - example: 3.1.99-SNAPSHOT
- * - Description: mandatory next developing version will be committed in to the release branch and later
- * merged into the original release branch for further developing.
- * BRANCH - type: Choice Parameter
- * - values: 3.1
- * - Description: Original release branch from which the codebase is being checked out
- * DRY_RUN - type: Boolean
- * - Description: if checked nothing is really committed to Git nor published to the staging
- * OVERWRITE - type: Boolean
- * - Description: if checked allows replacing of the previously published RELEASE_VERSION of Jersey
- *
- */
-
-#!/usr/bin/env groovy
-
-node {
-
- def MVN_HOME = tool name: 'apache-maven-latest', type: 'maven'
- def HELP_PLUGIN = 'org.apache.maven.plugins:maven-help-plugin:2.1.1'
- def TARGET = 'package javadoc:jar gpg:sign install:install'
- def DEPLOY_TARGET = ''
- def RELEASE_VERSION = RELEASE_VERSION
- def NEXT_VERSION = NEXT_VERSION
- def RELEASE_TAG = ''
- def NEW_RELEASE_BRANCH = ''
- def OVERWRITE = OVERWRITE
- def PROJECT_NAME = 'Jersey'
- def LOGIN = 'jersey-bot'
- def EMAIL = 'jersey-bot@eclipse.org'
- def REPO = 'git@github.com:eclipse-ee4j/jersey.git'
- def SECRET_FILE_ID = 'secret-subkeys.asc'
- def CREDENTIALS_ID = 'github-bot-ssh'
- def GIT_ORIGIN = 'origin'
- def RELEASE_FOLDER = env.WORKSPACE
- def RELEASE_BRANCH = BRANCH
-
- def STAGING_NAME_PATTERN = 'orgglassfishjersey-[0-9]+'
- def STAGING_NAME = ''
- def STAGING_PREV_NAME = ''
- def STAGING_OPEN_NAME = ''
- def STAGING_DESC = 'org.glassfish.jersey:' + RELEASE_VERSION
- def STAGING_BOM_DESC = 'org.glassfish.jersey.bom:' + RELEASE_VERSION
- def STAGING_PROFILE_ID = '70fa3a107a8918'
-
- def MULTIRELEASE_MODULES = ':jersey-wadl-doclet,:jersey-spring6,:jersey-helidon-connector,:jersey-jetty-connector,:jersey-jetty-http2-connector,:jersey-container-jetty-http,:jersey-container-jetty-http2,:jersey-test-framework-provider-jetty,:jersey-test-framework-provider-jetty-http2'
-
- def JDK_11_HOME = tool name: 'openjdk-jdk11-latest', type: 'jdk'
- //def JDK_12_HOME = tool name: 'openjdk-jdk12-latest', type: 'jdk'
- def JDK_21_HOME = tool name: 'openjdk-jdk21-latest', type: 'jdk'
- //def JDK_8_HOME = tool name: 'oracle-jdk8-latest', type: 'jdk'
-
- env.JAVA_HOME = JDK_11_HOME
- env.PATH = "${env.JAVA_HOME}/bin:${env.PATH}:${MVN_HOME}/bin"
-
- sh 'java -version'
-
- stage('Fetch from git') {
- git(branch: RELEASE_BRANCH, credentialsId: CREDENTIALS_ID, url: REPO)
- }
- stage('Prepare environment') {
-
- dir(RELEASE_FOLDER) {
- //# Check whether top level pom.xml contains SNAPSHOT version
- if (!sh(returnStdout: true, script: "grep '<version>' pom.xml | grep 'SNAPSHOT'")?.trim()) {
- error('-[ Missing SNAPSHOT version in POM! ]-------------------------------------------')
- }
-
- //# Compute release versions
- def SNAPSHOT_VERSION = sh(returnStdout: true, script: 'mvn -q -Dexec.executable="echo" -Dexec.args=\'${project.version}\' --non-recursive exec:exec -Pstaging').trim()
-
- if (!RELEASE_VERSION?.trim()) {
- if (!SNAPSHOT_VERSION?.trim()) {
- error('-[ Missing required snapshot version number! ]----------------------------------')
- } else {
- def versionTokens = SNAPSHOT_VERSION.split('-')
- RELEASE_VERSION = versionTokens[0]
- }
- }
-
- if (!NEXT_VERSION?.trim()) {
- def (MAJOR_VERSION, MINOR_VERSION) = RELEASE_VERSION.tokenize('.')
- def NEXT_MINOR_VERSION = (MINOR_VERSION as Integer) + 1
- NEXT_VERSION = MAJOR_VERSION + '.' + NEXT_MINOR_VERSION + '-SNAPSHOT'
- }
-
- RELEASE_TAG = RELEASE_VERSION
- NEW_RELEASE_BRANCH = RELEASE_VERSION+'-BRANCH'
-
- echo "Current version: ${SNAPSHOT_VERSION}"
- echo "Release version: ${RELEASE_VERSION}"
- echo "Next version: ${NEXT_VERSION}"
- echo "Release tag: ${RELEASE_TAG}"
- echo "Release branch: ${NEW_RELEASE_BRANCH}"
-
- if (!SNAPSHOT_VERSION?.trim() || !RELEASE_VERSION?.trim() || !NEXT_VERSION?.trim()) {
- error '-[ Missing required version numbers! ]------------------------------------------'
- }
-
- if (DRY_RUN == 'true') {
- echo '-[ Dry run turned on ]----------------------------------------------------------'
- //TARGET = 'install'
- } else {
- DEPLOY_TARGET = ' deploy:deploy'
- }
- echo '-[ Configure git user ]--------------------------------------------------------'
- sh "git config --local user.email \"${EMAIL}\""
- sh "git config --local user.name \"$LOGIN\""
-
- }
-
- }
- stage('Prepare GPG') {
- withCredentials([file(credentialsId: SECRET_FILE_ID, variable: 'KEYRING')]) {
- //# Workaround: GPG initialization
- sh("gpg --batch --import ${KEYRING}")
- sh '''
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
- '''
- }
- }
- stage('Prepare branch') {
- echo '-[ Prepare branch ]-------------------------------------------------------------'
-
- echo '-[ Switching to release branch ]-------------------------------------------------'
- sh """
- git checkout ${GIT_ORIGIN}/${RELEASE_BRANCH} && true
- git reset --hard ${GIT_ORIGIN}/${RELEASE_BRANCH} && true
- git checkout -B ${NEW_RELEASE_BRANCH}
- """
- echo '-[ Release tag cleanup ]--------------------------------------------------------'
- def TAG_NAME = sh(returnStdout: true, script: "git tag | grep ${RELEASE_TAG}\$ || true").trim()
- if (RELEASE_TAG == TAG_NAME) {
- if (OVERWRITE == 'true') {
- echo "${RELEASE_TAG} tag already exists, deleting"
- sshagent([CREDENTIALS_ID]) {
- sh "git push --delete origin ${RELEASE_TAG} && true"
- }
- } else {
- error "${RELEASE_TAG} tag already exists"
- }
- //# Always delete local tag if exists
- sh """
- git tag --delete ${RELEASE_TAG} && true
- """
- }
- sh '''
- sed -i 's|<suppress files="generated" checks=".*"/>|<suppress files="generated" checks=".*"/><suppress files="unpacked-src" checks=".*"/>|g' etc/config/checkstyle-suppressions.xml
- '''
- }
- stage('Check previous stagings') {
- if (DRY_RUN == 'true') {
- echo DRY_RUN + ' ------'
- } else {
- if (OVERWRITE == 'true') {
- STAGING_PREV_NAME = sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging nexus-staging:rc-list | awk '/\\[INFO] $STAGING_NAME_PATTERN[ ]+CLOSED[ ]+$STAGING_DESC[ ]*\$/ {if(a){a = \$2\",\"a} else{a = \$2}}END{print a}'").trim()
- echo 'Previously closed staging name: ' + STAGING_PREV_NAME
- }
-
- STAGING_OPEN_NAME = sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging nexus-staging:rc-list | awk '/$STAGING_NAME_PATTERN OPEN / {if(a){a = \$2\",\"a} else{a = \$2}}END{print a}'").trim()
-
- if (!STAGING_OPEN_NAME?.trim()) {
- echo 'No currently open stagings'
- } else {
- echo 'Currently open redundand staging: ' + STAGING_OPEN_NAME + ', immediately closing'
- sh """
- OPEN_STAGINGS=${STAGING_OPEN_NAME}
- mvn -B -q -Pstaging nexus-staging:rc-drop -DstagingRepositoryId=\${OPEN_STAGINGS}
- """
- }
- }
- }
- /*
- stage('Open new staging') {
- if (DRY_RUN == 'true') {
- echo DRY_RUN + ' ------'
- } else {
- STAGING_NAME = sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging -DstagingProfileId=${STAGING_PROFILE_ID} -DstagingDescription=${STAGING_DESC} nexus-staging:rc-open | awk '/\\[INFO] Opened / {print \$3}'").trim()
- echo 'New staging name: '+STAGING_NAME
- }
- }*/
- stage("Build ${PROJECT_NAME}") {
- echo env.JAVA_HOME
- echo '-[ Run maven release ]---------------------------------------------------------'
- echo '-[ Set Release version ]-------------------------------------------------------'
- sh """
- cd ${RELEASE_FOLDER}
- mvn -q -B -V -Pstaging versions:set -DnewVersion=${RELEASE_VERSION} -DgenerateBackupPoms=false
- mvn -q -B -V -Pstaging versions:set -DnewVersion=${RELEASE_VERSION} -DgenerateBackupPoms=false -f bom/pom.xml
- """
- echo '-[ Update Copyright years ]----------------------------------------------------'
- sh '''#!/bin/bash -e
-
- export CURRENT_YEAR=`date '+%Y'`
- export SED_CMD_LINE='sed -i "s#, 20.. Oracle and/or its affiliates#, ${CURRENT_YEAR} Oracle and/or its affiliates#g"'
-
- git status --porcelain --untracked-files=no > modified_pom.log
- cp modified_pom.log list_of_poms.txt
- sed -i "s| M |$SED_CMD_LINE |g" modified_pom.log
- sed -i "s| M ||g" list_of_poms.txt
-
- bash modified_pom.log
-
- echo ${CURRENT_YEAR} current year
-
- while IFS= read -r path_to_pom
- do
- export CP_YEAR=`grep -o 'Copyright (c) 20.. Oracle and/or its affiliates' ${path_to_pom} | awk '{print $3}'`
- [[ -z ${CP_YEAR} ]] && CP_YEAR=${CURRENT_YEAR} || echo ${CP_YEAR}
- [[ ${CP_YEAR} == ${CURRENT_YEAR} ]] || ( sed -i "s#Copyright (c) ${CP_YEAR} Oracle and/or its affiliates#Copyright (c) ${CP_YEAR}, ${CURRENT_YEAR} Oracle and/or its affiliates#g" ${path_to_pom} ; echo ${path_to_pom} )
- unset CP_YEAR
- done < "list_of_poms.txt"
- '''
- echo '-[ Run release build ]---------------------------------------------------------'
- dir(RELEASE_FOLDER) {
- //env.JAVA_HOME = JDK_12_HOME
- //sh 'mvn clean install -am -Pstaging -pl :jersey-wadl-doclet -DskipTests -B -q -V -Djersey.version=${RELEASE_VERSION}'
- env.JAVA_HOME = JDK_21_HOME
- sh "mvn clean install -B -q -V -DskipTests -am -Pstaging -Djersey.version=${RELEASE_VERSION} --projects ${MULTIRELEASE_MODULES}"
- env.JAVA_HOME = JDK_11_HOME
- //
- sh "mvn -q -B -V -Djersey.version=${RELEASE_VERSION} -DskipTests -Ddoclint=none -Dadditionalparam='-Xdoclint:none' " +
- " -Poss-release,staging -U -C ${TARGET} ${DEPLOY_TARGET}"
- //sh "mvn -Poss-release,staging -pl :jersey-wadl-doclet -am install gpg:sign ${DEPLOY_TARGET} -B -q -V -DskipTests -Djersey.version=${RELEASE_VERSION}"
-
- }
- }
- stage('Prepare release') {
- sh '''
- git checkout -- etc/config/checkstyle-suppressions.xml
- '''
- echo '-[ Perform release commit to git ]---------------------------------------------'
- sh "git commit -a -m ${RELEASE_VERSION}"
- sh "git tag -m ${RELEASE_TAG} -a ${RELEASE_TAG}"
- echo '-[ Set next snapshot version ]-------------------------------------------------'
- dir(RELEASE_FOLDER) {
- sh """
- mvn -q -B -Pstaging -Djersey.version=${RELEASE_VERSION} versions:set -DnewVersion=${NEXT_VERSION} -DgenerateBackupPoms=false
- mvn -q -B -Pstaging -Djersey.version=${RELEASE_VERSION} versions:set -DnewVersion=${NEXT_VERSION} -DgenerateBackupPoms=false -f bom/pom.xml
- """
- }
- echo '-[ Perform commit to git ]-----------------------------------------------------'
- sh "git commit -a -m ${NEXT_VERSION}"
- }
- stage('Publish release') {
- if (DRY_RUN == 'true') {
- echo '-[ Prepared branch ]----------------------------------------------------------'
- sh "git branch --list ${NEW_RELEASE_BRANCH}"
- echo '-[ Prepared tag ]-------------------------------------------------------------'
- sh "git tag --list ${NEW_RELEASE_BRANCH}"
- echo '-[ Prepared commits ]---------------------------------------------------------'
- sh 'git log -n 5'
- sshagent([CREDENTIALS_ID]) {
- sh "git push ${GIT_ORIGIN} ${NEW_RELEASE_BRANCH} --dry-run"
- }
- return
- } else {
- sshagent([CREDENTIALS_ID]) {
- sh "git push -f ${GIT_ORIGIN} ${NEW_RELEASE_BRANCH} --follow-tags"
- }
- }
- }
- stage('Find related staging') {
- if (DRY_RUN != 'true') {
- if (!STAGING_NAME?.trim()) {
- try {
- STAGING_NAME =
- sh(returnStdout: true,
- script: "mvn -Djersey.version=${RELEASE_VERSION} -B --non-recursive -Pstaging nexus-staging:rc-list | awk '/$STAGING_NAME_PATTERN OPEN / {if(a){a = \$2\",\"a} else{a = \$2}}END{print a}'"
- ).trim()
- } catch (Error err) {
- currentBuild.result = 'UNSTABLE'
- }
- }
- echo 'Staging name: ' + STAGING_NAME
- } else {
- echo 'DRY_RUN'
- }
- }
- stage('Close released staging') {
- if (!STAGING_NAME?.trim()) {
- echo 'Nothing to be closed'
- } else {
- sh("mvn -B -q -Pstaging -Djersey.version=${RELEASE_VERSION} nexus-staging:rc-close -DstagingRepositoryId=${STAGING_NAME} -DstagingDescription='${STAGING_DESC}'")
- }
- }
- stage('Drop redundant staging') {
- if (!STAGING_PREV_NAME?.trim()) {
- echo 'Nothing to be dropped'
- } else {
- try {
- sh("""
- OPEN_STAGINGS=${STAGING_PREV_NAME}
- mvn -Djersey.version=${RELEASE_VERSION} -B -q -Pstaging nexus-staging:rc-drop -DstagingRepositoryId=\${OPEN_STAGINGS}
- """)
- } catch (Error err) {
- currentBuild.result = 'UNSTABLE'
- }
- }
- }
-}
\ No newline at end of file
diff --git a/etc/scripts/release/EE8/bundle-apidocs.sh b/etc/scripts/release/EE8/bundle-apidocs.sh
deleted file mode 100644
index dc360cc..0000000
--- a/etc/scripts/release/EE8/bundle-apidocs.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for releasing api docs bundle by release tag.
-#
-# Input Parameters:
-#
-# VERSION - type: String
-# - example: 2.42
-# - description: Name of the existing version tag in the Git repo.
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk8-latest
-# Git:
-# git@github.com:eclipse-ee4j/jersey.git
-# Branches to build:
-# tags/${VERSION}
-#
-# Bindings:
-# Secret file:
-# Variable:
-# KEYRING
-# Credentials:
-# secret-subkeys.asc
-#
-#
-
-
- gpg --batch --import ${KEYRING}
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
-
- # Execution environment
- MVN_HOME="/opt/tools/apache-maven/latest/"
- PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
- if [[ $VERSION == 2* ]] ;
- then
- export PROFILE_BUNDLE=',jetty2x'
- fi
-
- sed -i "s|org.glassfish.jersey.ext.micrometer|org.glassfish.jersey.ext|g" bundles/apidocs/pom.xml
-
- echo '-[ Run maven release plugin ]---------------------------------------------------'
-
- mvn -q -C -DstagingDescription="org.glassfish.jersey.bundles.apidocs:${VERSION}" \
- -Pstaging,oss-release,pre-release${PROFILE_BUNDLE} -DskipTests -Denforcer.skip -pl bundles/apidocs \
- install javadoc:jar gpg:sign deploy -Dsource.mvn.plugin.version=3.2.0
\ No newline at end of file
diff --git a/etc/scripts/release/EE8/bundle-examples.sh b/etc/scripts/release/EE8/bundle-examples.sh
deleted file mode 100644
index 61afc00..0000000
--- a/etc/scripts/release/EE8/bundle-examples.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for releasing examples bundle by release tag.
-#
-# Input Parameters:
-#
-# VERSION - type: String
-# - example: 2.42
-# - description: Name of the existing version tag in the Git repo.
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk8-latest
-# Git:
-# git@github.com:eclipse-ee4j/jersey.git
-# Branches to build:
-# tags/${VERSION}
-#
-# Bindings:
-# Secret file:
-# Variable:
-# KEYRING
-# Credentials:
-# secret-subkeys.asc
-#
-#
-
-
- gpg --batch --import ${KEYRING}
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
-
- # Execution environment
- MVN_HOME="/opt/tools/apache-maven/latest/"
- PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
- mvn clean install -C -B -DskipTests -Denforcer.skip -Ppre-release,staging -pl org.glassfish.jersey.examples:project -amd
-
- mvn -C -B -DstagingDescription="org.glassfish.jersey.examples:${VERSION}" \
- -Pstaging,oss-release,pre-release -Denforcer.skip=true \
- -DskipTests -pl :jersey-examples \
- deploy
\ No newline at end of file
diff --git a/etc/scripts/release/EE8/bundle-user-guide.sh b/etc/scripts/release/EE8/bundle-user-guide.sh
deleted file mode 100644
index f6a121d..0000000
--- a/etc/scripts/release/EE8/bundle-user-guide.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for releasing User Guide bundle by release tag.
-#
-# Input Parameters:
-#
-# VERSION - type: String
-# - example: 2.42
-# - description: Name of the existing version tag in the Git repo.
-#
-# Configuration:
-#
-# JDK:
-# oracle-jdk11-latest
-# Git:
-# git@github.com:eclipse-ee4j/jersey.git
-# Credentials:
-# GitHub bot SSH
-# Branches to build:
-# refs/tags/${VERSION}
-#
-# Bindings:
-# Secret file:
-# Variable:
-# KEYRING
-# Credentials:
-# secret-subkeys.asc
-#
-#
-
-
- gpg --batch --import ${KEYRING}
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
-
- # Execution environment
- MVN_HOME="/opt/tools/apache-maven/latest/"
- PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
- echo '-[ Set version to ]-'${VERSION}
-
- mvn -q -Pstaging versions:set -DnewVersion=${VERSION} -DgenerateBackupPoms=false -Djersey.version=${VERSION}
-
- cd docs
-
- echo '-[ Run maven release plugin ]---------------------------------------------------'
-
- mvn -q -C -DstagingDescription="org.glassfish.jersey.jersey-documentation:${VERSION}" \
- -Pstaging,oss-release,pre-release \
- -DskipTests \
- -Djersey.version=${VERSION} \
- install javadoc:jar gpg:sign deploy
\ No newline at end of file
diff --git a/etc/scripts/release/EE8/release.groovy b/etc/scripts/release/EE8/release.groovy
deleted file mode 100644
index 3a88d31..0000000
--- a/etc/scripts/release/EE8/release.groovy
+++ /dev/null
@@ -1,347 +0,0 @@
-#!/usr/bin/env groovy
-
-/*
- * Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Release script for Jakarta EE8/9 Jersey versions
- * Release branches are 2.x or 3.0
- *
- * Input Parameters:
- * RELEASE_VERSION - type: String
- * - example: 2.42
- * - Description: mandatory release version. Later is being published to staging/central.
- * NEXT_VERSION - type: String
- * - example: 2.43-SNAPSHOT
- * - Description: mandatory next developing version will be committed in to the release branch and later
- * merged into the original release branch for further developing.
- * BRANCH - type: Choice Parameter
- * - values: 2.x
- * 3.0
- * - Description: Original release branch from which the codebase is being checked out
- * DRY_RUN - type: Boolean
- * - Description: if checked nothing is really committed to Git nor published to the staging
- * OVERWRITE - type: Boolean
- * - Description: if checked allows replacing of the previously published RELEASE_VERSION of Jersey
- *
- */
-
-node {
-
- def MVN_HOME = tool name: 'apache-maven-latest', type: 'maven'
- def HELP_PLUGIN = 'org.apache.maven.plugins:maven-help-plugin:2.1.1'
- def TARGET = 'package javadoc:jar gpg:sign install:install'
- def DEPLOY_TARGET = ''
- def RELEASE_VERSION = RELEASE_VERSION
- def NEXT_VERSION = NEXT_VERSION
- def RELEASE_TAG = ''
- def NEW_RELEASE_BRANCH = ''
- def OVERWRITE = OVERWRITE
- def PROJECT_NAME = 'Jersey'
- def LOGIN = 'jersey-bot'
- def EMAIL = 'jersey-bot@eclipse.org'
- def REPO = 'git@github.com:eclipse-ee4j/jersey.git'
- def SECRET_FILE_ID = 'secret-subkeys.asc'
- def CREDENTIALS_ID = 'github-bot-ssh'
- def GIT_ORIGIN = 'origin'
- def RELEASE_FOLDER = env.WORKSPACE
- def RELEASE_BRANCH = BRANCH
-
- def STAGING_NAME_PATTERN = 'orgglassfishjersey-[0-9]+'
- def STAGING_NAME = ''
- def STAGING_PREV_NAME = ''
- def STAGING_OPEN_NAME = ''
- def STAGING_DESC = 'org.glassfish.jersey:' + RELEASE_VERSION
- def STAGING_BOM_DESC = 'org.glassfish.jersey.bom:' + RELEASE_VERSION
- def STAGING_PROFILE_ID = '70fa3a107a8918'
-
- def JDK_11_HOME = tool name: 'openjdk-jdk11-latest', type: 'jdk'
- def JDK_12_HOME = tool name: 'openjdk-jdk12-latest', type: 'jdk'
- def JDK_17_HOME = tool name: 'openjdk-jdk17-latest', type: 'jdk'
- def JDK_8_HOME = tool name: 'oracle-jdk8-latest', type: 'jdk'
-
- def ZX_BRANCH_MODULES = ',:jersey-jetty-connector,:jersey-container-jetty-http,:jersey-container-jetty-servlet,:jersey-test-framework-provider-jetty,:jersey-test-framework-core,:jersey-container-servlet-core'
-
- env.JAVA_HOME = JDK_8_HOME
- env.PATH = "${env.JAVA_HOME}/bin:${env.PATH}:${MVN_HOME}/bin"
-
- if (RELEASE_BRANCH == '2.x') {
- ZX_BRANCH_MODULES = ''
- }
-
- sh 'java -version'
-
- stage('Fetch from git') {
- git(branch: RELEASE_BRANCH, credentialsId: CREDENTIALS_ID, url: REPO)
- }
- stage('Prepare environment') {
-
- dir(RELEASE_FOLDER) {
- //# Check whether top level pom.xml contains SNAPSHOT version
- if (!sh(returnStdout: true, script: "grep '<version>' pom.xml | grep 'SNAPSHOT'")?.trim()) {
- error('-[ Missing SNAPSHOT version in POM! ]-------------------------------------------')
- }
-
- //# Compute release versions
- def SNAPSHOT_VERSION = sh(returnStdout: true, script: 'mvn -q -Dexec.executable="echo" -Dexec.args=\'${project.version}\' --non-recursive exec:exec -Pstaging').trim()
-
- if (!RELEASE_VERSION?.trim()) {
- if (!SNAPSHOT_VERSION?.trim()) {
- error('-[ Missing required snapshot version number! ]----------------------------------')
- } else {
- def versionTokens = SNAPSHOT_VERSION.split('-')
- RELEASE_VERSION = versionTokens[0]
- }
- }
-
- if (!NEXT_VERSION?.trim()) {
- def (MAJOR_VERSION, MINOR_VERSION) = RELEASE_VERSION.tokenize('.')
- def NEXT_MINOR_VERSION = (MINOR_VERSION as Integer) + 1
- NEXT_VERSION = MAJOR_VERSION + '.' + NEXT_MINOR_VERSION + '-SNAPSHOT'
- }
-
- RELEASE_TAG = RELEASE_VERSION
- NEW_RELEASE_BRANCH = RELEASE_VERSION+'-BRANCH'
-
- echo "Current version: ${SNAPSHOT_VERSION}"
- echo "Release version: ${RELEASE_VERSION}"
- echo "Next version: ${NEXT_VERSION}"
- echo "Release tag: ${RELEASE_TAG}"
- echo "Release branch: ${NEW_RELEASE_BRANCH}"
-
- if (!SNAPSHOT_VERSION?.trim() || !RELEASE_VERSION?.trim() || !NEXT_VERSION?.trim()) {
- error '-[ Missing required version numbers! ]------------------------------------------'
- }
-
- if (DRY_RUN == 'true') {
- echo '-[ Dry run turned on ]----------------------------------------------------------'
- //TARGET = 'install'
- } else {
- DEPLOY_TARGET = ' deploy:deploy'
- }
- echo '-[ Configure git user ]--------------------------------------------------------'
- sh "git config --local user.email \"${EMAIL}\""
- sh "git config --local user.name \"$LOGIN\""
-
- }
-
- }
- stage('Prepare GPG') {
- withCredentials([file(credentialsId: SECRET_FILE_ID, variable: 'KEYRING')]) {
- //# Workaround: GPG initialization
- sh("gpg --batch --import ${KEYRING}")
- sh '''
- for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
- do
- echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
- done
- '''
- }
- }
- stage('Prepare branch') {
- echo '-[ Prepare branch ]-------------------------------------------------------------'
-
- echo '-[ Switching to release branch ]-------------------------------------------------'
- sh """
- git checkout ${GIT_ORIGIN}/${RELEASE_BRANCH} && true
- git reset --hard ${GIT_ORIGIN}/${RELEASE_BRANCH} && true
- git checkout -B ${NEW_RELEASE_BRANCH}
- """
- echo '-[ Release tag cleanup ]--------------------------------------------------------'
- def TAG_NAME = sh(returnStdout: true, script: "git tag | grep ${RELEASE_TAG} || true").trim()
- if (RELEASE_TAG == TAG_NAME) {
- if (OVERWRITE == 'true') {
- echo "${RELEASE_TAG} tag already exists, deleting"
- sshagent([CREDENTIALS_ID]) {
- sh "git push --delete origin ${RELEASE_TAG} && true"
- }
- } else {
- error "${RELEASE_TAG} tag already exists"
- }
- //# Always delete local tag if exists
- sh """
- git tag --delete ${RELEASE_TAG} && true
- """
- }
- sh '''
- sed -i 's|<suppress files="generated" checks=".*"/>|<suppress files="generated" checks=".*"/><suppress files="unpacked-src" checks=".*"/>|g' etc/config/checkstyle-suppressions.xml
- '''
- }
- stage('Check previous stagings') {
- if (DRY_RUN == 'true') {
- echo DRY_RUN + ' ------'
- } else {
- if (OVERWRITE == 'true') {
- STAGING_PREV_NAME = sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging nexus-staging:rc-list | awk '/\\[INFO] $STAGING_NAME_PATTERN[ ]+CLOSED[ ]+$STAGING_DESC[ ]*\$/ {if(a){a = \$2\",\"a} else{a = \$2}}END{print a}'").trim()
- echo 'Previously closed staging name: ' + STAGING_PREV_NAME
- }
-
- STAGING_OPEN_NAME = sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging nexus-staging:rc-list | awk '/$STAGING_NAME_PATTERN OPEN / {if(a){a = \$2\",\"a} else{a = \$2}}END{print a}'").trim()
-
- if (!STAGING_OPEN_NAME?.trim()) {
- echo 'No currently open stagings'
- } else {
- echo 'Currently open redundand staging: ' + STAGING_OPEN_NAME + ', immediately closing'
- sh """
- OPEN_STAGINGS=${STAGING_OPEN_NAME}
- mvn -B -q -Pstaging nexus-staging:rc-drop -DstagingRepositoryId=\${OPEN_STAGINGS}
- """
- }
- }
- }
- /*
- stage('Open new staging') {
- if (DRY_RUN == 'true') {
- echo DRY_RUN + ' ------'
- } else {
- STAGING_NAME = sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging -DstagingProfileId=${STAGING_PROFILE_ID} -DstagingDescription=${STAGING_DESC} nexus-staging:rc-open | awk '/\\[INFO] Opened / {print \$3}'").trim()
- echo 'New staging name: '+STAGING_NAME
- }
- }*/
- stage("Build ${PROJECT_NAME}") {
- echo env.JAVA_HOME
- echo '-[ Run maven release ]---------------------------------------------------------'
- echo '-[ Set Release version ]-------------------------------------------------------'
- sh """
- cd ${RELEASE_FOLDER}
- mvn -B -V -Pstaging versions:set -DnewVersion=${RELEASE_VERSION} -DgenerateBackupPoms=false
- cd bom
- mvn -B -V -Pstaging versions:set -DnewVersion=${RELEASE_VERSION} -DgenerateBackupPoms=false
- cd ..
- """
- echo '-[ Update Copyright years ]----------------------------------------------------'
- sh '''#!/bin/bash -e
-
- export CURRENT_YEAR=`date '+%Y'`
- export SED_CMD_LINE='sed -i "s#, 20.. Oracle and/or its affiliates#, ${CURRENT_YEAR} Oracle and/or its affiliates#g"'
-
- git status --porcelain --untracked-files=no > modified_pom.log
- cp modified_pom.log list_of_poms.txt
- sed -i "s| M |$SED_CMD_LINE |g" modified_pom.log
- sed -i "s| M ||g" list_of_poms.txt
-
- bash modified_pom.log
-
- echo ${CURRENT_YEAR} current year
-
- while IFS= read -r path_to_pom
- do
- export CP_YEAR=`grep -o 'Copyright (c) 20.. Oracle and/or its affiliates' ${path_to_pom} | awk '{print $3}'`
- [[ -z ${CP_YEAR} ]] && CP_YEAR=${CURRENT_YEAR} || echo ${CP_YEAR}
- [[ ${CP_YEAR} == ${CURRENT_YEAR} ]] || ( sed -i "s#Copyright (c) ${CP_YEAR} Oracle and/or its affiliates#Copyright (c) ${CP_YEAR}, ${CURRENT_YEAR} Oracle and/or its affiliates#g" ${path_to_pom} ; echo ${path_to_pom} )
- unset CP_YEAR
- done < "list_of_poms.txt"
- '''
- echo '-[ Run release build ]---------------------------------------------------------'
- dir(RELEASE_FOLDER) {
- env.JAVA_HOME = JDK_12_HOME
- //
- sh "mvn -am -Pstaging --projects core-server,core-client,media/jaxb,inject/hk2,ext/wadl-doclet,core-common${ZX_BRANCH_MODULES} clean install -B -q -V -DskipTests"
- if (RELEASE_BRANCH == '3.0') {
- env.JAVA_HOME = JDK_17_HOME
- sh "mvn clean install -B -q -V -DskipTests -am -Pstaging --projects :jersey-spring6,connectors/helidon-connector"
- }
- env.JAVA_HOME = JDK_8_HOME
- sh "mvn -q -B -V -DskipTests -Ddoclint=none -Dadditionalparam='-Xdoclint:none' -Dcheckstyle.skip " +
- //" -DstagingDescription='${STAGING_DESC}' -DstagingRepositoryId='${STAGING_NAME}' "+
- " -Poss-release,staging -U -C ${TARGET} ${DEPLOY_TARGET}"
-
- sh "mvn -Poss-release,staging --projects core-server,core-client,media/jaxb,inject/hk2,ext/wadl-doclet,core-common install gpg:sign ${DEPLOY_TARGET} -B -q -V -DskipTests"
- if (RELEASE_BRANCH == '2.x') {
- env.JAVA_HOME = JDK_11_HOME
- sh "mvn -Poss-release,staging --projects connectors/helidon-connector install gpg:sign ${DEPLOY_TARGET} -B -q -V -DskipTests"
- }
- }
- }
- stage('Prepare release') {
- sh '''
- git checkout -- etc/config/checkstyle-suppressions.xml
- '''
- echo '-[ Perform release commit to git ]---------------------------------------------'
- sh "git commit -a -m ${RELEASE_VERSION}"
- sh "git tag -m ${RELEASE_TAG} -a ${RELEASE_TAG}"
- echo '-[ Set next snapshot version ]-------------------------------------------------'
- dir(RELEASE_FOLDER) {
- sh """
- mvn -B -Pstaging versions:set -DnewVersion=${NEXT_VERSION} -DgenerateBackupPoms=false
- cd bom
- mvn -B -Pstaging versions:set -DnewVersion=${NEXT_VERSION} -DgenerateBackupPoms=false
- cd ..
- """
- }
- echo '-[ Perform commit to git ]-----------------------------------------------------'
- sh "git commit -a -m ${NEXT_VERSION}"
- }
- stage('Publish release') {
- if (DRY_RUN == 'true') {
- echo '-[ Prepared branch ]----------------------------------------------------------'
- sh "git branch --list ${NEW_RELEASE_BRANCH}"
- echo '-[ Prepared tag ]-------------------------------------------------------------'
- sh "git tag --list ${NEW_RELEASE_BRANCH}"
- echo '-[ Prepared commits ]---------------------------------------------------------'
- sh 'git log -n 5'
- sshagent([CREDENTIALS_ID]) {
- sh "git push ${GIT_ORIGIN} ${NEW_RELEASE_BRANCH} --dry-run"
- }
- return
- } else {
- sshagent([CREDENTIALS_ID]) {
- sh "git push -f ${GIT_ORIGIN} ${NEW_RELEASE_BRANCH} --follow-tags"
- }
- }
- }
- stage('Find related staging') {
- if (DRY_RUN != 'true') {
- if (!STAGING_NAME?.trim()) {
- try {
- STAGING_NAME =
- sh(returnStdout: true,
- script: "mvn -B --non-recursive -Pstaging nexus-staging:rc-list | awk '/$STAGING_NAME_PATTERN OPEN / {if(a){a = \$2\",\"a} else{a = \$2}}END{print a}'"
- ).trim()
- } catch (Error err) {
- currentBuild.result = 'UNSTABLE'
- }
- }
- echo 'Staging name: ' + STAGING_NAME
- } else {
- echo 'DRY_RUN'
- }
- }
- stage('Close released staging') {
- if (!STAGING_NAME?.trim()) {
- echo 'Nothing to be closed'
- } else {
- sh("mvn -B -q -Pstaging nexus-staging:rc-close -DstagingRepositoryId=${STAGING_NAME} -DstagingDescription='${STAGING_DESC}'")
- }
- }
- stage('Drop redundant staging') {
- if (!STAGING_PREV_NAME?.trim()) {
- echo 'Nothing to be dropped'
- } else {
- try {
- sh("""
- OPEN_STAGINGS=${STAGING_PREV_NAME}
- mvn -B -q -Pstaging nexus-staging:rc-drop -DstagingRepositoryId=\${OPEN_STAGINGS}
- """)
- } catch (Error err) {
- currentBuild.result = 'UNSTABLE'
- }
- }
- }
-}
\ No newline at end of file
diff --git a/etc/scripts/release/Release-After/list-closed-stagings.sh b/etc/scripts/release/Release-After/list-closed-stagings.sh
deleted file mode 100644
index d5f32ca..0000000
--- a/etc/scripts/release/Release-After/list-closed-stagings.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for listing staging from the staging repo.
-#
-# Input Parameters:
-# ----none----
-# Configuration:
-#
-# JDK:
-# (System)
-# Git:
-# ----none----
-#
-#
-
-cat <<EOT >> pom.xml
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.ee4j</groupId>
- <artifactId>project</artifactId>
- <version>1.0.9</version>
- <relativePath/>
- </parent>
-
- <groupId>org.glassfish.jersey</groupId>
- <artifactId>release-helper-util</artifactId>
- <version>1.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <name>Jersey Release Helper</name>
-
- <description>Generated POM for Jersey Release Helper utils</description>
- <url>https://projects.eclipse.org/projects/ee4j.jersey</url>
-
- <scm>
- <connection>scm:git:git://github.com/eclipse-ee4j/jersey</connection>
- <developerConnection>scm:git:git://github.com/eclipse-ee4j/jersey</developerConnection>
- <url>https://github.com/eclipse-ee4j/jersey</url>
- </scm>
-
-</project>
-EOT
-
-MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
-export STAGING_PARAMS='-DnexusUrl=https://jakarta.oss.sonatype.org/ -DserverId=ossrh'
-export STAGING_PLUGIN='org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7'
-
-
-mvn -B ${STAGING_PARAMS} ${STAGING_PLUGIN}:rc-list | grep orgglassfishjersey > closed_stagings.txt || true
-
-
-#
-#
-# Archive the artifacts:
-# closed_stagings.txt
-#
diff --git a/etc/scripts/release/Release-After/populate-documentation.sh b/etc/scripts/release/Release-After/populate-documentation.sh
deleted file mode 100644
index 025e512..0000000
--- a/etc/scripts/release/Release-After/populate-documentation.sh
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/bash -lex
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for api docs publishing. Publishes api docs from the bundle in the Maven Central to the project's site.
-#
-# Input Parameters:
-# RELEASE_VERSION - type: String
-# - example: 3.1.6
-# - description: version for which project info is being published
-# DRY_RUN - type: Boolean
-# - description: If checked nothing is being published/generated
-# WEBSITE_URL - type: String
-# - value: git@github.com:eclipse-ee4j/jersey.github.io.git
-# - description: GitHub url for the project info/apidocs repository.
-# Mandatory and changes only in exceptional cases
-# BRANCH_SPECIFIER - type: String
-# - example: 2.x
-# - description: Branch for which the api docs are being published. Used only in Git commit message
-# UPDATE_LATEST - type: Boolean
-# - description: If checked updates the latest api docs (distinguishes for EE8/EE9/EE10) along
-# with publication into the RELEASE_VERSION folder.
-# Configuration:
-#
-# JDK:
-# oracle-jdk8-latest
-# Git:
-# ----none----
-#
-# SSH agent:
-# GitHub bot SSH
-#
-#
-#
-
-
-#
-# The first shell execution
-#
-
-
-TOOLS_PREFIX=/opt/tools
-#JAVA_PREFIX=/opt/tools/java/oracle
-MVN_HOME=/opt/tools/apache-maven/latest
-#JAVA_HOME=/opt/tools/java/oracle/jdk-8/latest
-PATH=/opt/tools/apache-maven/latest/bin:${JAVA_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-
-export CENTRAL_URL='https://repo1.maven.org/maven2'
-export STAGING_URL='https://jakarta.oss.sonatype.org/content/repositories/staging'
-
-# !!! if build docbook it's essentially important to turn the pre-release profile ON !!!
-#mvn clean install -Pstaging,pre-release -DskipTests -V -q -e -U -B -f docs/pom.xml -Djersey.version=$RELEASE_VERSION
-# however we download already published docbook from staging/central:
-mkdir -p $WORKSPACE/docs/target/docbook/index
-cd $WORKSPACE/docs/target/docbook/index
-wget -nv ${STAGING_URL}/org/glassfish/jersey/jersey-documentation/${RELEASE_VERSION}/jersey-documentation-${RELEASE_VERSION}-docbook.zip
-unzip -o jersey-documentation-${RELEASE_VERSION}-docbook.zip
-rm jersey-documentation-${RELEASE_VERSION}-docbook.zip
-
-mkdir -p $WORKSPACE/target/site/apidocs
-cd $WORKSPACE/target/site/apidocs
-wget -nv ${STAGING_URL}/org/glassfish/jersey/bundles/apidocs/${RELEASE_VERSION}/apidocs-${RELEASE_VERSION}-javadoc.jar -O apidocs-javadoc.jar
-jar -xf apidocs-javadoc.jar
-rm apidocs-javadoc.jar
-rm -rf META-INF
-
-
-#
-# The second shell execution
-#
-
-
-#!/bin/bash -lex
-
-TOOLS_PREFIX=/opt/tools
-#JAVA_PREFIX=/opt/tools/java/oracle
-MVN_HOME=/opt/tools/apache-maven/latest
-#JAVA_HOME=/opt/tools/java/oracle/jdk-8/latest
-PATH=/opt/tools/apache-maven/latest/bin:${JAVA_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-
-DIRS="$RELEASE_VERSION"
-if $UPDATE_LATEST;
-then
- if [[ $RELEASE_VERSION == 2* ]] ;
- then
- export DIRS="latest $DIRS"
- elif [[ $RELEASE_VERSION == 3.1* ]] ;
- then
- export DIRS="latest31x $DIRS"
- else
- export DIRS="latest30x $DIRS"
- fi
- echo ${DIRS} for ${RELEASE_VERSION} release
-fi
-
-#export PATH=/opt/csw/bin:$PATH
-WEB_DIR=$WORKSPACE/target/jersey-web
-
-
-function copyDocs {
- APIDOCS_DIR=$WEB_DIR/apidocs/$1
- DOCS_DIR=$WEB_DIR/documentation/$1
-
- #
- # API docs
- #
- if test ! -e $APIDOCS_DIR ; then
- mkdir -p $APIDOCS_DIR
- fi
- cd $APIDOCS_DIR
-
- rm -rf jersey || true
- cp -R $WORKSPACE/target/site/apidocs ./jersey
-
- #
- # user guide
- #
- rm -rf $DOCS_DIR || true
- mkdir -p $DOCS_DIR
- cp -r $WORKSPACE/docs/target/docbook/index/* $DOCS_DIR
- rm $DOCS_DIR/*.fo || true
-}
-
-if test -e $WEB_DIR ; then
- rm -rf $WEB_DIR
-fi
-
-# would couse shallow reject: git clone --depth 1 $WEBSITE_URL $WEB_DIR
-git clone $WEBSITE_URL $WEB_DIR
-
-cd $WEB_DIR
-
-for dir in $DIRS; do
- copyDocs $dir
-done
-
-cd $WEB_DIR
-
-git config --local user.email "jersey-bot@eclipse.org"
-git config --local user.name "jersey-bot"
-git add -A .
-git diff --cached --exit-code || git commit -m "[jenkins] automatic javadoc and documentation update [$RELEASE_VERSION @ $BRANCH_SPECIFIER]"
-
-if [ "$DRY_RUN" = "false" ]; then
- echo "Pushing Web sources to $WEBSITE_URL"
- git push origin master
-else
- echo "Dry run .. not pushing to the master"
- git push origin master --dry-run
-fi
-
-
diff --git a/etc/scripts/release/Release-After/publish-release-notes.sh b/etc/scripts/release/Release-After/publish-release-notes.sh
deleted file mode 100644
index d547134..0000000
--- a/etc/scripts/release/Release-After/publish-release-notes.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for publishing listed stagings from the staging repo into the Maven Central.
-#
-# Input Parameters:
-# VERSION - type: String
-# - example: 3.1.6
-# - description: version for which release notes are being published
-# DRY_RUN - type: Boolean
-# - description: If checked nothing is being published/generated
-# PUBLISH_TO_GITHUB - type: Boolean
-# - description: If checked generated notes are propagated to GitHub
-# Configuration:
-#
-# JDK:
-# oracle-jdk8-latest
-# Git:
-# https://github.com/eclipse-ee4j/jersey
-#
-# Bindings:
-# Username and password (separated):
-# Username Variable:
-# BOT_NAME
-# Password Variable:
-# BOT_PASSWORD
-# Credentials:
-# GitHub bot (username/token)
-#
-#
-#
-
-
-cat <<EOT >> pom.xml
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.ee4j</groupId>
- <artifactId>project</artifactId>
- <version>1.0.9</version>
- <relativePath/>
- </parent>
-
- <groupId>org.glassfish.jersey</groupId>
- <artifactId>release-helper-util</artifactId>
- <version>1.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <name>Jersey Release Helper</name>
-
- <description>Generated POM for Jersey Release Helper utils</description>
- <url>https://projects.eclipse.org/projects/ee4j.jersey</url>
-
- <scm>
- <connection>scm:git:git://github.com/eclipse-ee4j/jersey</connection>
- <developerConnection>scm:git:git://github.com/eclipse-ee4j/jersey</developerConnection>
- <url>https://github.com/eclipse-ee4j/jersey</url>
- </scm>
-
-</project>
-EOT
-
-# Execution environment
-readonly MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-readonly RELEASE_DATE=`date -I`
-
-mkdir -p target
-
-mvn -B -V org.glassfish.jersey.tools.plugins:jersey-release-notes-maven-plugin:1.0.1:release-notes -DskipTests \
--DreleaseVersion=${VERSION} -DgithubLogin=${BOT_NAME} -DgithubPassword=${BOT_PASSWORD} \
--DtemplateFilePath=release-note.html -DreleaseDate=${RELEASE_DATE} \
--DdryRun=${DRY_RUN} -DpublishToGithub=${PUBLISH_TO_GITHUB}
-
-cp -a `pwd`/target/release-notes ${WORKSPACE}
\ No newline at end of file
diff --git a/etc/scripts/release/Release-After/release-note.html b/etc/scripts/release/Release-After/release-note.html
deleted file mode 100644
index f0e5996..0000000
--- a/etc/scripts/release/Release-After/release-note.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<html>
-<!--
-
- Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
- <meta name="google-site-verification" content="OiKukTHVW4bdQqx8Fq0zA2EZ_hI6-yYL-MvkCxBxaFs" />
- <title>Release Notes - Jersey @LATEST_VERSION@</title>
-</head>
-
-<body>
-
-<h1>Release Notes - <a href="/">Jersey</a> @LATEST_VERSION@</h1>
-
-Release date: <strong>@RELEASE_DATE@</strong>
-
-<h2>Previous releases</h2>
-
-<ul>
- <li><a href="2.29.1.html">Jersey 2.29.1 Release Notes</a></li>
- <li><a href="2.29.html">Jersey 2.29 Release Notes</a></li>
- <li><a href="2.28.html">Jersey 2.28 Release Notes</a></li>
- <li><a href="2.25.1.html">Jersey 2.25.1 Release Notes</a></li>
- <li><a href="2.25.html">Jersey 2.25 Release Notes</a></li>
- <li><a href="2.24.1.html">Jersey 2.24.1 Release Notes</a></li>
- <li><a href="2.24.html">Jersey 2.24 Release Notes</a></li>
- <li><a href="2.23.2.html">Jersey 2.23.2 Release Notes</a></li>
- <li><a href="2.23.1.html">Jersey 2.23.1 Release Notes</a></li>
- <li><a href="2.23.html">Jersey 2.23 Release Notes</a></li>
- <li><a href="2.22.2.html">Jersey 2.22.2 Release Notes</a></li>
- <li><a href="2.22.1.html">Jersey 2.22.1 Release Notes</a></li>
- <li><a href="2.22.html">Jersey 2.22 Release Notes</a></li>
- <li><a href="2.21.1.html">Jersey 2.21.1 Release Notes</a></li>
- <li><a href="2.21.html">Jersey 2.21 Release Notes</a></li>
- <li><a href="2.20.html">Jersey 2.20 Release Notes</a></li>
- <li><a href="2.19.html">Jersey 2.19 Release Notes</a></li>
- <li><a href="2.18.html">Jersey 2.18 Release Notes</a></li>
- <li><a href="2.17.html">Jersey 2.17 Release Notes</a></li>
- <li><a href="2.16.html">Jersey 2.16 Release Notes</a></li>
- <li><a href="2.14.html">Jersey 2.14 Release Notes</a></li>
- <li><a href="2.13.html">Jersey 2.13 Release Notes</a></li>
- <li><a href="2.12.html">Jersey 2.12 Release Notes</a></li>
- <li><a href="2.11.html">Jersey 2.11 Release Notes</a></li>
- <li><a href="2.10.1.html">Jersey 2.10.1 Release Notes</a></li>
- <li><a href="2.10.html">Jersey 2.10 Release Notes</a></li>
- <li><a href="2.9.1.html">Jersey 2.9.1 Release Notes</a></li>
- <li><a href="2.9.html">Jersey 2.9 Release Notes</a></li>
- <li><a href="2.8.html">Jersey 2.8 Release Notes</a></li>
- <li><a href="2.7.html">Jersey 2.7 Release Notes</a></li>
- <li><a href="2.6.html">Jersey 2.6 Release Notes</a></li>
- <li><a href="2.5.1.html">Jersey 2.5.1 Release Notes</a></li>
- <li><a href="2.5.html">Jersey 2.5 Release Notes</a></li>
- <li><a href="2.4.1.html">Jersey 2.4.1 Release Notes</a></li>
- <li><a href="2.4.html">Jersey 2.4 Release Notes</a></li>
- <li><a href="2.3.1.html">Jersey 2.3.1 Release Notes</a></li>
- <li><a href="2.3.html">Jersey 2.3 Release Notes</a></li>
- <li><a href="2.2.html">Jersey 2.2 Release Notes</a></li>
- <li><a href="2.1.html">Jersey 2.1 Release Notes</a></li>
- <li><a href="2.0.html">Jersey 2.0 Release Notes</a></li>
-</ul>
-
-</body>
-</html>
diff --git a/etc/scripts/release/Release-After/release-project-info.sh b/etc/scripts/release/Release-After/release-project-info.sh
deleted file mode 100644
index ebfe9b1..0000000
--- a/etc/scripts/release/Release-After/release-project-info.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash -lex
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for project info publishing. MUST BE RUN ONLY AFTER THE APIDOCS PUBLISHING.
-#
-# Input Parameters:
-# RELEASE_VERSION - type: String
-# - example: 3.1.6
-# - description: version for which project info is being published
-# DRY_RUN - type: Boolean
-# - description: If checked nothing is being published/generated
-# WEBSITE_URL - type: String
-# - value: git@github.com:eclipse-ee4j/jersey.github.io.git
-# - description: GitHub url for the project info/apidocs repository.
-# Mandatory and changes only in exceptional cases
-# Configuration:
-#
-# JDK:
-# openjdk-jdk11-latest
-# Git:
-# https://github.com/eclipse-ee4j/jersey
-#
-# Branches to build:
-# tags/${RELEASE_VERSION}
-#
-# SSH agent:
-# GitHub bot SSH
-#
-#
-#
-
-
-#
-# The first shell execution
-#
-
-MVN_HOME=/opt/tools/apache-maven/latest
-PATH=${PATH}:${MVN_HOME}/bin:${JAVA_HOME}/bin
-
-mvn clean install -B -V -q -PtestsSkip,checkstyleSkip -Dtests.excluded -DskipTests '-Dmaven.test.skip=true'
-
-mvn -B -V -q -Pproject-info,checkstyleSkip,testsSkip,findbugsSkip,staging site site:stage \
- -DgenerateProjectInfo=true -Dtests.excluded -Ddependency.locations.enabled=false \
- -Dmaven.jxr.skip=true -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -DskipTests \
- -Dfindbugs.skip=true
-
-#
-# The second shell execution
-#
-
-#!/bin/bash -lex
-
-export PATH=/opt/csw/bin:$PATH
-WEB_DIR=$WORKSPACE/target/jersey-web
-PROJECT_INFO_DIR=$WEB_DIR/project-info/$RELEASE_VERSION
-
-if test -e $WEB_DIR ; then
- rm -rf $WEB_DIR
-fi
-
-# would couse shallow reject: git clone --depth 1 $WEBSITE_SOURCE_URL $WEB_DIR
-git clone $WEBSITE_URL $WEB_DIR
-cd $WEB_DIR
-
-if test ! -e $PROJECT_INFO_DIR ; then
- mkdir -p $PROJECT_INFO_DIR
-fi
-
-cd $PROJECT_INFO_DIR
-
-rm -rf jersey || true
-cp -R $WORKSPACE/target/staging ./jersey
-
-cd $WEB_DIR
-
-git config --local user.email "jersey-bot@eclipse.org"
-git config --local user.name "jersey-bot"
-git add -A .
-#git diff --cached --exit-code ||
-git commit -m "[jenkins] automatic project-info update [$RELEASE_VERSION]"
-
-if [ "$DRY_RUN" = "false" ]; then
- echo Pushing Web sources to $WEBSITE_URL
- git push origin master
-else
- echo "Dry run .. not pushing to the master"
- git push origin master --dry-run
-fi
\ No newline at end of file
diff --git a/etc/scripts/release/Release-After/release-staging-to-central.sh b/etc/scripts/release/Release-After/release-staging-to-central.sh
deleted file mode 100644
index b470730..0000000
--- a/etc/scripts/release/Release-After/release-staging-to-central.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-#
-# script for publishing listed stagings from the staging repo into the Maven Central.
-#
-# Input Parameters:
-# STAGING_REPO_ID - type: String
-# - example: orgglassfishjersey-1226,orgglassfishjersey-1227,orgglassfishjersey-1228,orgglassfishjersey-1229,orgglassfishjersey-1230
-# - description: list all staggings (comma separated) to be published to the Maven Central
-# STAGING_DESC - type: String
-# - example:org.glassfish.jersey:2.42
-# - description: description of what is published. Usually <group.id>:<version>
-# Configuration:
-#
-# JDK:
-# (System)
-# Git:
-# ----none----
-#
-#
-
-cat <<EOT >> pom.xml
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.ee4j</groupId>
- <artifactId>project</artifactId>
- <version>1.0.9</version>
- <relativePath/>
- </parent>
-
- <groupId>org.glassfish.jersey</groupId>
- <artifactId>release-helper-util</artifactId>
- <version>1.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <name>Jersey Release Helper</name>
-
- <description>Generated POM for Jersey Release Helper utils</description>
- <url>https://projects.eclipse.org/projects/ee4j.jersey</url>
-
- <scm>
- <connection>scm:git:git://github.com/eclipse-ee4j/jersey</connection>
- <developerConnection>scm:git:git://github.com/eclipse-ee4j/jersey</developerConnection>
- <url>https://github.com/eclipse-ee4j/jersey</url>
- </scm>
-
-</project>
-EOT
-
-MVN_HOME="/opt/tools/apache-maven/latest/"
-PATH="${MVN_HOME}/bin:${JAVA_HOME}:/bin:${PATH}"
-
-export STAGING_PARAMS='-DnexusUrl=https://jakarta.oss.sonatype.org/ -DserverId=ossrh'
-export STAGING_PLUGIN='org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7'
-
-
-mvn ${STAGING_PARAMS} -B -C -V ${STAGING_PLUGIN}:rc-release -DstagingRepositoryId="${STAGING_REPO_ID}" -DstagingDescription="${STAGING_DESC}"
-
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java
index b11c121..4c27595 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java
@@ -31,6 +31,7 @@
import java.lang.annotation.Annotation;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.logging.Logger;
import jakarta.annotation.PostConstruct;
@@ -104,7 +105,13 @@
commonConfig.getRuntimeType(),
CommonProperties.JSON_JACKSON_ENABLED_MODULES, String.class);
- final List<Module> modules = ObjectMapper.findModules();
+ final List<Module> modules;
+ try {
+ modules = ObjectMapper.findModules();
+ } catch (Exception e) {
+ LOGGER.warning(LocalizationMessages.ERROR_MODULES_NOT_LOADED(e.getMessage()));
+ return Collections.emptyList();
+ }
for (String exludeModuleName : EXCLUDE_MODULE_NAMES) {
modules.removeIf(mod -> mod.getModuleName().contains(exludeModuleName));
}
diff --git a/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties b/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties
index f8b59da..a9144fd 100644
--- a/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties
+++ b/media/json-jackson/src/main/resources/org/glassfish/jersey/jackson/localization.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2023, 2024 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,4 +14,5 @@
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#
-error.jackson.streamreadconstraints=Error setting StreamReadConstraints: {0}. Possibly not Jackson 2.15?
\ No newline at end of file
+error.jackson.streamreadconstraints=Error setting StreamReadConstraints: {0}. Possibly not Jackson 2.15?
+error.modules.not.loaded=Jackson modules could not be loaded: {0}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index fcb86f2..85e386b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -305,7 +305,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
+ <version>${clean.mvn.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -484,7 +484,7 @@
<link>https://eclipse-ee4j.github.io/jersey.github.io/apidocs/latest/jersey/</link>
</links>
<excludePackageNames>
- *.internal.*:*.innate.*:*.tests.*
+ *.internal:*.internal.*:*.innate:*.innate.*:*.tests:*.tests.*
</excludePackageNames>
<includeDependencySources>false</includeDependencySources>
<dependencySourceIncludes>
@@ -549,11 +549,6 @@
</configuration>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>${site.mvn.plugin.version}</version>
- </plugin>
- <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.mvn.plugin.version}</version>
@@ -807,24 +802,6 @@
</dependency>
</dependencies>
</plugin>
- <plugin>
- <groupId>org.fortasoft</groupId>
- <artifactId>gradle-maven-plugin</artifactId>
- <version>1.0.8</version>
- </plugin>
- <plugin>
- <groupId>com.github.wvengen</groupId>
- <artifactId>proguard-maven-plugin</artifactId>
- <version>${proguard.mvn.plugin.version}</version>
- <dependencies>
- <dependency>
- <groupId>net.sf.proguard</groupId>
- <artifactId>proguard-base</artifactId>
- <version>6.2.2</version><!-- transitive dependency version increased from 5.0 -->
- <scope>runtime</scope>
- </dependency>
- </dependencies>
- </plugin>
</plugins>
</pluginManagement>
<plugins>
@@ -873,7 +850,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>${buildhelper.mvn.plugin.version}</version>
<configuration>
<portNames>
<portName>jersey.config.test.container.port</portName>
@@ -1523,7 +1499,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
- <version>2.3</version>
+ <version>${jxr.mvn.plugin.version}</version>
<reportSets>
<reportSet>
<reports>
@@ -2195,6 +2171,7 @@
<!-- Versions of Maven plugins -->
<antrun.mvn.plugin.version>3.1.0</antrun.mvn.plugin.version>
<assembly.mvn.plugin.version>3.7.1</assembly.mvn.plugin.version>
+ <clean.mvn.plugin.version>3.3.2</clean.mvn.plugin.version>
<enforcer.mvn.plugin.version>3.4.1</enforcer.mvn.plugin.version>
<exec.mvn.plugin.version>3.2.0</exec.mvn.plugin.version>
<buildhelper.mvn.plugin.version>3.5.0</buildhelper.mvn.plugin.version>