Skip to content

Commit 8e3bc78

Browse files
authored
Require Java 17 or newer; migrate to EE 9 (jenkinsci#282)
1 parent 739d8d3 commit 8e3bc78

File tree

6 files changed

+33
-21
lines changed

6 files changed

+33
-21
lines changed

docs/implementation.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1393,7 +1393,7 @@ public class MySCMWebHook implements UnprotectedRootAction {
13931393
}
13941394
13951395
@RequirePOST
1396-
public HttpResponse doNotify(StaplerRequest req) {
1396+
public HttpResponse doNotify(StaplerRequest2 req) {
13971397
// check if the event payload at least provides some proof of origin
13981398
// this may be a query parameter or a HTTP header
13991399
// if the proof of origin is missing, drop the event on the floor and return

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<parent>
3030
<groupId>org.jenkins-ci.plugins</groupId>
3131
<artifactId>plugin</artifactId>
32-
<version>4.88</version>
32+
<version>5.1</version>
3333
<relativePath/>
3434
</parent>
3535

@@ -56,7 +56,7 @@
5656

5757
<properties>
5858
<changelist>999999-SNAPSHOT</changelist>
59-
<jenkins.version>2.426.3</jenkins.version>
59+
<jenkins.version>2.479</jenkins.version>
6060
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
6161
<no-test-jar>false</no-test-jar>
6262
<hpi.compatibleSinceVersion>2.0.0</hpi.compatibleSinceVersion>
@@ -79,8 +79,8 @@
7979
<dependencies>
8080
<dependency>
8181
<groupId>io.jenkins.tools.bom</groupId>
82-
<artifactId>bom-2.426.x</artifactId>
83-
<version>2839.v003b_4d9d24fd</version>
82+
<artifactId>bom-2.462.x</artifactId>
83+
<version>3435.v238d66a_043fb_</version>
8484
<scope>import</scope>
8585
<type>pom</type>
8686
</dependency>

src/main/java/jenkins/scm/api/SCMEvent.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
import java.util.concurrent.locks.Condition;
4646
import java.util.concurrent.locks.Lock;
4747
import java.util.concurrent.locks.ReentrantLock;
48-
import javax.servlet.http.HttpServletRequest;
48+
import io.jenkins.servlet.http.HttpServletRequestWrapper;
49+
import jakarta.servlet.http.HttpServletRequest;
4950
import jenkins.security.ImpersonatingScheduledExecutorService;
5051
import jenkins.util.SystemProperties;
5152
import org.apache.commons.lang.StringUtils;
@@ -151,7 +152,7 @@ public abstract class SCMEvent<P> {
151152
*/
152153
@Deprecated
153154
public SCMEvent(@NonNull Type type, long timestamp, @NonNull P payload) {
154-
this(type, timestamp, payload, originOf(Stapler.getCurrentRequest()));
155+
this(type, timestamp, payload, originOf(Stapler.getCurrentRequest2()));
155156
}
156157

157158
/**
@@ -398,9 +399,9 @@ public String toString() {
398399
* {@code →} followed by a {@code ⇒} and finally the requested URL (omitting the query portion of the URL).
399400
*
400401
* @param req the {@link HttpServletRequest} or {@code null} (this is to allow passing
401-
* {@link Stapler#getCurrentRequest()} without having to check for {@code null})
402+
* {@link Stapler#getCurrentRequest2()} without having to check for {@code null})
402403
* @return the origin of the event or {@code null} if the {@link HttpServletRequest} is null.
403-
* @since 2.0.3
404+
* @since TODO
404405
*/
405406
@CheckForNull
406407
public static String originOf(@CheckForNull HttpServletRequest req) {
@@ -460,6 +461,16 @@ public static String originOf(@CheckForNull HttpServletRequest req) {
460461
return result.toString();
461462
}
462463

464+
/**
465+
* @deprecated use {@link #originOf(HttpServletRequest)}
466+
* @since 2.0.3
467+
*/
468+
@CheckForNull
469+
@Deprecated
470+
public static String originOf(@CheckForNull javax.servlet.http.HttpServletRequest req) {
471+
return req != null ? originOf(HttpServletRequestWrapper.toJakartaHttpServletRequest(req)) : null;
472+
}
473+
463474
/**
464475
* The type of event.
465476
*/

src/main/java/jenkins/scm/api/metadata/AvatarMetadataAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import org.jenkins.ui.icon.IconSet;
4141
import org.jenkins.ui.icon.IconSpec;
4242
import org.kohsuke.stapler.Stapler;
43-
import org.kohsuke.stapler.StaplerRequest;
43+
import org.kohsuke.stapler.StaplerRequest2;
4444
import org.kohsuke.stapler.export.ExportedBean;
4545

4646
/**
@@ -133,7 +133,7 @@ protected final String avatarIconClassNameImageOf(@CheckForNull String iconClass
133133
Icon icon = IconSet.icons.getIconByClassSpec(iconClassName + " " + spec);
134134
if (icon != null) {
135135
JellyContext ctx = new JellyContext();
136-
StaplerRequest currentRequest = Stapler.getCurrentRequest();
136+
StaplerRequest2 currentRequest = Stapler.getCurrentRequest2();
137137
if (currentRequest == null) {
138138
throw new IllegalStateException(
139139
"cannot call avatarIconClassNameImageOf from outside a request handling thread"

src/main/java/jenkins/scm/impl/avatars/AvatarCache.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@
5656
import java.util.concurrent.TimeUnit;
5757
import java.util.logging.Logger;
5858
import javax.imageio.ImageIO;
59-
import javax.servlet.ServletException;
60-
import javax.servlet.http.HttpServletResponse;
59+
import jakarta.servlet.ServletException;
60+
import jakarta.servlet.http.HttpServletResponse;
6161
import jenkins.model.Jenkins;
6262

6363
import org.apache.commons.lang.StringUtils;
6464
import org.kohsuke.stapler.HttpResponse;
6565
import org.kohsuke.stapler.QueryParameter;
66-
import org.kohsuke.stapler.StaplerRequest;
67-
import org.kohsuke.stapler.StaplerResponse;
66+
import org.kohsuke.stapler.StaplerRequest2;
67+
import org.kohsuke.stapler.StaplerResponse2;
6868

6969
import static java.awt.RenderingHints.KEY_ALPHA_INTERPOLATION;
7070
import static java.awt.RenderingHints.KEY_INTERPOLATION;
@@ -305,7 +305,7 @@ public String getUrlName() {
305305
* @param size the requested size (defaults to {@code 48x48} if unspecified).
306306
* @return the response.
307307
*/
308-
public HttpResponse doDynamic(StaplerRequest req, @QueryParameter String size) {
308+
public HttpResponse doDynamic(StaplerRequest2 req, @QueryParameter String size) {
309309
if (StringUtils.isBlank(req.getRestOfPath())) {
310310
return HttpResponses.notFound();
311311
}
@@ -337,7 +337,7 @@ public HttpResponse doDynamic(StaplerRequest req, @QueryParameter String size) {
337337
if (startedTime <= since) {
338338
return new HttpResponse() {
339339
@Override
340-
public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node)
340+
public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node)
341341
throws IOException, ServletException {
342342
rsp.addDateHeader("Last-Modified", startedTime);
343343
rsp.addHeader("Cache-control", "max-age=365000000, immutable, public");
@@ -368,7 +368,7 @@ public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object nod
368368
if (avatar.lastModified <= since) {
369369
return new HttpResponse() {
370370
@Override
371-
public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node)
371+
public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node)
372372
throws IOException, ServletException {
373373
rsp.addDateHeader("Last-Modified", avatar.lastModified);
374374
rsp.addHeader("Cache-control", "max-age=3600, public");
@@ -570,7 +570,7 @@ private ImageResponse(BufferedImage image, boolean flushImage, long lastModified
570570
* {@inheritDoc}
571571
*/
572572
@Override
573-
public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node)
573+
public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node)
574574
throws IOException, ServletException {
575575
ByteArrayOutputStream bos = new ByteArrayOutputStream();
576576
try {

src/test/java/jenkins/scm/api/SCMEventTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@
2828
import edu.umd.cs.findbugs.annotations.NonNull;
2929
import java.util.concurrent.BlockingQueue;
3030
import java.util.concurrent.ThreadPoolExecutor;
31-
import javax.servlet.http.HttpServletRequest;
31+
import jakarta.servlet.http.HttpServletRequest;
3232
import org.junit.Test;
3333
import org.junit.experimental.theories.DataPoints;
3434
import org.junit.experimental.theories.Theories;
3535
import org.junit.experimental.theories.Theory;
3636
import org.junit.runner.RunWith;
37+
import org.kohsuke.stapler.StaplerRequest2;
3738

3839
import static org.hamcrest.MatcherAssert.assertThat;
3940
import static org.hamcrest.Matchers.allOf;
@@ -170,7 +171,7 @@ public void usefulToString() throws Exception {
170171

171172
@Test
172173
public void originOfNull() throws Exception {
173-
assertThat(SCMEvent.originOf(null), is(nullValue()));
174+
assertThat(SCMEvent.originOf((StaplerRequest2) null), is(nullValue()));
174175
}
175176

176177
@Test

0 commit comments

Comments
 (0)