diff --git a/Jenkinsfile b/Jenkinsfile index 853b3897e2..bb39cc8b13 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -41,7 +41,6 @@ def runTests(Map params = [:]) { parallel( 'linux-21': runTests(platform: 'linux', jdk: 21), - 'windows-17': runTests(platform: 'windows', jdk: 17), - 'linux-11': runTests(platform: 'linux', jdk: 11) + 'windows-17': runTests(platform: 'windows', jdk: 17) ) infra.maybePublishIncrementals() diff --git a/pom.xml b/pom.xml index 8115eecb36..4d65e78f4c 100644 --- a/pom.xml +++ b/pom.xml @@ -44,10 +44,9 @@ $ { jenkinsci/${project.artifactId} + 12.0.11 3.8.1 - - 11 3.13.1 2.0.0 false @@ -55,6 +54,20 @@ + + org.eclipse.jetty + jetty-bom + ${jetty.version} + pom + import + + + org.eclipse.jetty.ee8 + jetty-ee8-bom + ${jetty.version} + pom + import + org.ow2.asm asm-bom @@ -159,8 +172,12 @@ org.eclipse.jetty - jetty-maven-plugin - 10.0.22 + jetty-server + + + org.eclipse.jetty.ee8 + jetty-ee8-maven-plugin + ${jetty.version} org.codehaus.plexus @@ -168,6 +185,19 @@ + + org.eclipse.jetty.ee8 + jetty-ee8-servlet + + + org.eclipse.jetty.ee8 + jetty-ee8-webapp + + + org.eclipse.jetty.ee8.websocket + jetty-ee8-websocket-jetty-server + + org.jenkins-ci version-number @@ -289,7 +319,7 @@ hpi java-annotations - org.eclipse.jetty:jetty-maven-plugin + org.eclipse.jetty.ee8:jetty-ee8-maven-plugin diff --git a/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java b/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java index 3e3ae92e76..dc7bd10819 100644 --- a/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java +++ b/src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java @@ -80,19 +80,19 @@ import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.util.filter.ScopeDependencyFilter; +import org.eclipse.jetty.ee8.maven.plugin.JettyRunWarMojo; +import org.eclipse.jetty.ee8.maven.plugin.MavenWebAppContext; +import org.eclipse.jetty.ee8.webapp.WebAppClassLoader; +import org.eclipse.jetty.ee8.webapp.WebAppContext; +import org.eclipse.jetty.ee8.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.eclipse.jetty.http.HttpCompliance; import org.eclipse.jetty.http.UriCompliance; -import org.eclipse.jetty.maven.plugin.JettyRunWarMojo; -import org.eclipse.jetty.maven.plugin.MavenServerConnector; -import org.eclipse.jetty.maven.plugin.MavenWebAppContext; +import org.eclipse.jetty.maven.MavenServerConnector; import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.security.UserStore; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.util.security.Password; -import org.eclipse.jetty.webapp.WebAppClassLoader; -import org.eclipse.jetty.webapp.WebAppContext; -import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer; import org.twdata.maven.mojoexecutor.MojoExecutor; import sun.misc.Unsafe; @@ -286,7 +286,12 @@ public void execute() throws MojoExecutionException, MojoFailureException { "Please use `webApp/contextPath` configuration parameter in place of the deprecated `contextPath` parameter"); if (webApp == null) { try { - webApp = new MavenWebAppContext(); + webApp = new MavenWebAppContext() { + @Override + protected ClassLoader configureClassLoader(ClassLoader loader) { + return getWebAppClassLoader(this); + } + }; } catch (Exception e) { throw new MojoExecutionException("Failed to initialize webApp configuration", e); } @@ -726,7 +731,9 @@ private void finishConfigurationBeforeStart() { .getSessionCookieConfig() .setName("JSESSIONID." + UUID.randomUUID().toString().replace("-", "").substring(0, 8)); + } + private ClassLoader getWebAppClassLoader(WebAppContext wac) { try { // for Jenkins modules, swap the component from jenkins.war by target/classes // via classloader magic @@ -782,7 +789,7 @@ public void addJars(org.eclipse.jetty.util.resource.Resource lib) { super.addJars(lib); } }; - wac.setClassLoader(wacl); + return wacl; } catch (IOException e) { throw new Error(e); } diff --git a/src/spotbugs/excludesFilter.xml b/src/spotbugs/excludesFilter.xml index e85080f996..db6132c874 100644 --- a/src/spotbugs/excludesFilter.xml +++ b/src/spotbugs/excludesFilter.xml @@ -59,6 +59,7 @@ +