Skip to content

Commit 9c93ff4

Browse files
committed
Start building against Spring Framework 7.0.6 snapshots
See gh-49418
1 parent c62dbb2 commit 9c93ff4

4 files changed

Lines changed: 18 additions & 26 deletions

File tree

core/spring-boot/src/main/java/org/springframework/boot/logging/logback/SpringBootJoranConfigurator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
import org.springframework.aot.generate.GeneratedFiles.Kind;
5757
import org.springframework.aot.generate.GenerationContext;
5858
import org.springframework.aot.hint.MemberCategory;
59-
import org.springframework.aot.hint.SerializationHints;
59+
import org.springframework.aot.hint.ReflectionHints;
6060
import org.springframework.aot.hint.TypeReference;
6161
import org.springframework.beans.factory.aot.BeanFactoryInitializationAotContribution;
6262
import org.springframework.beans.factory.aot.BeanFactoryInitializationCode;
@@ -187,8 +187,8 @@ private void writeTo(GenerationContext generationContext) {
187187
.handleFile(Kind.RESOURCE, MODEL_RESOURCE_LOCATION,
188188
new RequireNewOrMatchingContentFileHandler(serializedModel));
189189
generationContext.getRuntimeHints().resources().registerPattern(MODEL_RESOURCE_LOCATION);
190-
SerializationHints serializationHints = generationContext.getRuntimeHints().serialization();
191-
serializationTypes(this.model).forEach(serializationHints::registerType);
190+
ReflectionHints reflectionHints = generationContext.getRuntimeHints().reflection();
191+
serializationTypes(this.model).forEach(reflectionHints::registerJavaSerialization);
192192
reflectionTypes(this.model).forEach((type) -> generationContext.getRuntimeHints()
193193
.reflection()
194194
.registerType(TypeReference.of(type), MemberCategory.INVOKE_PUBLIC_METHODS,

core/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackConfigurationAotContributionTests.java

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import java.util.Properties;
2727
import java.util.function.Consumer;
2828
import java.util.function.Predicate;
29-
import java.util.stream.Stream;
3029

3130
import ch.qos.logback.classic.LoggerContext;
3231
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
@@ -50,10 +49,9 @@
5049

5150
import org.springframework.aot.generate.GeneratedFiles.Kind;
5251
import org.springframework.aot.generate.InMemoryGeneratedFiles;
53-
import org.springframework.aot.hint.JavaSerializationHint;
5452
import org.springframework.aot.hint.MemberCategory;
53+
import org.springframework.aot.hint.ReflectionHints;
5554
import org.springframework.aot.hint.RuntimeHints;
56-
import org.springframework.aot.hint.SerializationHints;
5755
import org.springframework.aot.hint.TypeHint;
5856
import org.springframework.aot.hint.TypeReference;
5957
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
@@ -89,12 +87,11 @@ void contributionOfBasicModel() {
8987
InMemoryGeneratedFiles generatedFiles = generationContext.getGeneratedFiles();
9088
assertThat(generatedFiles).has(resource("META-INF/spring/logback-model"));
9189
assertThat(generatedFiles).has(resource("META-INF/spring/logback-pattern-rules"));
92-
SerializationHints serializationHints = generationContext.getRuntimeHints().serialization();
93-
assertThat(serializationHints.javaSerializationHints()
94-
.map(JavaSerializationHint::getType)
95-
.map(TypeReference::getName))
96-
.containsExactlyInAnyOrder(namesOf(Model.class, ArrayList.class, Boolean.class, Integer.class));
97-
assertThat(generationContext.getRuntimeHints().reflection().typeHints()).isEmpty();
90+
ReflectionHints reflectionHints = generationContext.getRuntimeHints().reflection();
91+
assertThat(reflectionHints.typeHints().map(TypeHint::getType)).containsExactlyInAnyOrderElementsOf(
92+
TypeReference.listOf(Model.class, ArrayList.class, Boolean.class, Integer.class));
93+
assertThat(reflectionHints.typeHints().map(TypeHint::hasJavaSerialization).distinct()).singleElement()
94+
.isEqualTo(true);
9895
InputStreamSource generatedFile = generatedFiles.getGeneratedFile(Kind.RESOURCE,
9996
"META-INF/spring/logback-pattern-rules");
10097
assertThat(generatedFile).isNotNull();
@@ -111,12 +108,11 @@ void contributionOfBasicModelThatMatchesExistingModel() {
111108
InMemoryGeneratedFiles generatedFiles = generationContext.getGeneratedFiles();
112109
assertThat(generatedFiles).has(resource("META-INF/spring/logback-model"));
113110
assertThat(generatedFiles).has(resource("META-INF/spring/logback-pattern-rules"));
114-
SerializationHints serializationHints = generationContext.getRuntimeHints().serialization();
115-
assertThat(serializationHints.javaSerializationHints()
116-
.map(JavaSerializationHint::getType)
117-
.map(TypeReference::getName))
118-
.containsExactlyInAnyOrder(namesOf(Model.class, ArrayList.class, Boolean.class, Integer.class));
119-
assertThat(generationContext.getRuntimeHints().reflection().typeHints()).isEmpty();
111+
ReflectionHints reflectionHints = generationContext.getRuntimeHints().reflection();
112+
assertThat(reflectionHints.typeHints().map(TypeHint::getType)).containsExactlyInAnyOrderElementsOf(
113+
TypeReference.listOf(Model.class, ArrayList.class, Boolean.class, Integer.class));
114+
assertThat(reflectionHints.typeHints().map(TypeHint::hasJavaSerialization).distinct()).singleElement()
115+
.isEqualTo(true);
120116
InputStreamSource generatedFile = generatedFiles.getGeneratedFile(Kind.RESOURCE,
121117
"META-INF/spring/logback-pattern-rules");
122118
assertThat(generatedFile).isNotNull();
@@ -330,10 +326,6 @@ private void applyContribution(Model model, Consumer<LoggerContext> contextCusto
330326
contribution.applyTo(generationContext, mock(BeanFactoryInitializationCode.class));
331327
}
332328

333-
private String[] namesOf(Class<?>... types) {
334-
return Stream.of(types).map(Class::getName).toArray(String[]::new);
335-
}
336-
337329
private void withSystemProperty(String name, String value, Runnable action) {
338330
System.setProperty(name, value);
339331
try {

documentation/spring-boot-docs/src/main/java/org/springframework/boot/docs/packaging/nativeimage/advanced/customhints/MyRuntimeHints.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
3131
Method method = ReflectionUtils.findMethod(MyClass.class, "sayHello", String.class);
3232
hints.reflection().registerMethod(method, ExecutableMode.INVOKE);
3333

34+
// Register type for java serialization
35+
hints.reflection().registerJavaSerialization(MySerializableClass.class);
36+
3437
// Register resources
3538
hints.resources().registerPattern("my-resource.txt");
3639

37-
// Register serialization
38-
hints.serialization().registerType(MySerializableClass.class);
39-
4040
// Register proxy
4141
hints.proxies().registerJdkProxy(MyInterface.class);
4242
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ mockitoVersion=5.20.0
2121
nativeBuildToolsVersion=0.11.4
2222
nullabilityPluginVersion=0.0.11
2323
snakeYamlVersion=2.5
24-
springFrameworkVersion=7.0.5
24+
springFrameworkVersion=7.0.6-SNAPSHOT
2525
springFramework60xVersion=6.0.23
2626
tomcatVersion=11.0.18
2727

0 commit comments

Comments
 (0)