#704: Bumped to SpringBoot4, SpringFramework7 and JDK17#705
#704: Bumped to SpringBoot4, SpringFramework7 and JDK17#705Stromner wants to merge 10 commits intocloudevents:mainfrom
Conversation
|
Are you sure you want to require Java 25? Seems a bit high to me. Spring Boot 4/Framework 7 require Java 17, the same with Jackson 3. I personally would have no issues with 25, but the broader community might not be ready yet. |
|
You're right, probably too excessive. I've downgraded it to 17. Jackson2 is deprecated in Spring Framework 7, it also causes a lot of extra headache if you try to run this in a project that is Spring Framework 7 and having to either be stuck using Jackson2 or shoehorn in both versions of the dep. |
Signed-off-by: David Strömner <david.stromner@stralfors.se>
Signed-off-by: David Strömner <david.stromner@stralfors.se>
Signed-off-by: David Strömner <david.stromner@stralfors.se>
Signed-off-by: David Strömner <david.stromner@stralfors.se>
Signed-off-by: David Strömner <david.stromner@stralfors.se>
Signed-off-by: David Strömner <david.stromner@stralfors.se>
a1e3fca to
cfd9af3
Compare
Signed-off-by: David Strömner <david.stromner@stralfors.se>
Signed-off-by: David Strömner <david.stromner@stralfors.se>
|
Ready for review again |
|
Hello, any thoughts when a new version with these changes will be released? |
Do you want a review from someone in particular, or a random guy from the Internet would also be OK? I might find some time this or next week, but I cannot promise anything. Still, I'm blocked with upgrades because of |
I always welcome extra eyes on code I've written so by all means if it interest you! Otherwise it was a maintainer I'm waiting for so it might get approved some day |
jacekbilski
left a comment
There was a problem hiding this comment.
Any particular reason why did you drop JAX-RS modules. I haven't found any mention here, that would mention, that they're deprecated or obsolete. And JAX-RS as a standard is not dead.
Current review I made just by looking at the code and building the project myself. I'll try to actually build my app next week and give it a spin. But, apart from the JAX-RS question above, I haven't found any showstoppers. Thanks for the effort.
| public class DemoApplication { | ||
|
|
||
| public static void main(String[] args) throws Exception { | ||
| static void main(String[] args) { |
| <dependencyManagement> | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>com.fasterxml.jackson</groupId> | ||
| <artifactId>jackson-bom</artifactId> | ||
| <version>${jackson.version}</version> | ||
| <scope>import</scope> | ||
| <type>pom</type> | ||
| </dependency> | ||
| </dependencies> | ||
| </dependencyManagement> | ||
|
|
There was a problem hiding this comment.
Just my personal preference, but I tend to use BOMs more, feel somehow like a cleaner approach.
| <junit-jupiter.version>5.7.0</junit-jupiter.version> | ||
| <assertj-core.version>3.27.6</assertj-core.version> | ||
| <junit-jupiter.version>6.0.1</junit-jupiter.version> | ||
| <jackson.version>3.0.3</jackson.version> |
There was a problem hiding this comment.
I'd personally push it back to cloudevents-json-jackson. JSON is just one of supported formats, I don't see why it deserves such importance to be mentioned at the top level.
| <maven.compiler.source>${java.version}</maven.compiler.source> | ||
| <maven.compiler.target>${java.version}</maven.compiler.target> |
There was a problem hiding this comment.
| <maven.compiler.source>${java.version}</maven.compiler.source> | |
| <maven.compiler.target>${java.version}</maven.compiler.target> | |
| <maven.compiler.release>${java.version}</maven.compiler.release> |
| <link>https://fasterxml.github.io/jackson-databind/javadoc/2.10/</link> | ||
| </links> | ||
| <source>8</source> | ||
| <source>17</source> |
There was a problem hiding this comment.
| <source>17</source> | |
| <source>${java.version}</source> |
| class Foo { | ||
| static class Foo { | ||
| private String value; | ||
|
|
||
| private String value; | ||
|
|
||
| public Foo() { | ||
| } | ||
|
|
||
| public Foo(String value) { | ||
| this.value = value; | ||
| } | ||
|
|
||
| public String getValue() { | ||
| return this.value; | ||
| } | ||
|
|
||
| public void setValue(String value) { | ||
| this.value = value; | ||
| } | ||
|
|
||
| @Override | ||
| public String toString() { | ||
| return "Foo [value=" + this.value + "]"; | ||
| } | ||
| public String getValue() { | ||
| return this.value; | ||
| } | ||
|
|
||
| @Override | ||
| public String toString() { | ||
| return "Foo [value=" + this.value + "]"; | ||
| } | ||
| } |
There was a problem hiding this comment.
My proposal would be:
record Foo(
String value
) {}
| } | ||
|
|
||
| } | ||
| static class Foo { |
| public Stream<Map.Entry<String, TestCaseModel>> tckTestCases() { | ||
| ObjectMapper mapper = new YAMLMapper(); | ||
| mapper.registerModule(JsonFormat.getCloudEventJacksonModule()); | ||
| ObjectMapper mapper = YAMLMapper.builder().addModule(JsonFormat.getCloudEventJacksonModule()).build(); |
There was a problem hiding this comment.
I can see that you didn't "break" it, but using YAMLMapper together with JsonFormat feels wrong. Just mentioning it, maybe it's working anyway.
|
I ran https://docs.openrewrite.org/recipes/java/spring/boot4/upgradespringboot_4_0-community-edition#usage and it found some issues. For example, there are still some |
Resolves issue #704