From be1bf91ce80c1ef2de860855878ef9c782d80925 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Fri, 13 Mar 2026 10:22:01 +0100 Subject: [PATCH 1/4] Branch for 7.0.x maintenance --- .github/workflows/build-and-deploy-snapshot.yml | 2 +- .github/workflows/update-antora-ui-spring.yml | 2 +- framework-docs/antora.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-deploy-snapshot.yml b/.github/workflows/build-and-deploy-snapshot.yml index 467beedc650..eb469084a43 100644 --- a/.github/workflows/build-and-deploy-snapshot.yml +++ b/.github/workflows/build-and-deploy-snapshot.yml @@ -2,7 +2,7 @@ name: Build and Deploy Snapshot on: push: branches: - - main + - 7.0.x concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: diff --git a/.github/workflows/update-antora-ui-spring.yml b/.github/workflows/update-antora-ui-spring.yml index 5d391213a4d..5c8f411286c 100644 --- a/.github/workflows/update-antora-ui-spring.yml +++ b/.github/workflows/update-antora-ui-spring.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - branch: [ '6.2.x', 'main' ] + branch: [ '6.2.x', '7.0.x', 'main' ] steps: - uses: spring-io/spring-doc-actions/update-antora-spring-ui@5a57bcc6a0da2a1474136cf29571b277850432bc name: Update diff --git a/framework-docs/antora.yml b/framework-docs/antora.yml index c8c78a50db3..cb1c780c45b 100644 --- a/framework-docs/antora.yml +++ b/framework-docs/antora.yml @@ -31,7 +31,7 @@ asciidoc: spring-org: 'spring-projects' spring-github-org: "https://github.com/{spring-org}" spring-framework-github: "https://github.com/{spring-org}/spring-framework" - spring-framework-code: '{spring-framework-github}/tree/main' + spring-framework-code: '{spring-framework-github}/tree/7.0.x' spring-framework-issues: '{spring-framework-github}/issues' spring-framework-wiki: '{spring-framework-github}/wiki' # Docs From e102bc49332810b45b61ec1113bea981f15df366 Mon Sep 17 00:00:00 2001 From: Clayton Walker Date: Thu, 22 Jan 2026 09:43:05 -0700 Subject: [PATCH 2/4] Improve XJC configuration for spring-oxm in the Gradle build Closes gh-36195 Signed-off-by: Clayton Walker --- spring-oxm/spring-oxm.gradle | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/spring-oxm/spring-oxm.gradle b/spring-oxm/spring-oxm.gradle index dea37ac797e..1ddbace2020 100644 --- a/spring-oxm/spring-oxm.gradle +++ b/spring-oxm/spring-oxm.gradle @@ -1,3 +1,5 @@ +import com.github.bjornvester.xjc.XjcTask + plugins { id "com.github.bjornvester.xjc" } @@ -26,14 +28,8 @@ dependencies { testRuntimeOnly("com.sun.xml.bind:jaxb-impl") } -tasks.named("xjc").configure { xjc -> - // XJC plugin only works against main sources, so we have to "move" them to test sources. - sourceSets.main.java.exclude { - it.file.absolutePath.startsWith(outputJavaDir.get().asFile.absolutePath) - } - sourceSets.main.resources.exclude { - it.file.absolutePath.startsWith(outputResourcesDir.get().asFile.absolutePath) - } - sourceSets.test.java.srcDir(xjc.outputJavaDir) - sourceSets.test.resources.srcDir(xjc.outputResourcesDir) -} +// XJC plugin adds generated code to main source set, but we need it only for tests +sourceSets.main.java.setSrcDirs(["src/main/java"]) +sourceSets.main.resources.setSrcDirs(["src/main/resources"]) +sourceSets.test.java.srcDir(tasks.named("xjc", XjcTask).flatMap { it.outputJavaDir }) +sourceSets.test.resources.srcDir(tasks.named("xjc", XjcTask).flatMap { it.outputResourcesDir }) From 0f990e44a80fa98211db0fa8435db865a0cfd5c5 Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Sun, 15 Mar 2026 14:30:07 +0100 Subject: [PATCH 3/4] Polish contribution See gh-36195 --- spring-oxm/spring-oxm.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-oxm/spring-oxm.gradle b/spring-oxm/spring-oxm.gradle index 1ddbace2020..6ff0412367c 100644 --- a/spring-oxm/spring-oxm.gradle +++ b/spring-oxm/spring-oxm.gradle @@ -28,8 +28,10 @@ dependencies { testRuntimeOnly("com.sun.xml.bind:jaxb-impl") } -// XJC plugin adds generated code to main source set, but we need it only for tests +// The XJC plugin adds generated code to the main source set, but we need it only for tests. +// 1) Reset main source sets to the standard directories only. sourceSets.main.java.setSrcDirs(["src/main/java"]) sourceSets.main.resources.setSrcDirs(["src/main/resources"]) +// 2) Attach XJC output only to the test source sets via lazy providers. sourceSets.test.java.srcDir(tasks.named("xjc", XjcTask).flatMap { it.outputJavaDir }) sourceSets.test.resources.srcDir(tasks.named("xjc", XjcTask).flatMap { it.outputResourcesDir }) From 9b366b28b7ecfed300847ce09a54085de9d0b97f Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Sun, 15 Mar 2026 14:30:50 +0100 Subject: [PATCH 4/4] Remove obsolete, custom Eclipse configuration for spring-oxm See gh-36195 --- gradle/ide.gradle | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/gradle/ide.gradle b/gradle/ide.gradle index 56865ee11b8..65928c8686e 100644 --- a/gradle/ide.gradle +++ b/gradle/ide.gradle @@ -84,19 +84,6 @@ eclipse.classpath.file.whenMerged { } } -// Due to an apparent bug in Gradle, even though we exclude the "main" classpath -// entries for sources generated by XJC in spring-oxm.gradle, the Gradle eclipse -// plugin still includes them in the generated .classpath file. So, we have to -// manually remove those lingering "main" entries. -if (project.name == "spring-oxm") { - eclipse.classpath.file.whenMerged { classpath -> - classpath.entries.removeAll { - it.path =~ /build\/generated\/sources\/xjc\/.+/ && - it.entryAttributes.get("gradle_scope") == "main" - } - } -} - // Include project specific settings tasks.register('eclipseSettings', Copy) { from rootProject.files(