Skip to content

Commit 91e9951

Browse files
authored
Merge pull request #972 from basil/jakarta
Migrate from EE 8 to EE 9
2 parents 0089238 + 5dc2223 commit 91e9951

File tree

8 files changed

+44
-22
lines changed

8 files changed

+44
-22
lines changed

plugin/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@
4949
<dependencies>
5050
<dependency>
5151
<groupId>io.jenkins.tools.bom</groupId>
52-
<artifactId>bom-2.452.x</artifactId>
53-
<version>3696.vb_b_4e2d1a_0542</version>
52+
<artifactId>bom-${jenkins.baseline}.x</artifactId>
53+
<version>3850.vb_c5319efa_e29</version>
5454
<scope>import</scope>
5555
<type>pom</type>
5656
</dependency>

plugin/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java

+21-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import edu.umd.cs.findbugs.annotations.NonNull;
2929
import hudson.AbortException;
3030
import hudson.Extension;
31+
import hudson.Util;
3132
import hudson.model.Action;
3233
import hudson.model.Descriptor;
3334
import hudson.model.Failure;
@@ -68,6 +69,7 @@
6869
import org.kohsuke.stapler.QueryParameter;
6970
import org.kohsuke.stapler.Stapler;
7071
import org.kohsuke.stapler.StaplerRequest;
72+
import org.kohsuke.stapler.StaplerRequest2;
7173
import org.kohsuke.stapler.interceptor.RequirePOST;
7274

7375
/**
@@ -89,7 +91,7 @@ public CpsFlowDefinition(String script) throws Descriptor.FormException {
8991
@DataBoundConstructor
9092
public CpsFlowDefinition(String script, boolean sandbox) throws Descriptor.FormException {
9193
ScriptApproval.validateSandbox(sandbox);
92-
StaplerRequest req = Stapler.getCurrentRequest();
94+
StaplerRequest2 req = Stapler.getCurrentRequest2();
9395
this.script = sandbox ? script : ScriptApproval.get().configuring(script, GroovyLanguage.get(),
9496
ApprovalContext.create().withCurrentUser().withItemAsKey(req != null ? req.findAncestorObject(Item.class) : null), req == null);
9597
this.sandbox = sandbox;
@@ -146,8 +148,26 @@ public static class DescriptorImpl extends FlowDefinitionDescriptor {
146148
* @DataBoundSetters have been invoked (rather than in the @DataBoundConstructor), which is why we use Descriptor.newInstance.
147149
*/
148150
@Override
151+
public FlowDefinition newInstance(@NonNull StaplerRequest2 req, @NonNull JSONObject formData) throws FormException {
152+
if (Util.isOverridden(FlowDefinitionDescriptor.class, getClass(), "newInstance", StaplerRequest.class, JSONObject.class)) {
153+
return newInstance(StaplerRequest.fromStaplerRequest2(req), formData);
154+
} else {
155+
CpsFlowDefinition cpsFlowDefinition = (CpsFlowDefinition) super.newInstance(req, formData);
156+
return newInstanceImpl(cpsFlowDefinition, req, formData);
157+
}
158+
}
159+
160+
/**
161+
* @deprecated use {@link #newInstance(StaplerRequest2, JSONObject)}
162+
*/
163+
@Deprecated
164+
@Override
149165
public FlowDefinition newInstance(@NonNull StaplerRequest req, @NonNull JSONObject formData) throws FormException {
150166
CpsFlowDefinition cpsFlowDefinition = (CpsFlowDefinition) super.newInstance(req, formData);
167+
return newInstanceImpl(cpsFlowDefinition, StaplerRequest.toStaplerRequest2(req), formData);
168+
}
169+
170+
private FlowDefinition newInstanceImpl(CpsFlowDefinition cpsFlowDefinition, @NonNull StaplerRequest2 req, @NonNull JSONObject formData) {
151171
if (!cpsFlowDefinition.sandbox && formData.get("oldScript") != null) {
152172
String oldScript = formData.getString("oldScript");
153173
boolean approveIfAdmin = !StringUtils.equals(oldScript, cpsFlowDefinition.script);

plugin/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsScmFlowDefinition.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
import org.kohsuke.stapler.DataBoundConstructor;
6969
import org.kohsuke.stapler.DataBoundSetter;
7070
import org.kohsuke.stapler.Stapler;
71-
import org.kohsuke.stapler.StaplerRequest;
71+
import org.kohsuke.stapler.StaplerRequest2;
7272

7373
@PersistIn(JOB)
7474
public class CpsScmFlowDefinition extends FlowDefinition {
@@ -218,7 +218,7 @@ private String getFilePathSuffix() {
218218
}
219219

220220
public Collection<? extends SCMDescriptor<?>> getApplicableDescriptors() {
221-
StaplerRequest req = Stapler.getCurrentRequest();
221+
StaplerRequest2 req = Stapler.getCurrentRequest2();
222222
Job<?,?> job = req != null ? req.findAncestorObject(Job.class) : null;
223223
return SCM._for(job).stream().filter(d -> !"org.jenkinsci.plugins.multiplescms.MultiSCM".equals(d.getId())).collect(Collectors.toList());
224224

plugin/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsThreadDumpAction.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
import org.jenkinsci.plugins.workflow.flow.FlowExecution;
3131
import org.jenkinsci.plugins.workflow.flow.FlowExecutionList;
3232
import org.kohsuke.stapler.HttpResponses;
33-
import org.kohsuke.stapler.StaplerRequest;
34-
import org.kohsuke.stapler.StaplerResponse;
33+
import org.kohsuke.stapler.StaplerRequest2;
34+
import org.kohsuke.stapler.StaplerResponse2;
3535
import org.kohsuke.stapler.WebMethod;
3636

3737
/**
@@ -73,7 +73,7 @@ public CpsThreadDump getThreadDump() {
7373
return execution.getThreadDump();
7474
}
7575

76-
@WebMethod(name = "program.xml") public void doProgramDotXml(StaplerRequest req, StaplerResponse rsp) throws Exception {
76+
@WebMethod(name = "program.xml") public void doProgramDotXml(StaplerRequest2 req, StaplerResponse2 rsp) throws Exception {
7777
Jenkins.get().checkPermission(Jenkins.ADMINISTER);
7878
CompletableFuture<String> f = new CompletableFuture<>();
7979
execution.runInCpsVmThread(new FutureCallback<>() {

plugin/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
import org.kohsuke.stapler.HttpResponses;
6868
import org.kohsuke.stapler.QueryParameter;
6969
import org.kohsuke.stapler.Stapler;
70-
import org.kohsuke.stapler.StaplerRequest;
70+
import org.kohsuke.stapler.StaplerRequest2;
7171

7272
/**
7373
* Takes a {@link Step} as configured through the UI and tries to produce equivalent Groovy code.
@@ -476,15 +476,15 @@ public String getSymbol() {
476476
@Restricted(DoNotUse.class) // for stapler
477477
public Iterable<GlobalVariable> getGlobalVariables() {
478478
// TODO order TBD. Alphabetical? Extension.ordinal?
479-
StaplerRequest req = Stapler.getCurrentRequest();
479+
StaplerRequest2 req = Stapler.getCurrentRequest2();
480480
return GlobalVariable.forJob(req != null ? req.findAncestorObject(Job.class) : null);
481481
}
482482

483483
@Restricted(NoExternalUse.class)
484484
public static final String GENERATE_URL = ACTION_URL + "/generateSnippet";
485485

486486
@Restricted(DoNotUse.class) // accessed via REST API
487-
public HttpResponse doGenerateSnippet(StaplerRequest req, @QueryParameter String json) throws Exception {
487+
public HttpResponse doGenerateSnippet(StaplerRequest2 req, @QueryParameter String json) throws Exception {
488488
// TODO is there not an easier way to do this? Maybe Descriptor.newInstancesFromHeteroList on a one-element JSONArray?
489489
JSONObject jsonO = JSONObject.fromObject(json);
490490
Jenkins j = Jenkins.get();
@@ -532,7 +532,7 @@ public HttpResponse doGenerateSnippet(StaplerRequest req, @QueryParameter String
532532
}
533533

534534
@Restricted(DoNotUse.class) // for stapler
535-
public @CheckForNull Item getItem(StaplerRequest req) {
535+
public @CheckForNull Item getItem(StaplerRequest2 req) {
536536
return req.findAncestorObject(Item.class);
537537
}
538538

plugin/src/main/java/org/jenkinsci/plugins/workflow/cps/SnippetizerLink.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import hudson.model.Item;
3030
import hudson.model.Job;
3131
import org.kohsuke.stapler.Stapler;
32-
import org.kohsuke.stapler.StaplerRequest;
32+
import org.kohsuke.stapler.StaplerRequest2;
3333

3434
import edu.umd.cs.findbugs.annotations.NonNull;
3535

@@ -73,7 +73,7 @@ public final String getDisplayUrl() {
7373
return "";
7474
}
7575

76-
StaplerRequest req = Stapler.getCurrentRequest();
76+
StaplerRequest2 req = Stapler.getCurrentRequest2();
7777
if (req == null) {
7878
return u;
7979
}

plugin/src/main/java/org/jenkinsci/plugins/workflow/cps/replay/ReplayAction.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
import java.util.logging.Logger;
5959
import edu.umd.cs.findbugs.annotations.CheckForNull;
6060
import edu.umd.cs.findbugs.annotations.NonNull;
61-
import javax.servlet.ServletException;
61+
import jakarta.servlet.ServletException;
6262

6363
import hudson.util.HttpResponses;
6464
import jenkins.model.Jenkins;
@@ -81,11 +81,11 @@
8181
import org.kohsuke.accmod.restrictions.NoExternalUse;
8282
import org.kohsuke.stapler.AncestorInPath;
8383
import org.kohsuke.stapler.QueryParameter;
84-
import org.kohsuke.stapler.StaplerRequest;
85-
import org.kohsuke.stapler.StaplerResponse;
84+
import org.kohsuke.stapler.StaplerRequest2;
85+
import org.kohsuke.stapler.StaplerResponse2;
8686
import org.kohsuke.stapler.interceptor.RequirePOST;
8787

88-
import static javax.servlet.http.HttpServletResponse.SC_CONFLICT;
88+
import static jakarta.servlet.http.HttpServletResponse.SC_CONFLICT;
8989

9090
/**
9191
* Attached to a {@link Run} when it could be replayed with script edits.
@@ -215,7 +215,7 @@ private boolean isSandboxed() {
215215

216216
@Restricted(DoNotUse.class)
217217
@RequirePOST
218-
public void doRun(StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException {
218+
public void doRun(StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException {
219219
if (!isEnabled() || !(isReplayableSandboxTest())) {
220220
throw new AccessDeniedException("not allowed to replay"); // AccessDeniedException2 requires us to look up the specific Permission
221221
}
@@ -235,7 +235,7 @@ public void doRun(StaplerRequest req, StaplerResponse rsp) throws ServletExcepti
235235

236236
@Restricted(DoNotUse.class)
237237
@RequirePOST
238-
public void doRebuild(StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException {
238+
public void doRebuild(StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException {
239239
if (!isRebuildEnabled()) {
240240
throw new AccessDeniedException("not allowed to replay"); // AccessDeniedException2 requires us to look up the specific Permission
241241
}

pom.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.jenkins-ci.plugins</groupId>
66
<artifactId>plugin</artifactId>
7-
<version>4.88</version>
7+
<version>5.5</version>
88
<relativePath/>
99
</parent>
1010
<groupId>org.jenkins-ci.plugins.workflow</groupId>
@@ -41,7 +41,9 @@
4141
<properties>
4242
<changelist>999999-SNAPSHOT</changelist>
4343
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
44-
<jenkins.version>2.452.4</jenkins.version>
44+
<!-- https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/ -->
45+
<jenkins.baseline>2.479</jenkins.baseline>
46+
<jenkins.version>${jenkins.baseline}.1</jenkins.version>
4547
<groovy.version>2.4.21</groovy.version> <!-- TODO: Add org.codehaus.groovy:groovy and org.codehaus.groovy:groovy:sources to Jenkins core BOM so this can be deleted? (currently it only specifies groovy-all) -->
4648
</properties>
4749
<modules>

0 commit comments

Comments
 (0)