Skip to content

Commit 35bf48a

Browse files
Require Jenkins 2.479.1 and Jakarta EE 9
1 parent e86827e commit 35bf48a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+317
-302
lines changed

pom.xml

Lines changed: 14 additions & 13 deletions
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.7</version>
88
<relativePath />
99
</parent>
1010

@@ -17,7 +17,7 @@
1717
<licenses>
1818
<license>
1919
<name>GPL v2.0 License</name>
20-
<url>http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
20+
<url>https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
2121
</license>
2222
</licenses>
2323

@@ -52,8 +52,8 @@
5252
<properties>
5353
<changelist>999999-SNAPSHOT</changelist>
5454
<!-- https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/ -->
55-
<jenkins.baseline>2.452</jenkins.baseline>
56-
<jenkins.version>${jenkins.baseline}.4</jenkins.version>
55+
<jenkins.baseline>2.479</jenkins.baseline>
56+
<jenkins.version>${jenkins.baseline}.1</jenkins.version>
5757
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
5858
</properties>
5959

@@ -63,7 +63,7 @@
6363
<!-- Pick up common dependencies for the selected LTS line: https://github.com/jenkinsci/bom#usage -->
6464
<groupId>io.jenkins.tools.bom</groupId>
6565
<artifactId>bom-${jenkins.baseline}.x</artifactId>
66-
<version>3944.v1a_e4f8b_452db_</version>
66+
<version>4136.vca_c3202a_7fd1</version>
6767
<type>pom</type>
6868
<scope>import</scope>
6969
</dependency>
@@ -106,15 +106,16 @@
106106
</dependency>
107107

108108
<!-- REST client dependencies -->
109-
<dependency>
110-
<groupId>org.jboss.spec.javax.ws.rs</groupId>
111-
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
112-
<version>1.0.1.Final</version>
113-
</dependency>
114109
<dependency>
115110
<groupId>org.jboss.resteasy</groupId>
116111
<artifactId>resteasy-client</artifactId>
117-
<version>3.0.23.Final</version>
112+
<version>6.2.11.Final</version>
113+
<exclusions>
114+
<exclusion>
115+
<groupId>org.apache.httpcomponents</groupId>
116+
<artifactId>httpclient</artifactId>
117+
</exclusion>
118+
</exclusions>
118119
</dependency>
119120
<dependency>
120121
<groupId>io.jenkins.plugins</groupId>
@@ -129,8 +130,8 @@
129130
<artifactId>apache-httpcomponents-client-4-api</artifactId>
130131
</dependency>
131132
<dependency>
132-
<groupId>com.fasterxml.jackson.jaxrs</groupId>
133-
<artifactId>jackson-jaxrs-json-provider</artifactId>
133+
<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
134+
<artifactId>jackson-jakarta-rs-json-provider</artifactId>
134135
<!-- Needs to match the jackson version from plugin BOM -->
135136
<version>2.17.0</version>
136137
</dependency>

src/main/java/com/gitee/jenkins/cause/CauseData.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.gitee.jenkins.cause;
22

33
import com.gitee.jenkins.gitee.api.model.PullRequest;
4+
import edu.umd.cs.findbugs.annotations.NonNull;
45
import hudson.markup.EscapedMarkupFormatter;
56
import jenkins.model.Jenkins;
67
import net.karneim.pojobuilder.GeneratePojoBuilder;
@@ -124,7 +125,7 @@ public final class CauseData {
124125
}
125126

126127
public Map<String, String> getBuildVariables() {
127-
MapWrapper<String, String> variables = new MapWrapper<>(new HashMap<String, String>());
128+
MapWrapper<String, String> variables = new MapWrapper<>(new HashMap<>());
128129
variables.put("giteeBranch", branch);
129130
variables.put("giteeSourceBranch", sourceBranch);
130131
variables.put("giteeActionType", actionType.name());
@@ -518,7 +519,7 @@ String getShortDescription(CauseData data) {
518519
@Override
519520
String getShortDescription(CauseData data) {
520521
String forkNamespace = StringUtils.equals(data.getSourceNamespace(), data.getTargetBranch()) ? "" : data.getSourceNamespace() + "/";
521-
if (Jenkins.getActiveInstance().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
522+
if (Jenkins.get().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
522523
return Messages.GiteeWebHookCause_ShortDescription_PullRequestHook_plain(String.valueOf(data.getPullRequestIid()),
523524
forkNamespace + data.getSourceBranch(),
524525
data.getTargetBranch());
@@ -534,7 +535,7 @@ String getShortDescription(CauseData data) {
534535
String getShortDescription(CauseData data) {
535536
String triggeredBy = data.getTriggeredByUser();
536537
String forkNamespace = StringUtils.equals(data.getSourceNamespace(), data.getTargetBranch()) ? "" : data.getSourceNamespace() + "/";
537-
if (Jenkins.getActiveInstance().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
538+
if (Jenkins.get().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
538539
return Messages.GiteeWebHookCause_ShortDescription_NoteHook_plain(triggeredBy,
539540
String.valueOf(data.getPullRequestIid()),
540541
forkNamespace + data.getSourceBranch(),
@@ -589,6 +590,7 @@ public V put(K key, V value) {
589590
return map.put(key, value);
590591
}
591592

593+
@NonNull
592594
@Override
593595
public Set<Entry<K, V>> entrySet() {
594596
return map.entrySet();

src/main/java/com/gitee/jenkins/connection/GiteeApiToken.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.cloudbees.plugins.credentials.CredentialsNameProvider;
44
import com.cloudbees.plugins.credentials.NameWith;
55
import com.cloudbees.plugins.credentials.common.StandardCredentials;
6+
import edu.umd.cs.findbugs.annotations.NonNull;
67
import hudson.Util;
78
import hudson.util.Secret;
89

@@ -15,8 +16,10 @@ public interface GiteeApiToken extends StandardCredentials {
1516
Secret getApiToken();
1617

1718
class NameProvider extends CredentialsNameProvider<GiteeApiToken> {
19+
20+
@NonNull
1821
@Override
19-
public String getName(GiteeApiToken c) {
22+
public String getName(@NonNull GiteeApiToken c) {
2023
String description = Util.fixEmptyAndTrim(c.getDescription());
2124
return Messages.GiteeApiToken_name() + (description != null ? " (" + description + ")" : "");
2225
}

src/main/java/com/gitee/jenkins/connection/GiteeApiTokenImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.cloudbees.plugins.credentials.CredentialsScope;
44
import com.cloudbees.plugins.credentials.impl.BaseStandardCredentials;
5+
import edu.umd.cs.findbugs.annotations.NonNull;
56
import hudson.Extension;
67
import hudson.util.Secret;
78
import org.kohsuke.stapler.DataBoundConstructor;
@@ -26,6 +27,8 @@ public Secret getApiToken() {
2627

2728
@Extension
2829
public static class DescriptorImpl extends BaseStandardCredentialsDescriptor {
30+
31+
@NonNull
2932
@Override
3033
public String getDisplayName() {
3134
return Messages.GiteeApiToken_name();

src/main/java/com/gitee/jenkins/connection/GiteeConnection.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
import com.cloudbees.plugins.credentials.SystemCredentialsProvider;
99
import com.cloudbees.plugins.credentials.common.StandardCredentials;
1010
import com.cloudbees.plugins.credentials.domains.Domain;
11-
import com.cloudbees.plugins.credentials.domains.DomainRequirement;
1211
import com.gitee.jenkins.gitee.api.GiteeClient;
1312
import com.gitee.jenkins.gitee.api.GiteeClientBuilder;
1413
import com.gitee.jenkins.gitee.api.impl.GiteeV5ClientBuilder;
1514
import hudson.init.InitMilestone;
1615
import hudson.init.Initializer;
17-
import hudson.model.Item;
1816
import hudson.security.ACL;
1917
import hudson.util.Secret;
2018
import jenkins.model.Jenkins;
@@ -28,7 +26,7 @@
2826
import java.util.List;
2927
import java.util.UUID;
3028

31-
import static com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials;
29+
import static com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentialsInItem;
3230
import static com.gitee.jenkins.gitee.api.GiteeClientBuilder.getGiteeClientBuilderById;
3331

3432

@@ -121,14 +119,14 @@ public GiteeClient getClient() {
121119

122120
private String getApiToken(String apiTokenId) {
123121
StandardCredentials credentials = CredentialsMatchers.firstOrNull(
124-
lookupCredentials(StandardCredentials.class, (Item) null, ACL.SYSTEM, new ArrayList<DomainRequirement>()),
122+
lookupCredentialsInItem(StandardCredentials.class, null, ACL.SYSTEM2, new ArrayList<>()),
125123
CredentialsMatchers.withId(apiTokenId));
126124
if (credentials != null) {
127-
if (credentials instanceof GiteeApiToken) {
128-
return ((GiteeApiToken) credentials).getApiToken().getPlainText();
125+
if (credentials instanceof GiteeApiToken token) {
126+
return token.getApiToken().getPlainText();
129127
}
130-
if (credentials instanceof StringCredentials) {
131-
return ((StringCredentials) credentials).getSecret().getPlainText();
128+
if (credentials instanceof StringCredentials stringCredentials) {
129+
return stringCredentials.getSecret().getPlainText();
132130
}
133131
}
134132
throw new IllegalStateException("No credentials found for credentialsId: " + apiTokenId);
@@ -148,10 +146,10 @@ protected GiteeConnection readResolve() {
148146

149147
@Initializer(after = InitMilestone.PLUGINS_STARTED)
150148
public static void migrate() throws IOException {
151-
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.getInstance().getDescriptor(GiteeConnectionConfig.class);
149+
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.get().getDescriptor(GiteeConnectionConfig.class);
152150
for (GiteeConnection connection : descriptor.getConnections()) {
153151
if (connection.apiTokenId == null && connection.apiToken != null) {
154-
for (CredentialsStore credentialsStore : CredentialsProvider.lookupStores(Jenkins.getInstance())) {
152+
for (CredentialsStore credentialsStore : CredentialsProvider.lookupStores(Jenkins.get())) {
155153
if (credentialsStore instanceof SystemCredentialsProvider.StoreImpl) {
156154
List<Domain> domains = credentialsStore.getDomains();
157155
connection.apiTokenId = UUID.randomUUID().toString();

src/main/java/com/gitee/jenkins/connection/GiteeConnectionConfig.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import org.eclipse.jgit.util.StringUtils;
2222
import org.jenkinsci.plugins.plaincredentials.StringCredentials;
2323
import org.kohsuke.stapler.QueryParameter;
24-
import org.kohsuke.stapler.StaplerRequest;
24+
import org.kohsuke.stapler.StaplerRequest2;
2525

26-
import javax.ws.rs.ProcessingException;
27-
import javax.ws.rs.WebApplicationException;
26+
import jakarta.ws.rs.ProcessingException;
27+
import jakarta.ws.rs.WebApplicationException;
2828
import java.util.ArrayList;
2929
import java.util.HashMap;
3030
import java.util.List;
@@ -49,7 +49,7 @@ public GiteeConnectionConfig() {
4949
}
5050

5151
@Override
52-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
52+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
5353
connections = req.bindJSONToList(GiteeConnection.class, json.get("connections"));
5454
// useAuthenticatedEndpoint = json.getBoolean("useAuthenticatedEndpoint");
5555
refreshConnectionMap();
@@ -152,11 +152,11 @@ public FormValidation doTestConnection(@QueryParameter String url,
152152
}
153153

154154
public ListBoxModel doFillApiTokenIdItems(@QueryParameter String name, @QueryParameter String url) {
155-
if (Jenkins.getInstance().hasPermission(Item.CONFIGURE)) {
155+
if (Jenkins.get().hasPermission(Item.CONFIGURE)) {
156156
AbstractIdCredentialsListBoxModel<StandardListBoxModel, StandardCredentials> options = new StandardListBoxModel()
157157
.includeEmptyValue()
158-
.includeMatchingAs(ACL.SYSTEM,
159-
Jenkins.getActiveInstance(),
158+
.includeMatchingAs(ACL.SYSTEM2,
159+
Jenkins.get(),
160160
StandardCredentials.class,
161161
URIRequirementBuilder.fromUri(url).build(),
162162
new GiteeCredentialMatcher());

src/main/java/com/gitee/jenkins/connection/GiteeConnectionProperty.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import com.gitee.jenkins.gitee.api.GiteeClient;
5+
import edu.umd.cs.findbugs.annotations.NonNull;
56
import hudson.Extension;
67
import hudson.model.Job;
78
import hudson.model.JobProperty;
@@ -13,7 +14,7 @@
1314
import org.apache.commons.lang.StringUtils;
1415
import org.jenkinsci.Symbol;
1516
import org.kohsuke.stapler.DataBoundConstructor;
16-
import org.kohsuke.stapler.StaplerRequest;
17+
import org.kohsuke.stapler.StaplerRequest2;
1718

1819
/**
1920
* @author Robin Müller
@@ -33,7 +34,7 @@ public String getGiteeConnection() {
3334

3435
public GiteeClient getClient() {
3536
if (StringUtils.isNotEmpty(giteeConnection)) {
36-
GiteeConnectionConfig connectionConfig = (GiteeConnectionConfig) Jenkins.getInstance().getDescriptor(GiteeConnectionConfig.class);
37+
GiteeConnectionConfig connectionConfig = (GiteeConnectionConfig) Jenkins.get().getDescriptor(GiteeConnectionConfig.class);
3738
return connectionConfig != null ? connectionConfig.getClient(giteeConnection) : null;
3839
}
3940
return null;
@@ -60,6 +61,7 @@ public static GiteeClient getClient(Job<?, ?> job) {
6061
@Symbol("giteeConnection")
6162
public static class DescriptorImpl extends JobPropertyDescriptor {
6263

64+
@NonNull
6365
@Override
6466
public String getDisplayName() {
6567
return "Gitee connection";
@@ -71,13 +73,13 @@ public boolean isApplicable(Class<? extends Job> jobType) {
7173
}
7274

7375
@Override
74-
public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException {
76+
public JobProperty<?> newInstance(StaplerRequest2 req, JSONObject formData) throws FormException {
7577
return req.bindJSON(GiteeConnectionProperty.class, formData);
7678
}
7779

7880
public ListBoxModel doFillGiteeConnectionItems() {
7981
ListBoxModel options = new ListBoxModel();
80-
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.getInstance().getDescriptor(GiteeConnectionConfig.class);
82+
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.get().getDescriptor(GiteeConnectionConfig.class);
8183
for (GiteeConnection connection : descriptor.getConnections()) {
8284
options.add(connection.getName(), connection.getName());
8385
}

src/main/java/com/gitee/jenkins/environment/GiteeEnvironmentContributor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public class GiteeEnvironmentContributor extends EnvironmentContributor {
2020
@Override
2121
public void buildEnvironmentFor(@NonNull Run r, @NonNull EnvVars envs, @NonNull TaskListener listener) throws IOException, InterruptedException {
2222
GiteeWebHookCause cause = null;
23-
if (r instanceof MatrixRun) {
24-
MatrixBuild parent = ((MatrixRun)r).getParentBuild();
23+
if (r instanceof MatrixRun run) {
24+
MatrixBuild parent = run.getParentBuild();
2525
if (parent != null) {
26-
cause = (GiteeWebHookCause) parent.getCause(GiteeWebHookCause.class);
26+
cause = parent.getCause(GiteeWebHookCause.class);
2727
}
2828
} else {
2929
cause = (GiteeWebHookCause) r.getCause(GiteeWebHookCause.class);

src/main/java/com/gitee/jenkins/gitee/JacksonConfig.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
import com.fasterxml.jackson.databind.DeserializationFeature;
44
import com.fasterxml.jackson.databind.ObjectMapper;
5-
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
5+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
66

7-
import javax.ws.rs.Consumes;
8-
import javax.ws.rs.Produces;
9-
import javax.ws.rs.core.MediaType;
10-
import javax.ws.rs.ext.ContextResolver;
11-
import javax.ws.rs.ext.Provider;
7+
import jakarta.ws.rs.Consumes;
8+
import jakarta.ws.rs.Produces;
9+
import jakarta.ws.rs.core.MediaType;
10+
import jakarta.ws.rs.ext.ContextResolver;
11+
import jakarta.ws.rs.ext.Provider;
1212

1313
/**
1414
* @author Robin Müller
@@ -19,7 +19,7 @@
1919
public class JacksonConfig implements ContextResolver<ObjectMapper> {
2020
public ObjectMapper getContext(Class<?> type) {
2121
return new ObjectMapper()
22-
.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
22+
.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)
2323
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
2424
.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
2525
}

src/main/java/com/gitee/jenkins/gitee/api/GiteeClientBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static GiteeClientBuilder getGiteeClientBuilderById(String id) {
2727
}
2828

2929
public static List<GiteeClientBuilder> getAllGiteeClientBuilders() {
30-
List<GiteeClientBuilder> builders = new ArrayList<>(Jenkins.getInstance().getExtensionList(GiteeClientBuilder.class));
30+
List<GiteeClientBuilder> builders = new ArrayList<>(Jenkins.get().getExtensionList(GiteeClientBuilder.class));
3131
sort(builders);
3232
return builders;
3333
}

0 commit comments

Comments
 (0)