Skip to content

Commit a14a700

Browse files
committed
Set new minimum baseline:
- Java 17 - Spring 6 Next release will be 2.0.0.
1 parent 0be555e commit a14a700

File tree

33 files changed

+48
-633
lines changed

33 files changed

+48
-633
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ subprojects {
5555
apply plugin: "jacoco"
5656

5757
group = 'org.mapstruct.extensions.spring'
58-
version = '1.1.4-SNAPSHOT'
58+
version = '2.0.0-SNAPSHOT'
5959

6060
java {
6161
toolchain {
62-
languageVersion.set(JavaLanguageVersion.of(11))
62+
languageVersion.set(JavaLanguageVersion.of(17))
6363
}
6464

6565
withJavadocJar()

examples/classname/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ dependencies {
66
testImplementation projects.testExtensions
77
testImplementation libs.assertj
88
testImplementation libs.bundles.junit.jupiter
9-
implementation libs.jsr250
109
implementation libs.mapstruct.core
1110
annotationProcessor libs.mapstruct.processor
1211
implementation libs.spring.context

examples/custom-conversion-service-bean-with-converter-scan/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ dependencies {
55

66
testImplementation libs.assertj
77
testImplementation libs.bundles.junit.jupiter
8-
implementation libs.jsr250
8+
implementation libs.jakarta.annotation
99
implementation libs.mapstruct.core
1010
annotationProcessor libs.mapstruct.processor
1111
implementation libs.spring.context

examples/custom-conversion-service-bean/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ dependencies {
55

66
testImplementation libs.assertj
77
testImplementation libs.bundles.junit.jupiter
8-
implementation libs.jsr250
98
implementation libs.mapstruct.core
109
annotationProcessor libs.mapstruct.processor
1110
implementation libs.spring.context

examples/noconfig/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ dependencies {
66
testImplementation projects.testExtensions
77
testImplementation libs.assertj
88
testImplementation libs.bundles.junit.jupiter
9-
implementation libs.jsr250
109
implementation libs.mapstruct.core
1110
annotationProcessor libs.mapstruct.processor
1211
implementation libs.spring.context

examples/packagename-and-classname/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ dependencies {
66
testImplementation projects.testExtensions
77
testImplementation libs.assertj
88
testImplementation libs.bundles.junit.jupiter
9-
implementation libs.jsr250
109
implementation libs.mapstruct.core
1110
annotationProcessor libs.mapstruct.processor
1211
implementation libs.spring.context

examples/packagename/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ dependencies {
66
testImplementation projects.testExtensions
77
testImplementation libs.assertj
88
testImplementation libs.bundles.junit.jupiter
9-
implementation libs.jsr250
109
implementation libs.mapstruct.core
1110
annotationProcessor libs.mapstruct.processor
1211
implementation libs.spring.context

extensions/src/main/java/org/mapstruct/extensions/spring/converter/ConverterRegistrationConfigurationGenerator.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
package org.mapstruct.extensions.spring.converter;
22

3-
import static javax.lang.model.element.Modifier.*;
3+
import static javax.lang.model.element.Modifier.FINAL;
4+
import static javax.lang.model.element.Modifier.PRIVATE;
45

5-
import com.squareup.javapoet.*;
66
import java.time.Clock;
77
import java.util.List;
88
import java.util.Optional;
99

10+
import com.squareup.javapoet.AnnotationSpec;
11+
import com.squareup.javapoet.ClassName;
12+
import com.squareup.javapoet.FieldSpec;
13+
import com.squareup.javapoet.MethodSpec;
14+
import com.squareup.javapoet.ParameterSpec;
15+
import com.squareup.javapoet.ParameterizedTypeName;
16+
import com.squareup.javapoet.TypeSpec;
17+
import com.squareup.javapoet.WildcardTypeName;
18+
1019
public class ConverterRegistrationConfigurationGenerator extends AdapterRelatedGenerator {
1120

1221
private static final ClassName CONFIGURABLE_CONVERSION_SERVICE_CLASS_NAME =
@@ -56,11 +65,7 @@ protected TypeSpec createMainTypeSpec(final ConversionServiceAdapterDescriptor d
5665
}
5766

5867
private ClassName postConstructClassName() {
59-
if (isTypeAvailable("jakarta.annotation.PostConstruct")) {
6068
return ClassName.get("jakarta.annotation", "PostConstruct");
61-
} else {
62-
return ClassName.get("javax.annotation", "PostConstruct");
63-
}
6469
}
6570

6671
private MethodSpec createRegistrationMethodSpec(

extensions/src/test/java/org/mapstruct/extensions/spring/converter/AbstractConversionServiceBeanNameIndependentGeneratorTest.java

Lines changed: 12 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,37 @@
11
package org.mapstruct.extensions.spring.converter;
22

3+
import static java.lang.Boolean.TRUE;
4+
import static javax.lang.model.SourceVersion.RELEASE_9;
5+
import static org.mockito.BDDMockito.given;
6+
import static org.mockito.Mockito.mock;
7+
8+
import java.io.IOException;
9+
import java.util.Map;
10+
import javax.annotation.processing.ProcessingEnvironment;
11+
import javax.lang.model.element.TypeElement;
12+
import javax.lang.model.util.Elements;
13+
314
import org.junit.jupiter.api.BeforeEach;
415
import org.junit.jupiter.api.Nested;
516
import org.junit.jupiter.api.Test;
617
import org.junit.jupiter.api.extension.ExtendWith;
718
import org.mockito.Mock;
819
import org.mockito.junit.jupiter.MockitoExtension;
9-
import org.mockito.stubbing.Answer;
10-
11-
import javax.annotation.processing.ProcessingEnvironment;
12-
import javax.lang.model.SourceVersion;
13-
import javax.lang.model.element.TypeElement;
14-
import javax.lang.model.util.Elements;
15-
import java.io.IOException;
16-
import java.util.Map;
17-
18-
import static java.lang.Boolean.TRUE;
19-
import static javax.lang.model.SourceVersion.RELEASE_8;
20-
import static javax.lang.model.SourceVersion.RELEASE_9;
21-
import static org.mockito.BDDMockito.given;
22-
import static org.mockito.Mockito.mock;
2320

2421
@ExtendWith(MockitoExtension.class)
2522
abstract class AbstractConversionServiceBeanNameIndependentGeneratorTest extends AdapterRelatedGeneratorTest {
2623
@Mock private Elements elements;
2724

28-
private boolean isAtLeastJava9;
29-
30-
private final String java8GeneratedExpectedContentFilename;
31-
private final String java8GeneratedNoDateExpectedContentFileName;
3225
private final String java9PlusGeneratedExpectedContentFileName;
3326
private final String java9PlusGeneratedNoDateExpectedContentFileName;
3427
private final String noGeneratedExpectedContentFileName;
3528
private final AdapterRelatedGenerator underTest;
3629

3730
protected AbstractConversionServiceBeanNameIndependentGeneratorTest(
38-
final String java8GeneratedExpectedContentFilename,
39-
final String java8GeneratedNoDateExpectedContentFileName,
4031
final String java9PlusGeneratedExpectedContentFileName,
4132
final String java9PlusGeneratedNoDateExpectedContentFileName,
4233
final String noGeneratedExpectedContentFileName,
4334
final AdapterRelatedGenerator underTest) {
44-
this.java8GeneratedExpectedContentFilename = java8GeneratedExpectedContentFilename;
45-
this.java8GeneratedNoDateExpectedContentFileName = java8GeneratedNoDateExpectedContentFileName;
4635
this.java9PlusGeneratedExpectedContentFileName = java9PlusGeneratedExpectedContentFileName;
4736
this.java9PlusGeneratedNoDateExpectedContentFileName =
4837
java9PlusGeneratedNoDateExpectedContentFileName;
@@ -57,49 +46,14 @@ class DefaultProcessingEnvironment {
5746
@BeforeEach
5847
void initWithProcessingEnvironment() {
5948
given(processingEnvironment.getElementUtils()).willReturn(elements);
60-
given(processingEnvironment.getSourceVersion())
61-
.will(
62-
(Answer<SourceVersion>)
63-
(invocation) -> {
64-
if (isAtLeastJava9) {
65-
return RELEASE_9;
66-
} else {
67-
return RELEASE_8;
68-
}
69-
});
49+
given(processingEnvironment.getSourceVersion()).willReturn(RELEASE_9);
7050
underTest.init(processingEnvironment);
7151
}
7252

73-
@Nested
74-
class Java8Generated {
75-
@BeforeEach
76-
void initElements() {
77-
isAtLeastJava9 = false;
78-
given(elements.getTypeElement("javax.annotation.Generated"))
79-
.willReturn(mock(TypeElement.class));
80-
}
81-
82-
@Test
83-
void shouldGenerateMatchingOutput() throws IOException {
84-
AbstractConversionServiceBeanNameIndependentGeneratorTest.this.shouldGenerateMatchingOutput(
85-
java8GeneratedExpectedContentFilename, underTest::writeGeneratedCodeToOutput);
86-
}
87-
88-
@Test
89-
void shouldSuppressDateGenerationWhenProcessingEnvironmentHasSuppressionSetToTrue()
90-
throws IOException {
91-
given(processingEnvironment.getOptions())
92-
.willReturn(Map.of("mapstruct.suppressGeneratorTimestamp", String.valueOf(TRUE)));
93-
AbstractConversionServiceBeanNameIndependentGeneratorTest.this.shouldGenerateMatchingOutput(
94-
java8GeneratedNoDateExpectedContentFileName, underTest::writeGeneratedCodeToOutput);
95-
}
96-
}
97-
9853
@Nested
9954
class Java9PlusGenerated {
10055
@BeforeEach
10156
void initElements() {
102-
isAtLeastJava9 = true;
10357
given(elements.getTypeElement("javax.annotation.processing.Generated"))
10458
.willReturn(mock(TypeElement.class));
10559
}
@@ -122,11 +76,6 @@ void shouldSuppressDateGenerationWhenProcessingEnvironmentHasSuppressionSetToTru
12276

12377
@Nested
12478
class NoGenerated {
125-
@BeforeEach
126-
void initElements() {
127-
isAtLeastJava9 = false;
128-
}
129-
13079
@Test
13180
void shouldGenerateMatchingOutput() throws IOException {
13281
AbstractConversionServiceBeanNameIndependentGeneratorTest.this.shouldGenerateMatchingOutput(

extensions/src/test/java/org/mapstruct/extensions/spring/converter/ConversionServiceAdapterGeneratorTest.java

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
11
package org.mapstruct.extensions.spring.converter;
22

33
import static java.lang.Boolean.TRUE;
4-
import static javax.lang.model.SourceVersion.RELEASE_8;
54
import static javax.lang.model.SourceVersion.RELEASE_9;
65
import static org.mockito.BDDMockito.given;
76
import static org.mockito.Mockito.mock;
87

98
import java.io.IOException;
109
import java.util.Map;
1110
import javax.annotation.processing.ProcessingEnvironment;
12-
import javax.lang.model.SourceVersion;
1311
import javax.lang.model.element.TypeElement;
1412
import javax.lang.model.util.Elements;
13+
1514
import org.junit.jupiter.api.BeforeEach;
1615
import org.junit.jupiter.api.Nested;
1716
import org.junit.jupiter.api.Test;
1817
import org.junit.jupiter.api.extension.ExtendWith;
1918
import org.mockito.Mock;
2019
import org.mockito.junit.jupiter.MockitoExtension;
21-
import org.mockito.stubbing.Answer;
2220

2321
@ExtendWith(MockitoExtension.class)
2422
class ConversionServiceAdapterGeneratorTest extends AdapterRelatedGeneratorTest {
2523
@Mock private Elements elements;
2624

27-
private boolean isAtLeastJava9;
28-
2925
private final ConversionServiceAdapterGenerator underTest =
3026
new ConversionServiceAdapterGenerator(FIXED_CLOCK);
3127

@@ -36,59 +32,14 @@ class DefaultProcessingEnvironment {
3632
@BeforeEach
3733
void initWithProcessingEnvironment() {
3834
given(processingEnvironment.getElementUtils()).willReturn(elements);
39-
given(processingEnvironment.getSourceVersion())
40-
.will(
41-
(Answer<SourceVersion>)
42-
(invocation) -> {
43-
if (isAtLeastJava9) {
44-
return RELEASE_9;
45-
} else {
46-
return RELEASE_8;
47-
}
48-
});
35+
given(processingEnvironment.getSourceVersion()).willReturn(RELEASE_9);
4936
underTest.init(processingEnvironment);
5037
}
5138

52-
@Nested
53-
class Java8Generated {
54-
@BeforeEach
55-
void initElements() {
56-
isAtLeastJava9 = false;
57-
given(elements.getTypeElement("javax.annotation.Generated"))
58-
.willReturn(mock(TypeElement.class));
59-
}
60-
61-
@Test
62-
void shouldGenerateMatchingOutput() throws IOException {
63-
ConversionServiceAdapterGeneratorTest.this.shouldGenerateMatchingOutput(
64-
"ConversionServiceAdapterJava8Generated.java",
65-
underTest::writeGeneratedCodeToOutput);
66-
}
67-
68-
@Test
69-
void shouldGenerateMatchingOutputWhenUsingCustomConversionService() throws IOException {
70-
ConversionServiceAdapterGeneratorTest.this
71-
.shouldGenerateMatchingOutputWhenUsingCustomConversionService(
72-
"ConversionServiceAdapterCustomBeanJava8Generated.java",
73-
underTest::writeGeneratedCodeToOutput);
74-
}
75-
76-
@Test
77-
void shouldSuppressDateGenerationWhenProcessingEnvironmentHasSuppressionSetToTrue()
78-
throws IOException {
79-
given(processingEnvironment.getOptions())
80-
.willReturn(Map.of("mapstruct.suppressGeneratorTimestamp", String.valueOf(TRUE)));
81-
ConversionServiceAdapterGeneratorTest.this.shouldGenerateMatchingOutput(
82-
"ConversionServiceAdapterJava8GeneratedNoDate.java",
83-
underTest::writeGeneratedCodeToOutput);
84-
}
85-
}
86-
8739
@Nested
8840
class Java9PlusGenerated {
8941
@BeforeEach
9042
void initElements() {
91-
isAtLeastJava9 = true;
9243
given(elements.getTypeElement("javax.annotation.processing.Generated"))
9344
.willReturn(mock(TypeElement.class));
9445
}
@@ -121,11 +72,6 @@ void shouldSuppressDateGenerationWhenProcessingEnvironmentHasSuppressionSetToTru
12172

12273
@Nested
12374
class NoGenerated {
124-
@BeforeEach
125-
void initElements() {
126-
isAtLeastJava9 = false;
127-
}
128-
12975
@Test
13076
void shouldGenerateMatchingOutput() throws IOException {
13177
ConversionServiceAdapterGeneratorTest.this.shouldGenerateMatchingOutput(

0 commit comments

Comments
 (0)