Skip to content

Commit

Permalink
EE 8 to EE 9
Browse files Browse the repository at this point in the history
  • Loading branch information
basil committed Jun 5, 2024
1 parent 58105ec commit 6876741
Show file tree
Hide file tree
Showing 27 changed files with 109 additions and 108 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
buildPlugin(useContainerAgent: true, configurations: [
[platform: 'linux', jdk: 17],
[platform: 'windows', jdk: 17],
[platform: 'linux', jdk: 21, jenkins: '2.461'],
[platform: 'linux', jdk: 21],
])
17 changes: 9 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ THE SOFTWARE.
<properties>
<changelist>999999-SNAPSHOT</changelist>
<!-- if bumping the jenkins.version the corresponding entry in RealJenkinsRuleInit/pom should also be updated -->
<jenkins.version>2.361</jenkins.version>
<!-- TODO https://ci.jenkins.io/job/Core/job/jenkins/job/jakarta/ -->
<jenkins.version>2.461-rc35016.8a_17fc9cfb_b_2</jenkins.version>
<jmh.version>1.37</jmh.version>
<gitHubRepo>jenkinsci/${project.artifactId}</gitHubRepo>
<!-- Normally filled in by "maven-hpi-plugin" with the path to "org-netbeans-insane-hook.jar" extracted from this repository -->
Expand All @@ -77,8 +78,8 @@ THE SOFTWARE.
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee8</groupId>
<artifactId>jetty-ee8-bom</artifactId>
<groupId>org.eclipse.jetty.ee9</groupId>
<artifactId>jetty-ee9-bom</artifactId>
<version>${jetty.version}</version>
<type>pom</type>
<scope>import</scope>
Expand Down Expand Up @@ -129,8 +130,8 @@ THE SOFTWARE.
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee8</groupId>
<artifactId>jetty-ee8-webapp</artifactId>
<groupId>org.eclipse.jetty.ee9</groupId>
<artifactId>jetty-ee9-webapp</artifactId>
<exclusions>
<!-- Provided by Jenkins core -->
<exclusion>
Expand All @@ -140,9 +141,9 @@ THE SOFTWARE.
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee8.websocket</groupId>
<artifactId>jetty-ee8-websocket-jetty-server</artifactId>
<!-- or jetty-ee8-websocket-javax-server -->
<groupId>org.eclipse.jetty.ee9.websocket</groupId>
<artifactId>jetty-ee9-websocket-jetty-server</artifactId>
<!-- or jetty-ee9-websocket-javax-server -->
<exclusions>
<!-- Provided by Jenkins core -->
<exclusion>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/jenkins/benchmark/jmh/JmhBenchmarkState.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
import hudson.model.Hudson;
import hudson.model.RootAction;
import hudson.security.ACL;
import jakarta.servlet.ServletContext;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletContext;
import jenkins.model.Jenkins;
import jenkins.model.JenkinsLocationConfiguration;
import org.eclipse.jetty.ee8.webapp.WebAppContext;
import org.eclipse.jetty.ee9.webapp.WebAppContext;
import org.eclipse.jetty.server.Server;
import org.jvnet.hudson.test.JavaNetReverseProxy;
import org.jvnet.hudson.test.JenkinsRule;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import hudson.tasks.Builder;
import java.io.IOException;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

/**
* {@link Builder} that captures the environment variables used during a build.
Expand All @@ -57,7 +57,7 @@ public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListen
@Extension
public static final class DescriptorImpl extends Descriptor<Builder> {
@Override
public Builder newInstance(StaplerRequest req, @NonNull JSONObject data) {
public Builder newInstance(StaplerRequest2 req, @NonNull JSONObject data) {
throw new UnsupportedOperationException();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import java.util.Map;
import java.util.UUID;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.StaplerResponse2;

/**
* Server-side logic that implements {@link HudsonTestCase#executeOnServer(java.util.concurrent.Callable)}.
Expand All @@ -46,7 +46,7 @@ public void add(UUID uuid, Runnable r) {
runnables.put(uuid,r);
}

public void doIndex(StaplerResponse rsp, @QueryParameter("uuid") String uuid) throws IOException {
public void doIndex(StaplerResponse2 rsp, @QueryParameter("uuid") String uuid) throws IOException {
Runnable r = runnables.remove(UUID.fromString(uuid));
if (r!=null) {
r.run();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
import hudson.model.Descriptor;
import hudson.slaves.ComputerConnector;
import hudson.slaves.ComputerConnectorDescriptor;
import jakarta.servlet.ServletException;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

/**
* Test bed to verify the configuration roundtripness of the {@link ComputerConnector}.
Expand All @@ -47,7 +47,7 @@ public ComputerConnectorTester(HudsonTestCase testCase) {
this.testCase = testCase;
}

public void doConfigSubmit(StaplerRequest req) throws IOException, ServletException {
public void doConfigSubmit(StaplerRequest2 req) throws IOException, ServletException {
connector = req.bindJSON(ComputerConnector.class, req.getSubmittedForm().getJSONObject("connector"));
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/jvnet/hudson/test/CreateFileBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
import hudson.tasks.Builder;
import java.io.IOException;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

/**
* Creates a test builder, which creates a file in the workspace.
Expand Down Expand Up @@ -85,7 +85,7 @@ public Descriptor<Builder> getDescriptor() {
public static final class DescriptorImpl extends Descriptor<Builder> {

@Override
public Builder newInstance(StaplerRequest req, @NonNull JSONObject data) {
public Builder newInstance(StaplerRequest2 req, @NonNull JSONObject data) {
throw new UnsupportedOperationException("This is a temporary test class, "
+ "which should not be configured from UI");
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/jvnet/hudson/test/FailureBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import hudson.model.Result;
import hudson.tasks.Builder;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

/**
* Mock {@link Builder} that always cause a build to fail.
Expand All @@ -44,7 +44,7 @@ public FailureBuilder() {
@Extension
public static final class DescriptorImpl extends Descriptor<Builder> {
@Override
public FailureBuilder newInstance(StaplerRequest req, @NonNull JSONObject data) {
public FailureBuilder newInstance(StaplerRequest2 req, @NonNull JSONObject data) {
return new FailureBuilder();
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/jvnet/hudson/test/GroovyHudsonTestCase.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import hudson.model.BuildListener;
import hudson.tasks.Builder;
import java.io.IOException;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.StaplerResponse2;

/**
* {@link HudsonTestCase} with more convenience methods for Groovy.
Expand All @@ -19,7 +19,7 @@
public abstract class GroovyHudsonTestCase extends HudsonTestCase {
/**
* Executes the given closure on the server, in the context of an HTTP request.
* This is useful for testing some methods that require {@link StaplerRequest} and {@link StaplerResponse}.
* This is useful for testing some methods that require {@link StaplerRequest2} and {@link StaplerResponse2}.
* <p>
* The closure will get the request and response as parameters.
*/
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/jvnet/hudson/test/GroovyJenkinsRule.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
import hudson.model.BuildListener;
import hudson.tasks.Builder;
import java.io.IOException;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.StaplerResponse2;

/**
* {@link JenkinsRule} variant with special options for tests written in Groovy.
Expand All @@ -41,7 +41,7 @@ public class GroovyJenkinsRule extends JenkinsRule {

/**
* Executes the given closure on the server, in the context of an HTTP request.
* This is useful for testing some methods that require {@link StaplerRequest} and {@link StaplerResponse}.
* This is useful for testing some methods that require {@link StaplerRequest2} and {@link StaplerResponse2}
* <p>
* The closure will get the request and response as parameters.
*/
Expand Down
34 changes: 17 additions & 17 deletions src/main/java/org/jvnet/hudson/test/HudsonTestCase.java
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@
import hudson.util.ReflectionUtils;
import hudson.util.StreamTaskListener;
import hudson.util.jna.GNUCLibrary;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletContextEvent;
import java.beans.PropertyDescriptor;
import java.io.BufferedReader;
import java.io.File;
Expand Down Expand Up @@ -126,8 +128,6 @@
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import jenkins.model.Jenkins;
import jenkins.model.JenkinsAdaptor;
import jenkins.model.JenkinsLocationConfiguration;
Expand All @@ -139,10 +139,10 @@
import org.acegisecurity.userdetails.UserDetails;
import org.acegisecurity.userdetails.UsernameNotFoundException;
import org.apache.commons.beanutils.PropertyUtils;
import org.eclipse.jetty.ee8.webapp.Configuration;
import org.eclipse.jetty.ee8.webapp.WebAppContext;
import org.eclipse.jetty.ee8.webapp.WebXmlConfiguration;
import org.eclipse.jetty.ee8.websocket.server.config.JettyWebSocketServletContainerInitializer;
import org.eclipse.jetty.ee9.webapp.Configuration;
import org.eclipse.jetty.ee9.webapp.WebAppContext;
import org.eclipse.jetty.ee9.webapp.WebXmlConfiguration;
import org.eclipse.jetty.ee9.websocket.server.config.JettyWebSocketServletContainerInitializer;
import org.eclipse.jetty.http.HttpCompliance;
import org.eclipse.jetty.http.UriCompliance;
import org.eclipse.jetty.security.HashLoginService;
Expand Down Expand Up @@ -194,8 +194,8 @@
import org.kohsuke.stapler.MetaClass;
import org.kohsuke.stapler.MetaClassLoader;
import org.kohsuke.stapler.Stapler;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.StaplerResponse2;
import org.springframework.dao.DataAccessException;
import org.xml.sax.SAXException;

Expand Down Expand Up @@ -354,9 +354,9 @@ protected void setUp() throws Exception {

jenkins.setCrumbIssuer(new TestCrumbIssuer());

jenkins.servletContext.setAttribute("app", jenkins);
jenkins.servletContext.setAttribute("version","?");
WebAppMain.installExpressionFactory(new ServletContextEvent(jenkins.servletContext));
jenkins.getServletContext().setAttribute("app", jenkins);
jenkins.getServletContext().setAttribute("version","?");
WebAppMain.installExpressionFactory(new ServletContextEvent(jenkins.getServletContext()));
JenkinsLocationConfiguration.get().setUrl(getURL().toString());

// set a default JDK to be the one that the harness is using.
Expand Down Expand Up @@ -1416,7 +1416,7 @@ public HudsonTestCase with(HudsonHomeLoader homeLoader) {
*
* <p>
* This method allows you to do just that. It is useful for testing some methods that
* require {@link StaplerRequest} and {@link StaplerResponse}, or getting the credential
* require {@link StaplerRequest2} and {@link StaplerResponse2}, or getting the credential
* of the current user (via {@link jenkins.model.Jenkins#getAuthentication()}, and so on.
*
* @param c
Expand Down Expand Up @@ -1563,7 +1563,7 @@ public WebClient login(String username) throws Exception {
*
* <p>
* This method allows you to do just that. It is useful for testing some methods that
* require {@link StaplerRequest} and {@link StaplerResponse}, or getting the credential
* require {@link StaplerRequest2} and {@link StaplerResponse2}, or getting the credential
* of the current user (via {@link jenkins.model.Jenkins#getAuthentication()}, and so on.
*
* @param c
Expand All @@ -1583,7 +1583,7 @@ public <V> V executeOnServer(final Callable<V> c) throws Exception {
@Override
public void run() {
try {
StaplerResponse rsp = Stapler.getCurrentResponse();
StaplerResponse2 rsp = Stapler.getCurrentResponse2();
rsp.setStatus(200);
rsp.setContentType("text/html");
r.add(c.call());
Expand Down Expand Up @@ -1763,7 +1763,7 @@ public String getContextPath() throws IOException {
public WebRequest addCrumb(WebRequest req) {
NameValuePair crumb = new NameValuePair(
jenkins.getCrumbIssuer().getDescriptor().getCrumbRequestField(),
jenkins.getCrumbIssuer().getCrumb( null ));
jenkins.getCrumbIssuer().getCrumb((jakarta.servlet.ServletRequest) null ));
req.setRequestParameters(List.of(crumb));
return req;
}
Expand All @@ -1774,7 +1774,7 @@ public WebRequest addCrumb(WebRequest req) {
public URL createCrumbedUrl(String relativePath) throws IOException {
CrumbIssuer issuer = jenkins.getCrumbIssuer();
String crumbName = issuer.getDescriptor().getCrumbRequestField();
String crumb = issuer.getCrumb(null);
String crumb = issuer.getCrumb((jakarta.servlet.ServletRequest) null);

return new URL(getContextPath()+relativePath+"?"+crumbName+"="+crumb);
}
Expand Down Expand Up @@ -1875,7 +1875,7 @@ public boolean isApplicable(AbstractProject<?, ?> project) {
}

@Override
public BuildWrapper newInstance(StaplerRequest req, @NonNull JSONObject formData) {
public BuildWrapper newInstance(StaplerRequest2 req, @NonNull JSONObject formData) {
throw new UnsupportedOperationException();
}
}
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/org/jvnet/hudson/test/JavaNetReverseProxy.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package org.jvnet.hudson.test;

import hudson.Util;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import org.eclipse.jetty.ee8.servlet.ServletContextHandler;
import org.eclipse.jetty.ee8.servlet.ServletHolder;
import org.eclipse.jetty.ee9.servlet.ServletContextHandler;
import org.eclipse.jetty.ee9.servlet.ServletHolder;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
import hudson.model.Descriptor;
import hudson.slaves.ComputerConnector;
import hudson.slaves.ComputerConnectorDescriptor;
import jakarta.servlet.ServletException;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

/**
* Test bed to verify the configuration roundtripness of the {@link ComputerConnector}.
Expand All @@ -48,7 +48,7 @@ public JenkinsComputerConnectorTester(JenkinsRule testCase) {
this.jenkinsRule = testCase;
}

public void doConfigSubmit(StaplerRequest req) throws IOException, ServletException {
public void doConfigSubmit(StaplerRequest2 req) throws IOException, ServletException {
connector = req.bindJSON(ComputerConnector.class, req.getSubmittedForm().getJSONObject("connector"));
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/jvnet/hudson/test/JenkinsRecipe.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ abstract class Runner<T extends Annotation> {
public void setup(JenkinsRule jenkinsRule, T recipe) throws Exception {}

/**
* Called right before {@link jenkins.model.Jenkins#Jenkins(java.io.File, javax.servlet.ServletContext)} is invoked
* Called right before {@link jenkins.model.Jenkins#Jenkins(java.io.File, jakarta.servlet.ServletContext)} is invoked
* to decorate the hudson home directory.
*/
public void decorateHome(JenkinsRule jenkinsRule, File home) throws Exception {}
Expand Down
Loading

0 comments on commit 6876741

Please sign in to comment.