Skip to content

DATA 3287 spring boot 4 - #1

Merged
maarten-cb merged 19 commits into
masterfrom
DATA-3287-spring-boot-4
Jul 6, 2026
Merged

DATA 3287 spring boot 4#1
maarten-cb merged 19 commits into
masterfrom
DATA-3287-spring-boot-4

Conversation

@maarten-cb

Copy link
Copy Markdown
  • Fixed build
  • Upgraded Gradle
  • Upgraded to Java 21
  • Upgraded to Spring boot 4
  • Removed tests without assertions
  • Modernize dependencies and fix Hibernate 7 alignment
  • Removed spring boot 1 setup. renamed spring boot 2 setup to spring boot 4
  • Upgrade to Gradle 9
  • Migrate JUnit 4 to JUnit 5 (Jupiter)
  • Remove JUnit 4 dependency and vintage engine
  • Upgrade OkHttp 3.4→4.12 and Apache HttpClient 4.5→5.4
  • Fixed vulnerabilities
  • Simplified publishing Upgraded jackson
  • Fixed javadoc error
  • Add claude folder
  • Upgraded to Jackson 3
  • Removed todo
  • Disabled doc publishing to git

maarten-cb and others added 19 commits June 23, 2026 18:40
- Align crnk-data-jpa with Spring Boot 4 BOM: Hibernate 6.6.4→7.1.8,
  Jakarta Persistence 3.1→3.2, Spring 6.2→7.0, Jakarta EE 10→11
- Fix JpaCriteriaQueryBackend plural path handling for Hibernate 7:
  use isMember() for collection attributes, preserve MapJoin precedence
- Replace deprecated Class.newInstance() with getConstructor().newInstance()
- Use StandardCharsets.UTF_8 instead of Charset.forName("utf8")
- Upgrade Reflections 0.9.11→0.10.2, AssertJ 2.2.0/3.9.1→3.27.3
- Replace Guava test usages (Sets, ImmutableMap/Set/List) with Java stdlib
- Remove unused version properties from versions.properties

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace project.buildDir with layout.buildDirectory across all scripts
  and Java plugin code (removed in Gradle 9)
- Replace TaskContainer.create() with register() in GeneratorPlugin
- Replace setMain() with getMainClass().set() in ForkedGenerateTask
- Replace mainClassName with application { mainClass.set() } in examples
- Replace project.getProperties().get("sourceSets") with getExtensions()
- Make ForkedGenerateTask abstract (Gradle 9 JavaExec requirement)
- Upgrade dependency-management-plugin 1.0.0→1.1.7
- Upgrade vanniktech maven-publish-plugin 0.15.1→0.28.0
- Upgrade asciidoctor-gradle-jvm 3.3.2→4.0.3
- Remove JUnit 5.11 version pins; use JUnit 6.0.1 from Spring Boot 4 BOM
- Add junit-platform-launcher to test runtime (Gradle 9 requirement)
- Update Gradle wrapper from 8.13 to 9.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace org.junit.Test with org.junit.jupiter.api.Test across 250+ files
- Replace @Before/@after with @BeforeEach/@AfterEach
- Replace @BeforeClass/@afterclass with @BeforeAll/@afterall
- Replace @ignore with @disabled
- Replace Assert.* with Assertions.* (JUnit 5 API)
- Convert @test(expected=X.class) to assertThrows(X.class, ...) (~220 occurrences)
- Convert ExpectedException rules to assertThrows pattern
- Replace @RunWith(SpringJUnit4ClassRunner.class) with @ExtendWith(SpringExtension.class)
- Replace @RunWith(MockitoJUnitRunner.class) with @ExtendWith(MockitoExtension.class)
- Fix JUnit 5 assertion parameter order (message last, not first)
- Add JerseyTestBase @BeforeEach/@AfterEach lifecycle bridge for JerseyTest
- Keep CDI tests (CdiTestRunner) and JUnitParams tests on JUnit 4 vintage engine
- Add mockito-junit-jupiter dependency for MockitoExtension support

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove junit:junit and junit-vintage-engine from all build.gradle files
- Convert CDI tests from @RunWith(CdiTestRunner.class) to Weld SE container
- Convert CrnkWebMvcTagsProviderTest from JUnitParams to @ParameterizedTest
- Convert AbstractJpaTest from SpringJUnit4ClassRunner to SpringExtension
- Remove DeltaSpike test-control dependency (replaced by direct Weld usage)
- Clean remaining JUnit 4 imports, annotations, and Assert references
- Convert remaining @test(expected=...) to assertThrows()
- Add Hamcrest MatcherAssert import where assertThat is used directly

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Upgrade OkHttp from 3.4.1/3.9.0 to 4.12.0 across all modules
- Fix RequestBody.create() parameter order (OkHttp 4 deprecation)
- Rewrite Apache HttpClient adapter for HC5 API:
  org.apache.http → org.apache.hc.client5/core5
- Update HttpClientRequest to use HttpUriRequestBase, ClassicHttpResponse
- Update HttpClientResponse to use HC5 EntityUtils and response API
- Fix getUrl() to use getUri() instead of getRequestUri() (full URL)
- Upgrade Brave from 4.9.1 to 6.0.3 for HC5 compatibility
- Replace brave-instrumentation-httpclient with httpclient5
- Migrate Brave tests from zipkin2 Reporter to SpanHandler/MutableSpan
- Add HttpClientAdapter.setClientBuilder() for custom build functions
- Remove deprecated HttpClientBuilderFactory (replaced by setClientBuilder)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upgraded jackson
@maarten-cb
maarten-cb merged commit 233cbb2 into master Jul 6, 2026
1 check passed
@maarten-cb
maarten-cb deleted the DATA-3287-spring-boot-4 branch July 6, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants