Merge branch 'jetty-10.0.x' into jetty-11.0.x

This commit is contained in:
Olivier Lamy 2023-10-01 15:58:24 +10:00
commit 3fe301a8b2
No known key found for this signature in database
GPG Key ID: 873A8E86B4372146
8 changed files with 108 additions and 42 deletions

6
Jenkinsfile vendored
View File

@ -11,13 +11,13 @@ pipeline {
stages {
stage("Parallel Stage") {
parallel {
stage("Build / Test - JDK19") {
stage("Build / Test - JDK21") {
agent { node { label 'linux' } }
steps {
timeout( time: 180, unit: 'MINUTES' ) {
checkout scm
mavenBuild( "jdk19", "clean install -Dspotbugs.skip=true -Djacoco.skip=true", "maven3")
recordIssues id: "jdk19", name: "Static Analysis jdk19", aggregatingResults: true, enabledForFailure: true, tools: [mavenConsole(), java(), checkStyle()]
mavenBuild( "jdk21", "clean install -Dspotbugs.skip=true -Djacoco.skip=true", "maven3")
recordIssues id: "jdk21", name: "Static Analysis jdk21", aggregatingResults: true, enabledForFailure: true, tools: [mavenConsole(), java(), checkStyle()]
}
}
}

View File

@ -137,6 +137,13 @@ started()
local STATEFILE=$1
local PIDFILE=$2
local STARTTIMEOUT=$3
if (( DEBUG )) ; then
echo "Looking for $STATEFILE"
echo -n "State Parent Directory: "
ls -lad $(dirname $STATEFILE)
fi
# wait till timeout to see "STARTED" in state file, needs --module=state as argument
for ((T = 0; T < $STARTTIMEOUT; T++))
do
@ -162,6 +169,11 @@ started()
done
(( DEBUG )) && echo "Timeout $STARTTIMEOUT expired waiting for start state from $STATEFILE"
echo " timeout"
if running "$PIDFILE" ; then
echo "INFO: Server process is running"
else
echo "** ERROR: Server process is NOT running"
fi
return 1;
}
@ -173,7 +185,7 @@ pidKill()
if [ -r $PIDFILE ] ; then
local PID=$(tail -1 "$PIDFILE")
if [ -z "$PID" ] ; then
echo "ERROR: no pid found in $PIDFILE"
echo "** ERROR: no pid found in $PIDFILE"
return 1
fi
@ -204,7 +216,6 @@ pidKill()
fi
}
readConfig()
{
(( DEBUG )) && echo "Reading $1.."
@ -213,26 +224,25 @@ readConfig()
dumpEnv()
{
echo "JAVA = $JAVA"
echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
echo "JETTY_HOME = $JETTY_HOME"
echo "JETTY_BASE = $JETTY_BASE"
echo "START_D = $START_D"
echo "START_INI = $START_INI"
echo "JETTY_START = $JETTY_START"
echo "JETTY_CONF = $JETTY_CONF"
echo "JETTY_ARGS = ${JETTY_ARGS[*]}"
echo "JETTY_RUN = $JETTY_RUN"
echo "JETTY_PID = $JETTY_PID"
echo "JETTY_START_LOG = $JETTY_START_LOG"
echo "JETTY_STATE = $JETTY_STATE"
echo "JETTY_START_TIMEOUT = $JETTY_START_TIMEOUT"
echo "JETTY_SYS_PROPS = $JETTY_SYS_PROPS"
echo "RUN_ARGS = ${RUN_ARGS[*]}"
echo "JAVA = $JAVA"
echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
echo "JETTY_HOME = $JETTY_HOME"
echo "JETTY_BASE = $JETTY_BASE"
echo "START_D = $START_D"
echo "START_INI = $START_INI"
echo "JETTY_START = $JETTY_START"
echo "JETTY_CONF = $JETTY_CONF"
echo "JETTY_ARGS = ${JETTY_ARGS[*]}"
echo "JETTY_RUN = $JETTY_RUN"
echo "JETTY_PID = $JETTY_PID"
echo "JETTY_START_LOG = $JETTY_START_LOG"
echo "JETTY_STATE = $JETTY_STATE"
echo "JETTY_START_TIMEOUT = $JETTY_START_TIMEOUT"
echo "JETTY_SYS_PROPS = $JETTY_SYS_PROPS"
echo "RUN_ARGS = ${RUN_ARGS[*]}"
}
##################################################
# Get the action & configs
##################################################
@ -358,7 +368,15 @@ fi
if [ -z "$JETTY_RUN" ]
then
JETTY_RUN=$(findDirectory -w /var/run /usr/var/run $JETTY_BASE /tmp)/jetty
[ -d "$JETTY_RUN" ] || mkdir $JETTY_RUN
fi
if [ ! -d "$JETTY_RUN" ] ; then
if ! mkdir $JETTY_RUN
then
echo "** ERROR: Unable to create directory: $JETTY_RUN"
echo " Correct issues preventing the creation of \$JETTY_RUN and try again."
exit 1
fi
fi
#####################################################
@ -495,6 +513,11 @@ RUN_ARGS=($JETTY_SYS_PROPS ${JETTY_DRY_RUN[@]})
if (( DEBUG ))
then
if expr "${RUN_ARGS[*]}" : '.*/etc/console-capture.xml.*' > /dev/null
then
echo "WARNING: Disable console-capture module for best DEBUG results"
fi
echo "IDs are $(id)"
dumpEnv
fi
@ -503,13 +526,27 @@ fi
##################################################
case "$ACTION" in
start)
echo -n "Starting Jetty: "
if (( NO_START )); then
echo "Not starting ${NAME} - NO_START=1";
exit
fi
if ! touch "$JETTY_PID"
then
echo "** ERROR: Unable to touch file: $JETTY_PID"
echo " Correct issues preventing use of \$JETTY_PID and try again."
exit 1
fi
if ! touch "$JETTY_STATE"
then
echo "** ERROR: Unable to touch file: $JETTY_STATE"
echo " Correct issues preventing use of \$JETTY_STATE and try again."
exit 1
fi
echo -n "Starting Jetty: "
# Startup from a service file
if [ $UID -eq 0 ] && type start-stop-daemon > /dev/null 2>&1
then
@ -519,15 +556,16 @@ case "$ACTION" in
CH_USER="--chuid $JETTY_USER"
fi
echo ${RUN_ARGS[@]} start-log-file="$JETTY_START_LOG" | xargs start-stop-daemon \
echo ${RUN_ARGS[@]} --start-log-file="$JETTY_START_LOG" | xargs start-stop-daemon \
--start $CH_USER \
--pidfile "$JETTY_PID" \
--chdir "$JETTY_BASE" \
--background \
--output "${JETTY_RUN}/start-stop.log"
--make-pidfile \
--startas "$JAVA" \
--
(( DEBUG )) && echo "Starting: start-stop-daemon"
else
if running $JETTY_PID
@ -545,16 +583,19 @@ case "$ACTION" in
SU_SHELL="-s $JETTY_SHELL"
fi
touch "$JETTY_PID"
chown "$JETTY_USER" "$JETTY_PID"
su - "$JETTY_USER" $SU_SHELL -c "
cd \"$JETTY_BASE\"
echo ${RUN_ARGS[*]} start-log-file=\"$JETTY_START_LOG\" | xargs ${JAVA} > /dev/null &
disown \$!"
echo ${RUN_ARGS[*]} --start-log-file=\"$JETTY_START_LOG\" | xargs ${JAVA} > /dev/null &
PID=\$!
disown \$PID"
(( DEBUG )) && echo "Starting: su shell (w/user $JETTY_USER) on PID $PID"
else
# Startup if not switching users
echo ${RUN_ARGS[*]} | xargs ${JAVA} > /dev/null &
disown $!
echo ${RUN_ARGS[*]} --start-log-file="${JETTY_START_LOG}" | xargs ${JAVA} > /dev/null &
PID=$!
disown $PID
(( DEBUG )) && echo "Starting: java command on PID $PID"
fi
fi
@ -592,7 +633,7 @@ case "$ACTION" in
else
# Stop from a non-service path
if [ ! -r "$JETTY_PID" ] ; then
echo "ERROR: no pid found at $JETTY_PID"
echo "** ERROR: no pid found at $JETTY_PID"
exit 1
fi

View File

@ -166,6 +166,28 @@
</pluginManagement>
</build>
</profile>
<profile>
<id>jdk20</id>
<activation>
<jdk>[20,)</jdk>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<!-- sun.security.x509.X509CertInfo.set not present in Java 20, needs a Java 20 compatible version of Apache Directory Server -->
<exclude>**/JAASLdapLoginServiceTest*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>

View File

@ -31,6 +31,8 @@ import org.eclipse.jetty.security.DefaultIdentityService;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.UserIdentity;
import org.junit.Test;
import org.junit.jupiter.api.condition.EnabledForJreRange;
import org.junit.jupiter.api.condition.JRE;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertFalse;
@ -41,6 +43,7 @@ import static org.junit.Assert.assertTrue;
/**
* JAASLdapLoginServiceTest
*/
@EnabledForJreRange(max = JRE.JAVA_17, disabledReason = "sun.security.x509.X509CertInfo.set not present in Java 21, needs a Java 21 compatible version of Apache Directory Server")
@RunWith(FrameworkRunner.class)
@CreateLdapServer(transports = {@CreateTransport(protocol = "LDAP")})
@CreateDS(allowAnonAccess = false, partitions = {

View File

@ -12,7 +12,7 @@
<packaging>pom</packaging>
<properties>
<osgi-version>3.18.400</osgi-version>
<osgi-version>3.18.500</osgi-version>
<osgi-services-version>3.11.100</osgi-services-version>
<osgi-service-cm-version>1.6.1</osgi-service-cm-version>
<osgi-service-component-version>1.5.0</osgi-service-component-version>

View File

@ -12,7 +12,7 @@
<description>Generates a (maven based) P2 Updatesite</description>
<packaging>pom</packaging>
<properties>
<tycho-version>4.0.2</tycho-version>
<tycho-version>4.0.3</tycho-version>
</properties>
<build>
<plugins>

12
pom.xml
View File

@ -28,9 +28,9 @@
<apache.avro.version>1.11.2</apache.avro.version>
<apache.httpclient.version>4.5.14</apache.httpclient.version>
<apache.httpcore.version>4.4.16</apache.httpcore.version>
<asciidoctorj-diagram.version>2.2.11</asciidoctorj-diagram.version>
<asciidoctorj-diagram.version>2.2.13</asciidoctorj-diagram.version>
<asciidoctorj.version>2.5.6</asciidoctorj.version>
<mina.core.version>2.2.2</mina.core.version>
<mina.core.version>2.2.3</mina.core.version>
<asm.version>9.5</asm.version>
<awaitility.version>4.2.0</awaitility.version>
<bndlib.version>6.3.1</bndlib.version>
@ -38,7 +38,7 @@
<checkstyle.version>10.3.4</checkstyle.version>
<commons-codec.version>1.16.0</commons-codec.version>
<commons.compress.version>1.24.0</commons.compress.version>
<commons.io.version>2.13.0</commons.io.version>
<commons.io.version>2.14.0</commons.io.version>
<commons-lang3.version>3.13.0</commons-lang3.version>
<conscrypt.version>2.5.2</conscrypt.version>
<disruptor.version>3.4.2</disruptor.version>
@ -82,7 +82,7 @@
<jboss.logging.processor.version>2.2.1.Final</jboss.logging.processor.version>
<jboss.logging.version>3.5.3.Final</jboss.logging.version>
<jboss-logmanager.version>3.0.2.Final</jboss-logmanager.version>
<jboss-threads.version>3.5.0.Final</jboss-threads.version>
<jboss-threads.version>3.5.1.Final</jboss-threads.version>
<jetty-assembly-descriptors.version>1.1</jetty-assembly-descriptors.version>
<jetty.perf-helper.version>1.0.7</jetty.perf-helper.version>
<jetty-quiche-native.version>0.18.0</jetty-quiche-native.version>
@ -151,13 +151,13 @@
<maven.invoker.plugin.version>3.6.0</maven.invoker.plugin.version>
<groovy.version>4.0.6</groovy.version>
<maven.jar.plugin.version>3.3.0</maven.jar.plugin.version>
<maven.javadoc.plugin.version>3.5.0</maven.javadoc.plugin.version>
<maven.javadoc.plugin.version>3.6.0</maven.javadoc.plugin.version>
<maven.plugin-tools.version>3.9.0</maven.plugin-tools.version>
<maven-plugin.plugin.version>3.9.0</maven-plugin.plugin.version>
<maven.release.plugin.version>3.0.1</maven.release.plugin.version>
<maven.remote-resources-plugin.version>3.1.0</maven.remote-resources-plugin.version>
<maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
<maven.shade.plugin.version>3.5.0</maven.shade.plugin.version>
<maven.shade.plugin.version>3.5.1</maven.shade.plugin.version>
<maven.surefire.plugin.version>3.1.2</maven.surefire.plugin.version>
<maven.source.plugin.version>3.3.0</maven.source.plugin.version>
<maven.war.plugin.version>3.4.0</maven.war.plugin.version>

View File

@ -1436,7 +1436,7 @@ public class DistributionTests extends AbstractJettyHomeTest
}
@Test
@DisabledForJreRange(max = JRE.JAVA_18)
@EnabledForJreRange(min = JRE.JAVA_19, max = JRE.JAVA_20)
public void testVirtualThreadPoolPreview() throws Exception
{
String jettyVersion = System.getProperty("jettyVersion");