Skip to content

Commit dd8313f

Browse files
committed
Migrate to Palentir's JavaPoet
Closes gh-35214
1 parent 200b3ea commit dd8313f

File tree

7 files changed

+18
-17
lines changed

7 files changed

+18
-17
lines changed

spring-core/spring-core.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ multiRelease {
1414
releaseVersions 21, 24
1515
}
1616

17-
def javapoetVersion = "1.13.0"
17+
def javapoetVersion = "0.7.0"
1818
def objenesisVersion = "3.4"
1919

2020
configurations {
@@ -30,12 +30,12 @@ tasks.register('javapoetRepackJar', ShadowJar) {
3030
archiveBaseName = 'spring-javapoet-repack'
3131
archiveVersion = javapoetVersion
3232
configurations = [project.configurations.javapoet]
33-
relocate('com.squareup.javapoet', 'org.springframework.javapoet')
33+
relocate('com.palantir.javapoet', 'org.springframework.javapoet')
3434
}
3535

3636
tasks.register('javapoetSource', ShadowSource) {
3737
configurations = [project.configurations.javapoet]
38-
relocate('com.squareup.javapoet', 'org.springframework.javapoet')
38+
relocate('com.palantir.javapoet', 'org.springframework.javapoet')
3939
outputDirectory = file("build/shadow-source/javapoet")
4040
}
4141

@@ -67,7 +67,7 @@ tasks.register('objenesisSourceJar', Jar) {
6767
}
6868

6969
dependencies {
70-
javapoet("com.squareup:javapoet:${javapoetVersion}@jar")
70+
javapoet("com.palantir.javapoet:javapoet:${javapoetVersion}@jar")
7171
objenesis("org.objenesis:objenesis:${objenesisVersion}@jar")
7272
api(files(javapoetRepackJar))
7373
api(files(objenesisRepackJar))

spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.javapoet.ClassName;
2727
import org.springframework.javapoet.CodeBlock;
2828
import org.springframework.javapoet.MethodSpec;
29+
import org.springframework.javapoet.ParameterSpec;
2930
import org.springframework.javapoet.TypeName;
3031
import org.springframework.util.Assert;
3132

@@ -51,7 +52,7 @@ public DefaultMethodReference(MethodSpec method, @Nullable ClassName declaringCl
5152

5253
@Override
5354
public CodeBlock toCodeBlock() {
54-
String methodName = this.method.name;
55+
String methodName = this.method.name();
5556
if (isStatic()) {
5657
Assert.state(this.declaringClass != null, "Static method reference must define a declaring class");
5758
return CodeBlock.of("$T::$L", this.declaringClass, methodName);
@@ -65,7 +66,7 @@ public CodeBlock toCodeBlock() {
6566
public CodeBlock toInvokeCodeBlock(ArgumentCodeGenerator argumentCodeGenerator,
6667
@Nullable ClassName targetClassName) {
6768

68-
String methodName = this.method.name;
69+
String methodName = this.method.name();
6970
CodeBlock.Builder code = CodeBlock.builder();
7071
if (isStatic()) {
7172
Assert.state(this.declaringClass != null, "Static method reference must define a declaring class");
@@ -96,8 +97,8 @@ public CodeBlock toInvokeCodeBlock(ArgumentCodeGenerator argumentCodeGenerator,
9697
*/
9798
protected void addArguments(CodeBlock.Builder code, ArgumentCodeGenerator argumentCodeGenerator) {
9899
List<CodeBlock> arguments = new ArrayList<>();
99-
TypeName[] argumentTypes = this.method.parameters.stream()
100-
.map(parameter -> parameter.type).toArray(TypeName[]::new);
100+
TypeName[] argumentTypes = this.method.parameters().stream()
101+
.map(ParameterSpec::type).toArray(TypeName[]::new);
101102
for (int i = 0; i < argumentTypes.length; i++) {
102103
TypeName argumentType = argumentTypes[i];
103104
CodeBlock argumentCode = argumentCodeGenerator.generateCode(argumentType);
@@ -115,12 +116,12 @@ protected CodeBlock instantiateDeclaringClass(ClassName declaringClass) {
115116
}
116117

117118
private boolean isStatic() {
118-
return this.method.modifiers.contains(Modifier.STATIC);
119+
return this.method.modifiers().contains(Modifier.STATIC);
119120
}
120121

121122
@Override
122123
public String toString() {
123-
String methodName = this.method.name;
124+
String methodName = this.method.name();
124125
if (isStatic()) {
125126
return this.declaringClass + "::" + methodName;
126127
}

spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public interface GeneratedFiles {
4848
* @param javaFile the java file to add
4949
*/
5050
default void addSourceFile(JavaFile javaFile) {
51-
validatePackage(javaFile.packageName, javaFile.typeSpec.name);
52-
String className = javaFile.packageName + "." + javaFile.typeSpec.name;
51+
validatePackage(javaFile.packageName(), javaFile.typeSpec().name());
52+
String className = javaFile.packageName() + "." + javaFile.typeSpec().name();
5353
addSourceFile(className, javaFile::writeTo);
5454
}
5555

spring-core/src/main/java/org/springframework/aot/generate/GeneratedMethod.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public final class GeneratedMethod {
5353
MethodSpec.Builder builder = MethodSpec.methodBuilder(this.name);
5454
method.accept(builder);
5555
this.methodSpec = builder.build();
56-
Assert.state(this.name.equals(this.methodSpec.name),
56+
Assert.state(this.name.equals(this.methodSpec.name()),
5757
"'method' consumer must not change the generated method name");
5858
}
5959

spring-core/src/test/java/org/springframework/aot/generate/GeneratedClassTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ void generateJavaFileIncludesGeneratedMethods() {
112112
@Test
113113
void generateJavaFileIncludesDeclaredClasses() {
114114
GeneratedClass generatedClass = createGeneratedClass(TEST_CLASS_NAME);
115-
generatedClass.getOrAdd("First", type -> type.modifiers.add(Modifier.STATIC));
116-
generatedClass.getOrAdd("Second", type -> type.modifiers.add(Modifier.PRIVATE));
115+
generatedClass.getOrAdd("First", type -> type.addModifiers(Modifier.STATIC));
116+
generatedClass.getOrAdd("Second", type -> type.addModifiers(Modifier.PRIVATE));
117117
assertThat(generatedClass.generateJavaFile().toString())
118118
.contains("static class First").contains("private class Second");
119119
}

spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void getNameReturnsName() {
5353
@Test
5454
void generateMethodSpecReturnsMethodSpec() {
5555
GeneratedMethod generatedMethod = create(method -> method.addJavadoc("Test"));
56-
assertThat(generatedMethod.getMethodSpec().javadoc).asString().contains("Test");
56+
assertThat(generatedMethod.getMethodSpec().javadoc()).asString().contains("Test");
5757
}
5858

5959
@Test

spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodsTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ void doWithMethodSpecsAcceptsMethodSpecs() {
119119
this.methods.add("springBeans", methodSpecCustomizer);
120120
this.methods.add("springContext", methodSpecCustomizer);
121121
List<String> names = new ArrayList<>();
122-
this.methods.doWithMethodSpecs(methodSpec -> names.add(methodSpec.name));
122+
this.methods.doWithMethodSpecs(methodSpec -> names.add(methodSpec.name()));
123123
assertThat(names).containsExactly("springBeans", "springContext");
124124
}
125125

0 commit comments

Comments
 (0)