diff --git a/.github/dco.yml b/.github/dco.yml new file mode 100644 index 000000000..0c4b142e9 --- /dev/null +++ b/.github/dco.yml @@ -0,0 +1,2 @@ +require: + members: false diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..411d4a933 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,21 @@ +# GitHub Actions for CodeQL Scanning + +name: "CodeQL Advanced" + +on: + push: + pull_request: + workflow_dispatch: + schedule: + # https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule + - cron: '0 5 * * *' + +permissions: read-all + +jobs: + codeql-analysis-call: + permissions: + actions: read + contents: read + security-events: write + uses: spring-io/github-actions/.github/workflows/codeql-analysis.yml@1 diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml index a5f764579..4c8108d35 100644 --- a/.github/workflows/project.yml +++ b/.github/workflows/project.yml @@ -10,6 +10,11 @@ on: pull_request_target: types: [opened, edited, reopened] +permissions: + contents: read + issues: write + pull-requests: write + jobs: Inbox: runs-on: ubuntu-latest diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index 1e3bb355f..e0857eaa2 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -3,6 +3,6 @@ io.spring.develocity.conventions develocity-conventions-maven-extension - 0.0.19 + 0.0.22 diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 000000000..e27f6e8f5 --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,14 @@ +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED +--add-opens=java.base/java.util=ALL-UNNAMED +--add-opens=java.base/java.lang.reflect=ALL-UNNAMED +--add-opens=java.base/java.text=ALL-UNNAMED +--add-opens=java.desktop/java.awt.font=ALL-UNNAMED diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 8eb4cb3b3..c0870ea66 100755 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,2 @@ -#Thu Nov 07 09:47:17 CET 2024 -distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip +#Thu Jul 17 14:04:38 CEST 2025 +distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index d0165f681..f4023c5bc 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc @@ -68,7 +68,7 @@ Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only). 7. Make sure you follow the <> guidelines. 8. Make sure you provide your full name and an email address registered with your GitHub account. -If you're a first-time submitter, make sure you have signed the https://cla.pivotal.io/sign/spring[Contributor License Agreement]. +All commits must include a __Signed-off-by__ trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin. 9. You may sign your commits with a GPG key. As we generally cherry-pick commits for merging, it can happen that your signature is replaced by a signature from a maintainer that pushes your changes to the target branches. @@ -208,7 +208,8 @@ For methods consisting of more than one line of code, have a blank line after th * Be polite. It might be the first time someone contributes to an OpenSource project so we should forgive violations to the contribution guidelines. Use some gut feeling to find out in how far it makes sense to ask the reporter to fix stuff or just go ahead and add a polishing commit yourself. -* Before we accept a non-trivial patch or pull request we will need you to https://cla.pivotal.io/sign/spring[sign the Contributor License Agreement]. +* All commits must include a __Signed-off-by__ trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin. +For additional details, please refer to the blog post https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring[Hello DCO, Goodbye CLA: Simplifying Contributions to Spring]. Signing the contributor’s agreement does not grant anyone commit rights to the main repository, but it does mean that we can accept your contributions, and you will get an author credit if we do. If you forget to do so, you'll be reminded when you submit a pull request. * Before merging stuff back into `main`, make sure you rebase the branch. diff --git a/README.adoc b/README.adoc index 2d48eacc8..3bf20072c 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,4 @@ -= Spring Data Build Infrastructure image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-build%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-build/] image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Build"] += Spring Data Build Infrastructure image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Build"] This repository contains common infrastructure to be used by Spring Data modules that build with Maven. It consists of a _resources_ project that bundles up resources that are needed during the build CSS for reference documentation generation and JavaDoc. The second project is _parent_ that can be used as parent project to pre-configure core dependencies, properties, reference documentation generation and most important of all the appropriate distribution assembly. @@ -65,7 +65,7 @@ As an example have a look at the build of https://github.com/spring-projects/spr === Multi project setup -A multi module setup requires slightly more setup and some structure being set up. +A multi-module setup requires slightly more setup and some structure being set up. * The root `pom.xml` needs to configure the `project.type` property to `multi`. * Asciidoc documentation sources need to be in the root project. @@ -83,7 +83,7 @@ As an example have a look at the build of https://github.com/spring-projects/spr == Additional build profiles * `ci` - Packages the JavaDoc as JAR for distribution (needs to be active on the CI server to make sure we distribute JavaDoc as JAR). -* `distribute` - Creates Asciidoc documentation. +* `antora` - Creates Antora documentation. * `distribute-schema` - Creates schema file distribution. * `spring…-next` - Configures the Spring version to be used to be the next Spring Framework snapshot version. diff --git a/ci/pipeline.properties b/ci/pipeline.properties index cd2fcf7fb..7b01602c3 100644 --- a/ci/pipeline.properties +++ b/ci/pipeline.properties @@ -1,6 +1,6 @@ # Java versions -java.main.tag=17.0.13_11-jdk-focal -java.next.tag=23.0.1_11-jdk-noble +java.main.tag=17.0.15_6-jdk-focal +java.next.tag=24.0.1_9-jdk-noble # Docker container images - standard docker.java.main.image=library/eclipse-temurin:${java.main.tag} diff --git a/parent/pom.xml b/parent/pom.xml index 7338e9776..076356f92 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -1,5 +1,4 @@ - - + 4.13.2 - 5.11.3 + 5.11.4 1.9.25 1.9.0 - 1.4.13 - 1.14.0 - 1.4.0 + 1.5.20 + 1.14.13 + 1.4.12 5.14.2 - 1.13.13 + 1.13.17 5.1.0 - 2024.0.0 + 2024.0.12 2.2.21 - 3.1.9 + 3.1.12 1.10.0 - 2.0.2 - 6.2.0 + 2.0.17 + 6.2.12 src/main/antora/antora-playbook.yml - 0.0.3 + https://docs.spring.io + ${documentation.baseurl}/spring-framework/docs/${spring}/javadoc-api + 0.0.4 1.0.0-alpha.4 0.0.7 - 2.4.0 + 2.4.1 3.0.0 6.0.0 - 1.20.3 + 1.20.6 3.0.2 - 0.10.4 - 4.0.2 + 0.10.5 + 4.0.3 - 2024.1.0 + 2024.1.12-SNAPSHOT @@ -152,11 +153,9 @@ - - ci @@ -212,20 +211,19 @@ - - - - + pre-release + + org.apache.maven.plugins maven-enforcer-plugin @@ -259,14 +257,18 @@ + + antora-process-resources + + io.spring.maven.antora antora-component-version-maven-plugin @@ -291,7 +293,7 @@ ${spring} - + @@ -324,6 +326,7 @@ + antora @@ -333,9 +336,10 @@ true true - + + org.jetbrains.kotlin @@ -353,10 +357,12 @@ true + + io.spring.maven.antora antora-maven-plugin @@ -373,6 +379,7 @@ + org.antora antora-maven-plugin @@ -389,6 +396,7 @@ + @@ -399,7 +407,6 @@ - distribute @@ -415,14 +422,13 @@ org.springframework.data.build spring-data-build-resources - 3.4.0 + 3.4.12-SNAPSHOT zip true - @@ -446,7 +452,6 @@ - org.apache.maven.plugins maven-dependency-plugin @@ -471,7 +476,6 @@ - org.apache.maven.plugins maven-javadoc-plugin @@ -521,7 +525,7 @@ - + @@ -577,7 +581,6 @@ - org.asciidoctor asciidoctor-maven-plugin @@ -621,8 +624,8 @@ ${project.version} ${aspectj} ${querydsl} - https://docs.spring.io/spring-framework/docs/${spring}/reference/html/ - https://docs.spring.io/spring-framework/docs/${spring}/javadoc-api/ + ${antora.baseurl}/spring-framework/reference/${spring} + ${antora.spring-javadoc-url}/ ${spring} ${spring-hateoas} ${releasetrain} @@ -657,7 +660,6 @@ - org.jfrog.buildinfo artifactory-maven-plugin @@ -696,10 +698,10 @@ + - @@ -707,7 +709,6 @@ - distribute-schema @@ -723,14 +724,13 @@ org.springframework.data.build spring-data-build-resources - 3.4.0 + 3.4.12-SNAPSHOT zip true - @@ -754,7 +754,6 @@ - org.apache.maven.plugins maven-dependency-plugin @@ -781,7 +780,6 @@ Depended on by the site.xml assembly descriptor. Conditional execution if schemas are present. --> - org.apache.maven.plugins maven-antrun-plugin @@ -860,7 +858,6 @@ - org.jfrog.buildinfo artifactory-maven-plugin @@ -899,6 +896,7 @@ + @@ -906,10 +904,12 @@ + spring6-next - 6.2.1-SNAPSHOT + 6.2.11-SNAPSHOT + spring-snapshot @@ -922,7 +922,9 @@ + jackson-next + 2.15.2 @@ -938,7 +940,9 @@ + jmh + com.github.mp911de.microbenchmark-runner @@ -947,6 +951,7 @@ test + jitpack.io @@ -1130,7 +1135,6 @@ --> - @@ -1160,13 +1164,13 @@ org.apache.maven.plugins maven-assembly-plugin - 3.6.0 + 3.7.1 org.apache.maven.plugins maven-compiler-plugin - 3.12.1 + 3.13.0 true true @@ -1176,12 +1180,12 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.3.1 + 3.6.0 com.puppycrawl.tools checkstyle - 10.9.3 + 10.20.1 io.spring.nohttp @@ -1194,25 +1198,25 @@ org.apache.maven.plugins maven-dependency-plugin - 3.6.1 + 3.8.1 org.apache.maven.plugins maven-deploy-plugin - 3.1.1 + 3.1.3 org.apache.maven.plugins maven-enforcer-plugin - 3.4.1 + 3.5.0 org.apache.maven.plugins maven-failsafe-plugin - 3.2.5 + 3.5.2 false @@ -1227,25 +1231,25 @@ org.apache.maven.plugins maven-jar-plugin - 3.3.0 + 3.4.2 org.apache.maven.plugins maven-javadoc-plugin - 3.6.3 + 3.11.1 org.apache.maven.plugins maven-source-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins maven-surefire-plugin - 3.2.5 + 3.5.2 false @@ -1254,13 +1258,13 @@ org.codehaus.mojo build-helper-maven-plugin - 3.5.0 + 3.6.0 org.codehaus.mojo exec-maven-plugin - 3.1.1 + 3.5.0 @@ -1270,7 +1274,6 @@ - @@ -1294,6 +1297,7 @@ + compile compile @@ -1307,6 +1311,7 @@ + test-compile test-compile @@ -1320,6 +1325,7 @@ + jmh-compile test-compile @@ -1333,6 +1339,7 @@ + @@ -1344,14 +1351,17 @@ ${source.level} + default-compile none + default-testCompile none + java-compile compile @@ -1359,6 +1369,7 @@ compile + java-test-compile test-compile @@ -1366,6 +1377,7 @@ testCompile + @@ -1423,6 +1435,7 @@ org.codehaus.mojo build-helper-maven-plugin + add-jmh-source generate-test-sources @@ -1435,6 +1448,7 @@ + add-kotlin-source prepare-package @@ -1447,6 +1461,7 @@ + @@ -1463,10 +1478,10 @@ true html,reference - https://docs.spring.io/spring/docs/${spring}/javadoc-api/ - https://docs.spring.io/spring-data/commons/docs/current/api/ - https://docs.spring.io/spring-data/keyvalue/docs/current/api/ - https://docs.spring.io/spring-hateoas/docs/current/api/ + ${documentation.spring-javadoc-url} + ${documentation.baseurl}/spring-data/commons/docs/current/api/ + ${documentation.baseurl}/spring-data/keyvalue/docs/current/api/ + ${documentation.baseurl}/spring-hateoas/docs/current/api/ https://docs.oracle.com/en/java/javase/17/docs/api/ @@ -1499,8 +1514,20 @@ - - + + spring-snapshot + https://repo.spring.io/snapshot + + true + + + false + + + + spring-milestone + https://repo.spring.io/milestone + - + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 45669a974..05531b5db 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.springframework.data.build spring-data-build - 3.4.0 + 3.4.12-SNAPSHOT pom Spring Data Build @@ -51,7 +51,7 @@ Apache License, Version 2.0 https://www.apache.org/licenses/LICENSE-2.0 - Copyright 2010-2024 the original author or authors. + Copyright 2010-2025 the original author or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -81,7 +81,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.1.0 + 3.2.7 sign-artifacts @@ -103,7 +103,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.4.1 + 3.5.0 enforce-release-rules @@ -209,7 +209,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.13 + 1.6.8 true sonatype @@ -217,6 +217,13 @@ false true + + + com.thoughtworks.xstream + xstream + 1.4.15 + + diff --git a/resources/pom.xml b/resources/pom.xml index fa76c825b..2c9ccdb18 100644 --- a/resources/pom.xml +++ b/resources/pom.xml @@ -8,7 +8,7 @@ org.springframework.data.build spring-data-build - 3.4.0 + 3.4.12-SNAPSHOT ../pom.xml diff --git a/resources/src/main/resources/assemblies/docs.xml b/resources/src/main/resources/assemblies/docs.xml index c72e8d45f..ce0c5c01c 100644 --- a/resources/src/main/resources/assemblies/docs.xml +++ b/resources/src/main/resources/assemblies/docs.xml @@ -31,7 +31,7 @@ Adds javadoc html to the distribution archive under the 'docs/javadoc' directory see pom.xml 'maven-javadoc-plugin' declaration. --> - ${project.root}/target/site/apidocs + ${project.root}/target/reports/apidocs api diff --git a/resources/src/main/resources/assemblies/resources.xml b/resources/src/main/resources/assemblies/resources.xml index b8538dc5a..cc78a039c 100644 --- a/resources/src/main/resources/assemblies/resources.xml +++ b/resources/src/main/resources/assemblies/resources.xml @@ -28,8 +28,8 @@ Adds javadoc html to the distribution archive under the 'docs/javadoc' directory see pom.xml 'maven-javadoc-plugin' declaration. --> - ${project.root}/target/site/apidocs + ${project.root}/target/reports/apidocs docs/api - \ No newline at end of file +