Skip to content

Commit

Permalink
Migrate from EE 8 to EE 9 (#754)
Browse files Browse the repository at this point in the history
  • Loading branch information
basil authored Jan 24, 2025
1 parent 1fb1ac6 commit c657003
Show file tree
Hide file tree
Showing 13 changed files with 44 additions and 52 deletions.
1 change: 0 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ buildPlugin(
configurations: [
[platform: 'linux', jdk: 21],
[platform: 'windows', jdk: 17],
[platform: 'linux', jdk: 11],
])
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
import com.github.fge.jsonschema.main.JsonSchemaFactory;
import hudson.Extension;
import hudson.model.RootAction;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.StaplerResponse2;

import javax.servlet.ServletException;
import jakarta.servlet.ServletException;
import java.io.IOException;

/**
Expand Down Expand Up @@ -60,7 +60,7 @@ public String getDisplayName() {
}

@SuppressWarnings("unused")
public void doJson(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
public void doJson(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException {
rsp.serveFile(req, getClass().getResource("/ast-schema.json"));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.HttpResponse;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.StaplerResponse2;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import org.kohsuke.stapler.interceptor.RequirePOST;

import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import javax.servlet.ServletException;
import jakarta.servlet.ServletException;
import java.io.IOException;
import java.util.*;

Expand Down Expand Up @@ -137,7 +137,7 @@ public HttpResponse doRestartPipeline(@QueryParameter String stageName) {

@Restricted(DoNotUse.class)
@RequirePOST
public void doRestart(StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException {
public void doRestart(StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException {
if (!isRestartEnabled()) {
throw new AccessDeniedException("not allowed to restart"); // AccessDeniedException2 requires us to look up the specific Permission
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@
import org.jenkinsci.plugins.pipeline.modeldefinition.parser.JSONParser;
import org.jenkinsci.plugins.pipeline.modeldefinition.validator.ErrorCollector;
import org.kohsuke.stapler.HttpResponse;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.interceptor.RequirePOST;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
Expand Down Expand Up @@ -82,7 +82,7 @@ public String getDisplayName() {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doToJenkinsfile(StaplerRequest req) {
public HttpResponse doToJenkinsfile(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

JSONObject result = new JSONObject();
Expand Down Expand Up @@ -122,7 +122,7 @@ public HttpResponse doToJenkinsfile(StaplerRequest req) {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doToJson(StaplerRequest req) {
public HttpResponse doToJson(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

JSONObject result = new JSONObject();
Expand Down Expand Up @@ -150,7 +150,7 @@ public HttpResponse doToJson(StaplerRequest req) {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doStepsToJson(StaplerRequest req) {
public HttpResponse doStepsToJson(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

JSONObject result = new JSONObject();
Expand Down Expand Up @@ -178,7 +178,7 @@ public HttpResponse doStepsToJson(StaplerRequest req) {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doStepsToJenkinsfile(StaplerRequest req) {
public HttpResponse doStepsToJenkinsfile(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

JSONObject result = new JSONObject();
Expand Down Expand Up @@ -234,7 +234,7 @@ public HttpResponse doStepsToJenkinsfile(StaplerRequest req) {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doValidateJenkinsfile(StaplerRequest req) {
public HttpResponse doValidateJenkinsfile(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

JSONObject result = new JSONObject();
Expand Down Expand Up @@ -262,7 +262,7 @@ public HttpResponse doValidateJenkinsfile(StaplerRequest req) {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doValidateJson(StaplerRequest req) {
public HttpResponse doValidateJson(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

JSONObject result = new JSONObject();
Expand Down Expand Up @@ -304,7 +304,7 @@ public HttpResponse doValidateJson(StaplerRequest req) {

@SuppressWarnings("unused")
@RequirePOST
public HttpResponse doValidate(StaplerRequest req) {
public HttpResponse doValidate(StaplerRequest2 req) {
Jenkins.get().checkPermission(Jenkins.READ);

List<String> output = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
import org.kohsuke.stapler.HttpResponse;
import org.kohsuke.stapler.HttpResponses;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

import edu.umd.cs.findbugs.annotations.NonNull;
import java.util.*;
Expand All @@ -75,7 +75,7 @@ public List<DirectiveDescriptor> getDirectives() {
}

@Restricted(DoNotUse.class) // accessed via REST API
public HttpResponse doGenerateDirective(StaplerRequest req, @QueryParameter String json) throws Exception {
public HttpResponse doGenerateDirective(StaplerRequest2 req, @QueryParameter String json) throws Exception {
// TODO is there not an easier way to do this? Maybe Descriptor.newInstancesFromHeteroList on a one-element JSONArray?
JSONObject jsonO = JSONObject.fromObject(json);
Jenkins j = Jenkins.get();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@
*/
package org.jenkinsci.plugins.pipeline.modeldefinition;

import hudson.Launcher;
import hudson.model.ParameterDefinition;
import hudson.util.StreamTaskListener;
import jenkins.plugins.git.GitSampleRepoRule;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
Expand All @@ -40,7 +38,6 @@
import java.util.List;
import java.util.Map;

import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assume.assumeTrue;

Expand Down Expand Up @@ -165,19 +162,6 @@ protected void prepRepoWithJenkinsfileFromString(String jf) throws Exception {
sampleRepo.git("commit", "--message=files");
}

protected void assumeSh() throws Exception {
Launcher.LocalLauncher localLauncher = new Launcher.LocalLauncher(StreamTaskListener.NULL);

if (!localLauncher.isUnix()) {
try {
Assume.assumeThat("Running sh command succeeds", localLauncher.launch().cmds("sh", "--version").join(), is(0));
} catch (IOException x) {
Assume.assumeNoException("Have have a shell variant (sh, bash, etc)", x);
}
}
}


protected <T extends ParameterDefinition> T getParameterOfType(List<ParameterDefinition> params, Class<T> c) {
for (ParameterDefinition p : params) {
if (c.isInstance(p)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
package org.jenkinsci.plugins.pipeline.modeldefinition;

import org.htmlunit.html.HtmlPage;
import hudson.Functions;
import hudson.model.Result;
import hudson.model.queue.QueueTaskFuture;
import jenkins.model.Jenkins;
Expand All @@ -41,6 +42,7 @@

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assume.assumeFalse;

/**
* @author Andrew Bayer
Expand Down Expand Up @@ -273,7 +275,7 @@ public void changedAndNotSuccess() throws Exception {
@Issue("JENKINS-50652")
@Test
public void abortedShouldNotTriggerFailure() throws Exception {
assumeSh();
assumeFalse("requires sh/sleep", Functions.isWindows());
WorkflowJob job = j.jenkins.createProject(WorkflowJob.class, "abort");
job.setDefinition(new CpsFlowDefinition("" +
"pipeline {\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

package org.jenkinsci.plugins.pipeline.modeldefinition;

import hudson.Functions;
import hudson.model.Result;
import hudson.model.labels.LabelAtom;
import hudson.slaves.DumbSlave;
Expand Down Expand Up @@ -52,6 +53,7 @@
import java.util.logging.Level;

import static org.junit.Assert.*;
import static org.junit.Assume.assumeFalse;

public class DurabilityTest extends AbstractDeclarativeTest {
@ClassRule
Expand All @@ -70,7 +72,7 @@ public static void resetSplitting() {

@Test
public void survivesRestart() throws Exception {
assumeSh();
assumeFalse("requires sh/sleep", Functions.isWindows());

story.addStep(new Statement() {
@Override public void evaluate() throws Throwable {
Expand Down Expand Up @@ -156,7 +158,7 @@ public void survivesRestart() throws Exception {

@Test
public void restartDeserializingErrorWhenSplitChanges() throws Exception {
assumeSh();
assumeFalse("requires sh/sleep", Functions.isWindows());

// If script splitting was on and it is turned off,
// pipelines that are running during restart will fail to deserialize and continue after restart
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
*/
package org.jenkinsci.plugins.pipeline.modeldefinition;

import hudson.Functions;
import hudson.model.Result;
import hudson.model.Slave;
import org.jenkinsci.plugins.pipeline.modeldefinition.parser.RuntimeASTTransformer;
Expand All @@ -34,6 +35,8 @@
import org.junit.Test;
import org.jvnet.hudson.test.Issue;

import static org.junit.Assume.assumeFalse;

/**
* Tests for {@link org.jenkinsci.plugins.pipeline.modeldefinition.model.Stage#post}
*/
Expand Down Expand Up @@ -239,7 +242,7 @@ public void postFailureSuccessInParallel() throws Exception {
@Issue("JENKINS-52114")
@Test
public void abortedShouldNotTriggerFailure() throws Exception {
assumeSh();
assumeFalse("requires sh/sleep", Functions.isWindows());
WorkflowJob job = j.jenkins.createProject(WorkflowJob.class, "abort");
job.setDefinition(new CpsFlowDefinition("" +
"pipeline {\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import hudson.security.SecurityRealm;
import hudson.security.csrf.CrumbIssuer;
import hudson.util.RunList;
import jakarta.servlet.ServletRequest;
import jenkins.branch.BranchSource;
import jenkins.model.Jenkins;
import jenkins.plugins.git.GitSCMSource;
Expand Down Expand Up @@ -788,7 +789,7 @@ public void testDoRestartPipeline() throws Exception {

CrumbIssuer crumbIssuer = j.jenkins.getCrumbIssuer();
if(crumbIssuer != null) {
params.add(new NameValuePair(crumbIssuer.getDescriptor().getCrumbRequestField(), crumbIssuer.getCrumb(null)));
params.add(new NameValuePair(crumbIssuer.getDescriptor().getCrumbRequestField(), crumbIssuer.getCrumb((ServletRequest) null)));
}

request.setRequestParameters(params);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import org.jenkinsci.plugins.pipeline.modeldefinition.AbstractModelDefTest;
import org.junit.Test;
import org.jvnet.hudson.test.JenkinsRule;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

import java.io.IOException;
import java.net.URL;
Expand All @@ -50,8 +50,8 @@
* Tests steps conversion in {@link ModelConverterAction}
*
* @author Robert Sandell &lt;[email protected]&gt;.
* @see ModelConverterAction#doStepsToJenkinsfile(StaplerRequest)
* @see ModelConverterAction#doStepsToJson(StaplerRequest)
* @see ModelConverterAction#doStepsToJenkinsfile(StaplerRequest2)
* @see ModelConverterAction#doStepsToJson(StaplerRequest2)
*/
public class ModelConverterActionStepsTest extends AbstractModelDefTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import hudson.triggers.SCMTrigger;
import hudson.triggers.TimerTrigger;
import hudson.triggers.Trigger;
import jakarta.servlet.ServletRequest;
import jenkins.model.BuildDiscarderProperty;
import jenkins.model.OptionalJobProperty;
import net.sf.json.JSONArray;
Expand Down Expand Up @@ -650,7 +651,7 @@ private void assertGenerateDirective(@NonNull AbstractDirective desc, @NonNull S
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new NameValuePair("json", staplerJsonForDescr(desc).toString()));
// WebClient.addCrumb *replaces* rather than *adds*:
params.add(new NameValuePair(r.jenkins.getCrumbIssuer().getDescriptor().getCrumbRequestField(), r.jenkins.getCrumbIssuer().getCrumb(null)));
params.add(new NameValuePair(r.jenkins.getCrumbIssuer().getDescriptor().getCrumbRequestField(), r.jenkins.getCrumbIssuer().getCrumb((ServletRequest) null)));
wrs.setRequestParameters(params);
WebResponse response = wc.getPage(wrs).getWebResponse();
assertEquals("text/plain", response.getContentType());
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>4.88</version>
<version>5.5</version>
<relativePath />
</parent>

Expand Down Expand Up @@ -75,7 +75,7 @@
<dependency>
<groupId>io.jenkins.tools.bom</groupId>
<artifactId>bom-${jenkins.baseline}.x</artifactId>
<version>3358.vea_fa_1f41504d</version>
<version>3850.vb_c5319efa_e29</version>
<scope>import</scope>
<type>pom</type>
</dependency>
Expand Down Expand Up @@ -133,8 +133,8 @@
<properties>
<changelist>999999-SNAPSHOT</changelist>
<gitHubRepo>jenkinsci/pipeline-model-definition-plugin</gitHubRepo>
<jenkins.baseline>2.440</jenkins.baseline>
<jenkins.version>${jenkins.baseline}.3</jenkins.version>
<jenkins.baseline>2.479</jenkins.baseline>
<jenkins.version>${jenkins.baseline}.1</jenkins.version>
</properties>

<profiles>
Expand Down

0 comments on commit c657003

Please sign in to comment.