Skip to content

Commit 2a6fab4

Browse files
authored
Merge pull request #9 from strangelookingnerd/migrate
Require Jenkins 2.479.1 or newer and Jakarta EE 9
2 parents 003c295 + 1e291f0 commit 2a6fab4

File tree

11 files changed

+49
-31
lines changed

11 files changed

+49
-31
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ jobs:
1717
steps:
1818
- name: Checkout
1919
uses: actions/checkout@v2
20-
- name: Set up JDK 11
20+
- name: Set up JDK 17
2121
uses: actions/setup-java@v1
2222
with:
23-
java-version: 11
23+
java-version: 17
2424
- name: Build with Maven
2525
run: mvn -B -Dgpg.skip jacoco:prepare-agent verify jacoco:report
2626
- name: Upload code coverage

Jenkinsfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
buildPlugin(
66
forkCount: '1C', // run this number of tests in parallel for faster feedback. If the number terminates with a 'C', the value will be multiplied by the number of available CPU cores
77
useContainerAgent: true, // Set to `false` if you need to use Docker for containerized tests
8+
timeout: 180,
89
configurations: [
910
[platform: 'linux', jdk: 21],
1011
[platform: 'windows', jdk: 17],

pom.xml

Lines changed: 4 additions & 3 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.60</version>
7+
<version>5.9</version>
88
<relativePath />
99
</parent>
1010
<groupId>io.jenkins.plugins</groupId>
@@ -13,8 +13,9 @@
1313
<url>https://github.com/jenkinsci/${project.artifactId}-plugin/blob/main/README.md</url>
1414
<packaging>hpi</packaging>
1515
<properties>
16-
<jenkins.version>2.375.4</jenkins.version>
17-
<junit.junit.version>5.8.0</junit.junit.version>
16+
<jenkins.baseline>2.479</jenkins.baseline>
17+
<jenkins.version>${jenkins.baseline}.3</jenkins.version>
18+
<junit.junit.version>5.12.1</junit.junit.version>
1819
<jacoco.version>0.8.7</jacoco.version>
1920
</properties>
2021
<name>Multiselect parameter</name>

src/main/java/de/westemeyer/plugins/multiselect/MultiselectDecisionItem.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.kohsuke.stapler.DataBoundConstructor;
44
import org.kohsuke.stapler.DataBoundSetter;
55

6+
import java.io.Serial;
67
import java.io.Serializable;
78
import java.util.ArrayDeque;
89
import java.util.ArrayList;
@@ -14,6 +15,7 @@
1415
*/
1516
public class MultiselectDecisionItem implements Serializable {
1617
/** Serial version UID. */
18+
@Serial
1719
private static final long serialVersionUID = -7959174754803921973L;
1820

1921
/** Label for display in selection list. */

src/main/java/de/westemeyer/plugins/multiselect/MultiselectDecisionTree.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.io.ByteArrayOutputStream;
1010
import java.io.InputStream;
1111
import java.io.OutputStream;
12+
import java.io.Serial;
1213
import java.io.Serializable;
1314
import java.nio.charset.StandardCharsets;
1415
import java.util.ArrayDeque;
@@ -30,6 +31,7 @@
3031
*/
3132
public class MultiselectDecisionTree implements Serializable {
3233
/** Serial version UID. */
34+
@Serial
3335
private static final long serialVersionUID = -5015514196308288683L;
3436

3537
/** Logger for this object. */

src/main/java/de/westemeyer/plugins/multiselect/MultiselectParameterDefinition.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@
1111
import org.kohsuke.stapler.DataBoundConstructor;
1212
import org.kohsuke.stapler.DataBoundSetter;
1313
import org.kohsuke.stapler.QueryParameter;
14-
import org.kohsuke.stapler.StaplerRequest;
14+
import org.kohsuke.stapler.StaplerRequest2;
1515
import org.kohsuke.stapler.bind.JavaScriptMethod;
1616
import org.kohsuke.stapler.verb.POST;
1717

1818
import javax.annotation.CheckForNull;
1919
import javax.annotation.Nonnull;
2020
import javax.annotation.Nullable;
2121
import java.io.IOException;
22+
import java.io.Serial;
2223
import java.util.ArrayDeque;
2324
import java.util.ArrayList;
2425
import java.util.Arrays;
@@ -36,6 +37,7 @@
3637
*/
3738
public class MultiselectParameterDefinition extends ParameterDefinition {
3839
/** Serialization UID. */
40+
@Serial
3941
private static final long serialVersionUID = 3307975793661301522L;
4042

4143
/** Logger for this object. */
@@ -149,7 +151,7 @@ public ParameterValue getDefaultParameterValue() {
149151
}
150152

151153
@Override
152-
public ParameterValue createValue(StaplerRequest staplerRequest, JSONObject jsonObject) {
154+
public ParameterValue createValue(StaplerRequest2 staplerRequest, JSONObject jsonObject) {
153155
return createValue(jsonObject);
154156
}
155157

@@ -187,7 +189,7 @@ public MultiselectParameterValue createValue(Map<String, Object> jsonObject) {
187189
}
188190

189191
@Override
190-
public ParameterValue createValue(StaplerRequest staplerRequest) {
192+
public ParameterValue createValue(StaplerRequest2 staplerRequest) {
191193
return getDefaultParameterValue();
192194
}
193195

@@ -277,7 +279,7 @@ public String getDisplayName() {
277279
}
278280

279281
@Override
280-
public ParameterDefinition newInstance(@Nullable StaplerRequest req, @Nonnull JSONObject formData) {
282+
public ParameterDefinition newInstance(@Nullable StaplerRequest2 req, @Nonnull JSONObject formData) {
281283
// currently only CSV configuration format is implemented
282284
MultiselectConfigurationFormat format = MultiselectConfigurationFormat.CSV;
283285

src/main/java/de/westemeyer/plugins/multiselect/MultiselectParameterValue.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.kohsuke.stapler.DataBoundConstructor;
99
import org.kohsuke.stapler.DataBoundSetter;
1010

11+
import java.io.Serial;
1112
import java.util.Map;
1213
import java.util.Objects;
1314

@@ -17,6 +18,7 @@
1718
*/
1819
public class MultiselectParameterValue extends ParameterValue {
1920
/** Serial version UID. */
21+
@Serial
2022
private static final long serialVersionUID = -5612496743376284422L;
2123

2224
/** The values selected in "build with parameters" step. */

src/main/java/de/westemeyer/plugins/multiselect/MultiselectVariableDescriptor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.kohsuke.stapler.DataBoundConstructor;
44
import org.kohsuke.stapler.DataBoundSetter;
55

6+
import java.io.Serial;
67
import java.io.Serializable;
78
import java.util.List;
89

@@ -11,6 +12,7 @@
1112
*/
1213
public class MultiselectVariableDescriptor implements Serializable {
1314
/** Serial version UID. */
15+
@Serial
1416
private static final long serialVersionUID = -3664707568849231781L;
1517

1618
/** Variable label. */

src/test/java/de/westemeyer/plugins/multiselect/MultiselectDecisionTreeTest.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import java.io.ByteArrayOutputStream;
1111
import java.io.OutputStream;
12+
import java.io.Serial;
1213
import java.util.Arrays;
1314
import java.util.Collections;
1415
import java.util.HashMap;
@@ -67,6 +68,7 @@ void resolveValues() {
6768
@Test
6869
void exceptionInToString() {
6970
MultiselectDecisionTree decisionTree = new MultiselectDecisionTree() {
71+
@Serial
7072
private static final long serialVersionUID = -2603343900904810385L;
7173

7274
@Override
@@ -96,6 +98,7 @@ void getInitialValuesForColumn() {
9698
@Test
9799
void emptyItemListInitialValues() {
98100
MultiselectDecisionTree decisionTree = new MultiselectDecisionTree() {
101+
@Serial
99102
private static final long serialVersionUID = -2603343900904810385L;
100103

101104
@Override
@@ -118,15 +121,17 @@ void serializationRoundTripTest() throws Exception {
118121
createItem("Very popular sport", "Wakeboard", createItem(null, "WSC Duisburg Rheinhausen"))));
119122
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
120123
decisionTree.serialize(new CsvWriter(), outputStream);
121-
assertEquals("H,Sport,Team\n" +
122-
"V,SELECTED_SPORT,SELECTED_TEAM\n" +
123-
"C,Tennis,Tennisclub Rumeln-Kaldenhausen e.V.\n" +
124-
"T,,Alternative label\n" +
125-
"C,Tennis,Oppumer TC\n" +
126-
"C,Football,Rumelner TV\n" +
127-
"C,Football,FC Rumeln\n" +
128-
"T,Very popular sport,\n" +
129-
"C,Wakeboard,WSC Duisburg Rheinhausen\n", outputStream.toString());
124+
assertEquals("""
125+
H,Sport,Team
126+
V,SELECTED_SPORT,SELECTED_TEAM
127+
C,Tennis,Tennisclub Rumeln-Kaldenhausen e.V.
128+
T,,Alternative label
129+
C,Tennis,Oppumer TC
130+
C,Football,Rumelner TV
131+
C,Football,FC Rumeln
132+
T,Very popular sport,
133+
C,Wakeboard,WSC Duisburg Rheinhausen
134+
""", outputStream.toString());
130135
}
131136
}
132137

src/test/java/de/westemeyer/plugins/multiselect/MultiselectParameterDefinitionTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@
88
import org.junit.jupiter.api.Test;
99
import org.junit.jupiter.params.ParameterizedTest;
1010
import org.junit.jupiter.params.provider.CsvSource;
11-
import org.kohsuke.stapler.StaplerRequest;
11+
import org.kohsuke.stapler.StaplerRequest2;
1212

1313
import java.io.IOException;
1414
import java.util.Collections;
1515
import java.util.List;
1616
import java.util.Queue;
17-
import java.util.stream.Collectors;
1817

1918
import static de.westemeyer.plugins.multiselect.MultiselectConfigurationFormat.CSV;
2019
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
@@ -90,7 +89,7 @@ void getDependingVariableIds(String name, int index, int resultLength) {
9089
MultiselectParameterDefinition definition = new MultiselectParameterDefinition(NAME, DESCRIPTION, INPUT, CSV);
9190
MultiselectDecisionTree decisionTree = definition.getDecisionTree();
9291
assertNotNull(decisionTree);
93-
List<String> idList = decisionTree.getVariableDescriptions().stream().map(MultiselectVariableDescriptor::getUuid).collect(Collectors.toList());
92+
List<String> idList = decisionTree.getVariableDescriptions().stream().map(MultiselectVariableDescriptor::getUuid).toList();
9493

9594
String[] dependingVariableIds = definition.getDependingVariableIds(idList.get(index));
9695
assertEquals(resultLength, dependingVariableIds.length);
@@ -119,7 +118,7 @@ void getDefaultParameterValue() {
119118
@Test
120119
void createValue() {
121120
MultiselectParameterDefinition definition = new MultiselectParameterDefinition(NAME, DESCRIPTION, INPUT, CSV);
122-
ParameterValue defaultParameterValue = definition.createValue((StaplerRequest) null);
121+
ParameterValue defaultParameterValue = definition.createValue((StaplerRequest2) null);
123122
assertNotNull(defaultParameterValue);
124123
assertEquals(NAME, defaultParameterValue.getName());
125124
Object parameterValueContent = defaultParameterValue.getValue();
@@ -134,7 +133,7 @@ void createValue() {
134133
values.put("name", "Hugo");
135134
values.put("integer", 1);
136135
values.put("empty", "");
137-
MultiselectParameterValue value = (MultiselectParameterValue) definition.createValue(null, values);
136+
MultiselectParameterValue value = (MultiselectParameterValue) definition.createValue((StaplerRequest2) null, values);
138137
assertNotNull(value);
139138
EnvVars vars = new EnvVars();
140139
value.buildEnvironment(null, vars);
@@ -190,7 +189,7 @@ void newInstance() {
190189
jsonObject.put("name", "parametername");
191190
jsonObject.put("description", DESCRIPTION);
192191
MultiselectParameterDefinition.DescriptorImpl descriptor = new MultiselectParameterDefinition.DescriptorImpl();
193-
MultiselectParameterDefinition parameterDefinition = (MultiselectParameterDefinition) descriptor.newInstance(null, jsonObject);
192+
MultiselectParameterDefinition parameterDefinition = (MultiselectParameterDefinition) descriptor.newInstance((StaplerRequest2) null, jsonObject);
194193
MultiselectDecisionTree decisionTree = parameterDefinition.getDecisionTree();
195194
assertNotNull(decisionTree);
196195
assertEquals(definition.getDecisionTree().toString(), decisionTree.toString());
@@ -210,9 +209,9 @@ public MultiselectDecisionTree parseConfiguration(String input) throws IOExcepti
210209
@Test
211210
void testEquals() {
212211
MultiselectParameterDefinition value = new MultiselectParameterDefinition(NAME, DESCRIPTION, INPUT, CSV);
213-
assertNotEquals(value, this);
212+
assertNotEquals(this, value);
214213
assertEquals(value, value);
215-
assertNotEquals(value, new MultiselectParameterDefinition("Other name", DESCRIPTION, INPUT, CSV));
214+
assertNotEquals(new MultiselectParameterDefinition("Other name", DESCRIPTION, INPUT, CSV), value);
216215
MultiselectParameterValue sameNameDifferentContent = new MultiselectParameterValue("Hello", Collections.singletonMap("key", "value"));
217216
assertNotEquals(value, sameNameDifferentContent);
218217
MultiselectParameterDefinition actual = new MultiselectParameterDefinition(NAME, DESCRIPTION, INPUT, CSV);

0 commit comments

Comments
 (0)