diff --git a/spring-core/spring-core.gradle b/spring-core/spring-core.gradle index 1fa54d0aed1..24649ec50de 100644 --- a/spring-core/spring-core.gradle +++ b/spring-core/spring-core.gradle @@ -14,7 +14,7 @@ multiRelease { releaseVersions 21, 24 } -def javapoetVersion = "1.13.0" +def javapoetVersion = "0.7.0" def objenesisVersion = "3.4" configurations { @@ -30,12 +30,12 @@ tasks.register('javapoetRepackJar', ShadowJar) { archiveBaseName = 'spring-javapoet-repack' archiveVersion = javapoetVersion configurations = [project.configurations.javapoet] - relocate('com.squareup.javapoet', 'org.springframework.javapoet') + relocate('com.palantir.javapoet', 'org.springframework.javapoet') } tasks.register('javapoetSource', ShadowSource) { configurations = [project.configurations.javapoet] - relocate('com.squareup.javapoet', 'org.springframework.javapoet') + relocate('com.palantir.javapoet', 'org.springframework.javapoet') outputDirectory = file("build/shadow-source/javapoet") } @@ -67,7 +67,7 @@ tasks.register('objenesisSourceJar', Jar) { } dependencies { - javapoet("com.squareup:javapoet:${javapoetVersion}@jar") + javapoet("com.palantir.javapoet:javapoet:${javapoetVersion}@jar") objenesis("org.objenesis:objenesis:${objenesisVersion}@jar") api(files(javapoetRepackJar)) api(files(objenesisRepackJar)) diff --git a/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java b/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java index f08cfa08094..65c61ac5d9a 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/DefaultMethodReference.java @@ -26,6 +26,7 @@ import org.jspecify.annotations.Nullable; import org.springframework.javapoet.ClassName; import org.springframework.javapoet.CodeBlock; import org.springframework.javapoet.MethodSpec; +import org.springframework.javapoet.ParameterSpec; import org.springframework.javapoet.TypeName; import org.springframework.util.Assert; @@ -51,7 +52,7 @@ public class DefaultMethodReference implements MethodReference { @Override public CodeBlock toCodeBlock() { - String methodName = this.method.name; + String methodName = this.method.name(); if (isStatic()) { Assert.state(this.declaringClass != null, "Static method reference must define a declaring class"); return CodeBlock.of("$T::$L", this.declaringClass, methodName); @@ -65,7 +66,7 @@ public class DefaultMethodReference implements MethodReference { public CodeBlock toInvokeCodeBlock(ArgumentCodeGenerator argumentCodeGenerator, @Nullable ClassName targetClassName) { - String methodName = this.method.name; + String methodName = this.method.name(); CodeBlock.Builder code = CodeBlock.builder(); if (isStatic()) { Assert.state(this.declaringClass != null, "Static method reference must define a declaring class"); @@ -96,8 +97,8 @@ public class DefaultMethodReference implements MethodReference { */ protected void addArguments(CodeBlock.Builder code, ArgumentCodeGenerator argumentCodeGenerator) { List arguments = new ArrayList<>(); - TypeName[] argumentTypes = this.method.parameters.stream() - .map(parameter -> parameter.type).toArray(TypeName[]::new); + TypeName[] argumentTypes = this.method.parameters().stream() + .map(ParameterSpec::type).toArray(TypeName[]::new); for (int i = 0; i < argumentTypes.length; i++) { TypeName argumentType = argumentTypes[i]; CodeBlock argumentCode = argumentCodeGenerator.generateCode(argumentType); @@ -115,12 +116,12 @@ public class DefaultMethodReference implements MethodReference { } private boolean isStatic() { - return this.method.modifiers.contains(Modifier.STATIC); + return this.method.modifiers().contains(Modifier.STATIC); } @Override public String toString() { - String methodName = this.method.name; + String methodName = this.method.name(); if (isStatic()) { return this.declaringClass + "::" + methodName; } diff --git a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java index 93ce2f291a4..79d29ea1dca 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java @@ -48,8 +48,8 @@ public interface GeneratedFiles { * @param javaFile the java file to add */ default void addSourceFile(JavaFile javaFile) { - validatePackage(javaFile.packageName, javaFile.typeSpec.name); - String className = javaFile.packageName + "." + javaFile.typeSpec.name; + validatePackage(javaFile.packageName(), javaFile.typeSpec().name()); + String className = javaFile.packageName() + "." + javaFile.typeSpec().name(); addSourceFile(className, javaFile::writeTo); } diff --git a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedMethod.java b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedMethod.java index 5c6c8615108..878a1c1ecd6 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedMethod.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedMethod.java @@ -53,7 +53,7 @@ public final class GeneratedMethod { MethodSpec.Builder builder = MethodSpec.methodBuilder(this.name); method.accept(builder); this.methodSpec = builder.build(); - Assert.state(this.name.equals(this.methodSpec.name), + Assert.state(this.name.equals(this.methodSpec.name()), "'method' consumer must not change the generated method name"); } diff --git a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedClassTests.java b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedClassTests.java index 5122ab05225..8220ac29955 100644 --- a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedClassTests.java +++ b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedClassTests.java @@ -112,8 +112,8 @@ class GeneratedClassTests { @Test void generateJavaFileIncludesDeclaredClasses() { GeneratedClass generatedClass = createGeneratedClass(TEST_CLASS_NAME); - generatedClass.getOrAdd("First", type -> type.modifiers.add(Modifier.STATIC)); - generatedClass.getOrAdd("Second", type -> type.modifiers.add(Modifier.PRIVATE)); + generatedClass.getOrAdd("First", type -> type.addModifiers(Modifier.STATIC)); + generatedClass.getOrAdd("Second", type -> type.addModifiers(Modifier.PRIVATE)); assertThat(generatedClass.generateJavaFile().toString()) .contains("static class First").contains("private class Second"); } diff --git a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodTests.java b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodTests.java index d08c3cdc3aa..77809d1f5b5 100644 --- a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodTests.java +++ b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodTests.java @@ -53,7 +53,7 @@ class GeneratedMethodTests { @Test void generateMethodSpecReturnsMethodSpec() { GeneratedMethod generatedMethod = create(method -> method.addJavadoc("Test")); - assertThat(generatedMethod.getMethodSpec().javadoc).asString().contains("Test"); + assertThat(generatedMethod.getMethodSpec().javadoc()).asString().contains("Test"); } @Test diff --git a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodsTests.java b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodsTests.java index b15a3948322..1cc2b617ba0 100644 --- a/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodsTests.java +++ b/spring-core/src/test/java/org/springframework/aot/generate/GeneratedMethodsTests.java @@ -119,7 +119,7 @@ class GeneratedMethodsTests { this.methods.add("springBeans", methodSpecCustomizer); this.methods.add("springContext", methodSpecCustomizer); List names = new ArrayList<>(); - this.methods.doWithMethodSpecs(methodSpec -> names.add(methodSpec.name)); + this.methods.doWithMethodSpecs(methodSpec -> names.add(methodSpec.name())); assertThat(names).containsExactly("springBeans", "springContext"); }