From 5ca9829468e57fb79dcebd0535bca63a00486eaf Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sat, 7 Jun 2025 09:52:28 +0200 Subject: [PATCH 01/37] Back to snapshots for further development --- gradle.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 0e69e1385cc5..f2b2b5951f16 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,13 @@ group = org.junit -version = 5.13.1 +version = 5.13.2-SNAPSHOT jupiterGroup = org.junit.jupiter platformGroup = org.junit.platform -platformVersion = 1.13.1 +platformVersion = 1.13.2-SNAPSHOT vintageGroup = org.junit.vintage -vintageVersion = 5.13.1 +vintageVersion = 5.13.2-SNAPSHOT # We need more metaspace due to apparent memory leak in Asciidoctor/JRuby org.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError From 44607f0f4a776d6a7ac67199d61f7896b39c8cbc Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 18 Jun 2025 17:23:43 +0200 Subject: [PATCH 02/37] Add reference to `@ParameterizedClass` (cherry picked from commit 2ab952c7e9c73f685b849b836a5ccf13761ae1bb) --- .../junit/jupiter/params/converter/ArgumentConverter.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/ArgumentConverter.java b/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/ArgumentConverter.java index eae935d66e75..85a8e222b42c 100644 --- a/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/ArgumentConverter.java +++ b/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/ArgumentConverter.java @@ -25,8 +25,12 @@ * *

Such an {@code ArgumentConverter} is applied to the method parameter * of a {@link org.junit.jupiter.params.ParameterizedTest @ParameterizedTest} - * method with the help of a - * {@link org.junit.jupiter.params.converter.ConvertWith @ConvertWith} annotation. + * or a constructor parameter or + * {@link org.junit.jupiter.params.Parameter @Parameter}-annotated field of a + * {@link org.junit.jupiter.params.ParameterizedClass @ParameterizedClass} with + * the help of a + * {@link org.junit.jupiter.params.converter.ConvertWith @ConvertWith} + * annotation. * *

Implementations must provide a no-args constructor or a single unambiguous * constructor to use {@linkplain ParameterResolver parameter resolution}. They From ae1780fb43372202464671fd4e4615e9a7d23db2 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 18 Jun 2025 17:24:38 +0200 Subject: [PATCH 03/37] Use automatic token for publication to GitHub Pages (cherry picked from commit c662e7997a46be6a320ec0bc1904211b2150f907) --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aadc10b78069..ddb24f613c26 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -104,6 +104,8 @@ jobs: cancel-in-progress: true needs: macOS runs-on: ubuntu-latest + permissions: + contents: write steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -135,4 +137,4 @@ jobs: -Dscan.tag.Documentation env: GIT_USERNAME: git - GIT_PASSWORD: ${{ secrets.GH_TOKEN }} + GIT_PASSWORD: ${{ secrets.GITHUB_TOKEN }} From e4363d11dcdc6aacc5d8c60f8cf5781e973b4e28 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 18 Jun 2025 18:01:49 +0200 Subject: [PATCH 04/37] Stop trying to write to remote build cache PR builds from forks (cherry picked from commit fff3323dbd58c80f7340c90fbde2a7d87349eea0) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index ba5ae9fd677f..0add77681497 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -57,7 +57,7 @@ buildCache { if (useDevelocityInstance) { remote(develocity.buildCache) { server = buildCacheServer.orNull - val authenticated = System.getenv("DEVELOCITY_ACCESS_KEY") != null + val authenticated = System.getenv("DEVELOCITY_ACCESS_KEY").isNotBlank() isPush = buildParameters.ci && authenticated } } else { From ea8367db13e1e63b5f784be0d1125fbe14c0313a Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 18 Jun 2025 19:29:29 +0200 Subject: [PATCH 05/37] Avoid failing of `DEVELOCITY_ACCESS_KEY` env var is not set (cherry picked from commit 57e3991c54742f3ffd2cc89b19ccfecc40891256) --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 0add77681497..1ec855e53437 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -57,7 +57,7 @@ buildCache { if (useDevelocityInstance) { remote(develocity.buildCache) { server = buildCacheServer.orNull - val authenticated = System.getenv("DEVELOCITY_ACCESS_KEY").isNotBlank() + val authenticated = !System.getenv("DEVELOCITY_ACCESS_KEY").isNullOrEmpty() isPush = buildParameters.ci && authenticated } } else { From e51d27b32991ebdb76650a2b91330f8d7a681dcb Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 18 Jun 2025 19:30:24 +0200 Subject: [PATCH 06/37] Inject `DEVELOCITY_ACCESS_KEY` to dependency graph workflow (cherry picked from commit 1e4b681522972966f0d9d628293dbb8861f10f7f) --- .github/workflows/gradle-dependency-submission.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml index eda44140d013..81eaddcd051d 100644 --- a/.github/workflows/gradle-dependency-submission.yml +++ b/.github/workflows/gradle-dependency-submission.yml @@ -7,6 +7,9 @@ on: permissions: read-all +env: + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} + jobs: dependency-submission: if: github.repository == 'junit-team/junit5' From 35e870136fe42d19b6d93c89d16d9bdeb6db0ffb Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 19 Jun 2025 07:57:36 +0200 Subject: [PATCH 07/37] Use automatic token for publication to GitHub Pages for releases (cherry picked from commit 5fc82070a3c398cef0199c4c3c23fd21590e93d5) --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ba681c68077..dcfd24e30c25 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -180,6 +180,8 @@ jobs: name: Publish documentation needs: publish_deployment runs-on: ubuntu-latest + permissions: + contents: write steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -209,7 +211,7 @@ jobs: uses: ./.github/actions/run-gradle env: GIT_USERNAME: git - GIT_PASSWORD: ${{ secrets.GH_TOKEN }} + GIT_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: encryptionKey: ${{ secrets.GRADLE_ENCRYPTION_KEY }} arguments: | From e07c58815dca84035e477ebdfd9d151fbb04bb9d Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 19 Jun 2025 08:04:28 +0200 Subject: [PATCH 08/37] Use fine-grained access token to read/write samples repo during release (cherry picked from commit 5804bf244d7df8244d031accadc2dcb3baf05fd1) --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dcfd24e30c25..eb4ef1585634 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: ${{ github.repository_owner }}/junit5-samples - token: ${{ secrets.GH_TOKEN }} + token: ${{ secrets.JUNIT_BUILDS_GITHUB_TOKEN_SAMPLES_REPO }} fetch-depth: 1 path: junit5-samples - name: Set up JDK @@ -242,7 +242,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: ${{ github.repository_owner }}/junit5-samples - token: ${{ secrets.GH_TOKEN }} + token: ${{ secrets.JUNIT_BUILDS_GITHUB_TOKEN_SAMPLES_REPO }} fetch-depth: 1 - name: Set up JDK uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 From 623191cad6e39217c49529d629b21c8420a8bc02 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 19 Jun 2025 08:11:18 +0200 Subject: [PATCH 09/37] Stop passing `GITHUB_TOKEN` explicitly as it's the default (cherry picked from commit f4ff00db6b6d99cbaf377d2fc90f2463d1edd8c2) --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ddb24f613c26..4955603a695c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,6 @@ jobs: distribution: graalvm-community version: 'latest' java-version: '21' - github-token: ${{ secrets.GITHUB_TOKEN }} - name: Build uses: ./.github/actions/main-build with: From ec3881c5d3ffeacee499a75c31a114fb7daa4c69 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 20 Jun 2025 14:40:19 +0200 Subject: [PATCH 10/37] Publish documentation to docs.junit.org GitHub repo's main branch (cherry picked from commit a5e8eb39dbe3931ce9e8232c95e686d9619ce1cf) --- .github/workflows/main.yml | 4 +--- .github/workflows/release.yml | 4 +--- documentation/documentation.gradle.kts | 11 +++++------ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4955603a695c..b521978bdf43 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -103,8 +103,6 @@ jobs: cancel-in-progress: true needs: macOS runs-on: ubuntu-latest - permissions: - contents: write steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -136,4 +134,4 @@ jobs: -Dscan.tag.Documentation env: GIT_USERNAME: git - GIT_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + GIT_PASSWORD: ${{ secrets.JUNIT_BUILDS_GITHUB_TOKEN_DOCS_REPO }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb4ef1585634..fa12d9c03639 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -180,8 +180,6 @@ jobs: name: Publish documentation needs: publish_deployment runs-on: ubuntu-latest - permissions: - contents: write steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -211,7 +209,7 @@ jobs: uses: ./.github/actions/run-gradle env: GIT_USERNAME: git - GIT_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + GIT_PASSWORD: ${{ secrets.JUNIT_BUILDS_GITHUB_TOKEN_DOCS_REPO }} with: encryptionKey: ${{ secrets.GRADLE_ENCRYPTION_KEY }} arguments: | diff --git a/documentation/documentation.gradle.kts b/documentation/documentation.gradle.kts index a5f806e99b60..ae3f203f3911 100644 --- a/documentation/documentation.gradle.kts +++ b/documentation/documentation.gradle.kts @@ -108,10 +108,9 @@ val ota4jDocVersion = libs.versions.opentest4j.map { if (it.isSnapshot()) "snaps val apiGuardianDocVersion = libs.versions.apiguardian.map { if (it.isSnapshot()) "snapshot" else it }.get() gitPublish { - repoUri = "https://github.com/junit-team/junit5.git" - referenceRepoUri = rootDir.toURI().toString() + repoUri = "https://github.com/junit-team/docs.junit.org.git" - branch = "gh-pages" + branch = "main" sign = false fetchDepth = 1 @@ -120,14 +119,14 @@ gitPublish { contents { from(docsDir) - into("docs") + into(".") } preserve { include("**/*") - exclude("docs/$docsVersion/**") + exclude("$docsVersion/**") if (replaceCurrentDocs) { - exclude("docs/current/**") + exclude("current/**") } } } From 0009e686250eea739828e8e7a03e17f5477e9936 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 17 Jun 2025 09:49:41 +0200 Subject: [PATCH 11/37] Create initial 5.13.2 release notes from template (cherry picked from commit e6ab3e35ff8df6f433c1eea0b13010ceebfffe03) --- .../docs/asciidoc/release-notes/index.adoc | 2 + .../release-notes/release-notes-5.13.2.adoc | 67 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc diff --git a/documentation/src/docs/asciidoc/release-notes/index.adoc b/documentation/src/docs/asciidoc/release-notes/index.adoc index 62d53b05257e..6bb9b4c46d3d 100644 --- a/documentation/src/docs/asciidoc/release-notes/index.adoc +++ b/documentation/src/docs/asciidoc/release-notes/index.adoc @@ -17,6 +17,8 @@ authors as well as build tool and IDE vendors. include::{includedir}/link-attributes.adoc[] +include::{basedir}/release-notes-5.13.2.adoc[] + include::{basedir}/release-notes-5.13.1.adoc[] include::{basedir}/release-notes-5.13.0.adoc[] diff --git a/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc b/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc new file mode 100644 index 000000000000..633f4b185eac --- /dev/null +++ b/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc @@ -0,0 +1,67 @@ +[[release-notes-5.13.2]] +== 5.13.2 + +*Date of Release:* ❓ + +*Scope:* ❓ + +For a complete list of all _closed_ issues and pull requests for this release, consult the +link:{junit5-repo}+/milestone/98?closed=1+[5.13.2] milestone page in the JUnit repository +on GitHub. + + +[[release-notes-5.13.2-junit-platform]] +=== JUnit Platform + +[[release-notes-5.13.2-junit-platform-bug-fixes]] +==== Bug Fixes + +* ❓ + +[[release-notes-5.13.2-junit-platform-deprecations-and-breaking-changes]] +==== Deprecations and Breaking Changes + +* ❓ + +[[release-notes-5.13.2-junit-platform-new-features-and-improvements]] +==== New Features and Improvements + +* ❓ + + +[[release-notes-5.13.2-junit-jupiter]] +=== JUnit Jupiter + +[[release-notes-5.13.2-junit-jupiter-bug-fixes]] +==== Bug Fixes + +* ❓ + +[[release-notes-5.13.2-junit-jupiter-deprecations-and-breaking-changes]] +==== Deprecations and Breaking Changes + +* ❓ + +[[release-notes-5.13.2-junit-jupiter-new-features-and-improvements]] +==== New Features and Improvements + +* ❓ + + +[[release-notes-5.13.2-junit-vintage]] +=== JUnit Vintage + +[[release-notes-5.13.2-junit-vintage-bug-fixes]] +==== Bug Fixes + +* ❓ + +[[release-notes-5.13.2-junit-vintage-deprecations-and-breaking-changes]] +==== Deprecations and Breaking Changes + +* ❓ + +[[release-notes-5.13.2-junit-vintage-new-features-and-improvements]] +==== New Features and Improvements + +* ❓ From 6b256d603005f8cd06a5ca5f143afaee3792608e Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Tue, 17 Jun 2025 11:58:26 +0200 Subject: [PATCH 12/37] Add `JAVA_26` to `JRE` enum Add `JRE.JAVA_26` constant and introduce JDK 26-ea CI build Closes #4642 (cherry picked from commit 00d380bfce0902e5231afaed2dcf84e8dd861c20) --- .github/workflows/cross-version.yml | 2 ++ .../base/code-generator-model/src/main/resources/jre.yaml | 2 ++ .../api/condition/EnabledForJreRangeConditionTests.java | 6 ++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cross-version.yml b/.github/workflows/cross-version.yml index 7c51412feaaf..f4d5049f0324 100644 --- a/.github/workflows/cross-version.yml +++ b/.github/workflows/cross-version.yml @@ -26,6 +26,8 @@ jobs: type: ga - version: 25 type: ea + - version: 26 + type: ea name: "OpenJDK ${{ matrix.jdk.version }} (${{ matrix.jdk.release || matrix.jdk.type }})" runs-on: ubuntu-latest steps: diff --git a/gradle/base/code-generator-model/src/main/resources/jre.yaml b/gradle/base/code-generator-model/src/main/resources/jre.yaml index 1747ffa12dd6..90654b64919d 100644 --- a/gradle/base/code-generator-model/src/main/resources/jre.yaml +++ b/gradle/base/code-generator-model/src/main/resources/jre.yaml @@ -30,3 +30,5 @@ since: '5.11' - version: 25 since: '5.11.4' +- version: 26 + since: '6.0' diff --git a/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java b/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java index 886af0b8e309..21b3eac63172 100644 --- a/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java +++ b/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java @@ -27,6 +27,7 @@ import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava23; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava24; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava25; +import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava26; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava8; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava9; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onKnownVersion; @@ -209,7 +210,8 @@ void minVersionGreaterThanMax() { @Test void min20() { evaluateCondition(); - assertEnabledOnCurrentJreIf(onJava20() || onJava21() || onJava22() || onJava23() || onJava24() || onJava25()); + assertEnabledOnCurrentJreIf( + onJava20() || onJava21() || onJava22() || onJava23() || onJava24() || onJava25() || onJava26()); } /** @@ -320,7 +322,7 @@ void minVersion20MaxVersion21() { void minVersion17MaxVersionMaxInteger() { evaluateCondition(); assertEnabledOnCurrentJreIf(onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22() - || onJava23() || onJava24() || onJava25()); + || onJava23() || onJava24() || onJava25() || onJava26()); } /** From 70811992fded377d7add9d228178a57533d6d3d9 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sat, 21 Jun 2025 13:23:38 +0200 Subject: [PATCH 13/37] Move entry to 5.13.2 release notes (cherry picked from commit 801d5461a8ecbf0032d840c5e14b57a66bd04177) --- .../src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc b/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc index 633f4b185eac..667da2449d27 100644 --- a/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc +++ b/documentation/src/docs/asciidoc/release-notes/release-notes-5.13.2.adoc @@ -45,7 +45,7 @@ on GitHub. [[release-notes-5.13.2-junit-jupiter-new-features-and-improvements]] ==== New Features and Improvements -* ❓ +* `JAVA_26` has been added to the `JRE` enum for use with JRE-based execution conditions. [[release-notes-5.13.2-junit-vintage]] From 88281f391bdc1ef9e3d896ca3234623c809fc1d5 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Mon, 26 May 2025 18:18:51 +0200 Subject: [PATCH 14/37] Update links to Maven Central and GitHub Discussions Co-authored-by: Marc Philipp (cherry picked from commit 3d74a06879fd97ab91f287c74f8e4ea21e36a9ca) --- README.md | 15 +++++---------- .../src/docs/asciidoc/link-attributes.adoc | 4 ++-- .../src/docs/asciidoc/user-guide/appendix.adoc | 11 ++++++++--- .../src/docs/asciidoc/user-guide/overview.adoc | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index c1a30d55b379..07d5b9c2296c 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ label are specifically targeted for community contributions. ## Getting Help -Ask JUnit 5 related questions on [StackOverflow] or chat with the community on [Gitter]. +Ask JUnit 5 related questions on [StackOverflow] or use the Q&A category on [GitHub Discussions]. ## Continuous Integration Builds @@ -73,14 +73,12 @@ task outputs from previous CI builds. You need [JDK 21] to build JUnit 5. [Gradle toolchains] are used to detect and potentially download additional JDKs for compilation and test execution. -All modules can be _built_ and _tested_ with the [Gradle Wrapper] using the following command. +All modules can be _built_ and _tested_ with the [Gradle Wrapper] using the following command: `./gradlew build` -## Installing in Local Maven Repository - -All modules can be _installed_ with the [Gradle Wrapper] in a local Maven repository for -consumption in other projects via the following command. +All modules can be _installed_ in a local Maven repository for consumption in other local +projects via the following command: `./gradlew publishToMavenLocal` @@ -93,14 +91,11 @@ consumption in other projects via the following command. Consult the [Dependency Metadata] section of the [User Guide] for a list of all artifacts of the JUnit Platform, JUnit Jupiter, and JUnit Vintage. -See also for releases and - for snapshots. - [Codecov]: https://codecov.io/gh/junit-team/junit5 [CONTRIBUTING.md]: https://github.com/junit-team/junit5/blob/HEAD/CONTRIBUTING.md [Dependency Metadata]: https://junit.org/junit5/docs/current/user-guide/#dependency-metadata -[Gitter]: https://gitter.im/junit-team/junit5 +[GitHub Discussions]: https://github.com/junit-team/junit5/discussions/categories/q-a [Gradle toolchains]: https://docs.gradle.org/current/userguide/toolchains.html [Gradle Wrapper]: https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:using_wrapper [JaCoCo]: https://www.eclemma.org/jacoco/ diff --git a/documentation/src/docs/asciidoc/link-attributes.adoc b/documentation/src/docs/asciidoc/link-attributes.adoc index 2342763e5680..5eb61fe13253 100644 --- a/documentation/src/docs/asciidoc/link-attributes.adoc +++ b/documentation/src/docs/asciidoc/link-attributes.adoc @@ -3,7 +3,7 @@ ifdef::backend-pdf[] :javadoc-root: https://junit.org/junit5/docs/{docs-version}/api endif::[] // Snapshot Repository -:snapshot-repo: https://central.sonatype.com/repository/maven-snapshots +:snapshot-repo: https://central.sonatype.com/service/rest/repository/browse/maven-snapshots // Base Links :junit-team: https://github.com/junit-team :junit5-repo: {junit-team}/junit5 @@ -241,7 +241,7 @@ endif::[] :API: https://apiguardian-team.github.io/apiguardian/docs/current/api/[@API] :API_Guardian: https://github.com/apiguardian-team/apiguardian[@API Guardian] :AssertJ: https://assertj.github.io/doc/[AssertJ] -:Gitter: https://gitter.im/junit-team/junit5[Gitter] +:DiscussionsQA: https://github.com/junit-team/junit5/discussions/categories/q-a[Q&A category on GitHub Discussions] :Hamcrest: https://hamcrest.org/JavaHamcrest/[Hamcrest] :Jimfs: https://google.github.io/jimfs/[Jimfs] :Log4j: https://logging.apache.org/log4j/2.x/[Log4j] diff --git a/documentation/src/docs/asciidoc/user-guide/appendix.adoc b/documentation/src/docs/asciidoc/user-guide/appendix.adoc index 9df8622629d5..060ed2877b08 100644 --- a/documentation/src/docs/asciidoc/user-guide/appendix.adoc +++ b/documentation/src/docs/asciidoc/user-guide/appendix.adoc @@ -17,9 +17,14 @@ artifacts in the repositories were actually generated from this source code. [[dependency-metadata]] === Dependency Metadata -Artifacts for final releases and milestones are deployed to {Maven_Central}, and snapshot -artifacts are deployed to Sonatype's {snapshot-repo}[snapshots repository] under -{snapshot-repo}/org/junit/[/org/junit]. +Artifacts for final releases and milestones are deployed to {Maven_Central}. Consult +https://central.sonatype.org/consume/[Sonatype's documentation] for how to consume those +artifacts with a build tool of your choice. + +Snapshot artifacts are deployed to Sonatype's {snapshot-repo}[snapshots repository] +under {snapshot-repo}/org/junit/[/org/junit]. Please refer to +https://central.sonatype.org/publish/publish-portal-snapshots/#consuming-snapshot-releases-for-your-project[Sonatype's documentation] +for instructions on how to consume them with a build tool of your choice. The sections below list all artifacts with their versions for the three groups: <>, diff --git a/documentation/src/docs/asciidoc/user-guide/overview.adoc b/documentation/src/docs/asciidoc/user-guide/overview.adoc index d06a5eb53eda..4c4f15ec50c2 100644 --- a/documentation/src/docs/asciidoc/user-guide/overview.adoc +++ b/documentation/src/docs/asciidoc/user-guide/overview.adoc @@ -47,7 +47,7 @@ has been compiled with previous versions of the JDK. [[overview-getting-help]] === Getting Help -Ask JUnit 5 related questions on {StackOverflow} or chat with the community on {Gitter}. +Ask JUnit 5 related questions on {StackOverflow} or use the {DiscussionsQA}. [[overview-getting-started]] === Getting Started From ca2ab71d30b12be6f2658bbe45919103badeeba4 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 18 Jun 2025 07:29:22 +0200 Subject: [PATCH 15/37] Update IntelliJ settings for 2025.1.2 (cherry picked from commit b39ea8c9051aad0c21d72b437b5daf6fef9e31db) --- .idea/codeStyles/Project.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 9f10a217b5b9..da9a350c8e4c 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -7,6 +7,7 @@

Tag expressions are boolean expressions with the following allowed * operators: {@code !} (not), {@code &} (and), and {@code |} (or). Parentheses * can be used to adjust for operator precedence. Please refer to the - * JUnit 5 User Guide + * JUnit 5 User Guide * for usage examples. * *

Please note that a tag name is a valid tag expression. Thus, wherever a tag diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ClasspathAlignmentChecker.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ClasspathAlignmentChecker.java index 3b95f7153e6a..89256c2fda5c 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ClasspathAlignmentChecker.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ClasspathAlignmentChecker.java @@ -82,7 +82,7 @@ static Optional check(LinkageError error, FunctionTag expressions are boolean expressions with the following allowed * operators: {@code !} (not), {@code &} (and) and {@code |} (or). Parentheses * can be used to adjust for operator precedence. Please refer to the - * JUnit 5 User Guide + * JUnit 5 User Guide * for usage examples. * *

Syntax Rules for Tags

diff --git a/junit-platform-suite-api/src/main/java/org/junit/platform/suite/api/IncludeTags.java b/junit-platform-suite-api/src/main/java/org/junit/platform/suite/api/IncludeTags.java index 12110bee9bfc..654d8e15a2e6 100644 --- a/junit-platform-suite-api/src/main/java/org/junit/platform/suite/api/IncludeTags.java +++ b/junit-platform-suite-api/src/main/java/org/junit/platform/suite/api/IncludeTags.java @@ -31,7 +31,7 @@ *

Tag expressions are boolean expressions with the following allowed * operators: {@code !} (not), {@code &} (and) and {@code |} (or). Parentheses * can be used to adjust for operator precedence. Please refer to the - * JUnit 5 User Guide + * JUnit 5 User Guide * for usage examples. * *

Syntax Rules for Tags

diff --git a/platform-tests/src/test/java/org/junit/platform/launcher/core/ClasspathAlignmentCheckerTests.java b/platform-tests/src/test/java/org/junit/platform/launcher/core/ClasspathAlignmentCheckerTests.java index c15ad7aa543f..e9b75c3bbd51 100644 --- a/platform-tests/src/test/java/org/junit/platform/launcher/core/ClasspathAlignmentCheckerTests.java +++ b/platform-tests/src/test/java/org/junit/platform/launcher/core/ClasspathAlignmentCheckerTests.java @@ -50,7 +50,7 @@ void wrapsLinkageErrorForUnalignedClasspath() { .hasMessageStartingWith("The wrapped LinkageError is likely caused by the versions of " + "JUnit jars on the classpath/module path not being properly aligned.") // .hasMessageContaining("Please ensure consistent versions are used") // - .hasMessageFindingMatch("https://junit\\.org/junit5/docs/.*/user-guide/#dependency-metadata") // + .hasMessageFindingMatch("https://docs\\.junit\\.org/.*/user-guide/#dependency-metadata") // .hasMessageContaining("The following conflicting versions were detected:") // .hasMessageContaining("- org.junit.jupiter.api: 1.0.0") // .hasMessageContaining("- org.junit.jupiter.engine: 2.0.0") // diff --git a/platform-tooling-support-tests/projects/jupiter-starter/build.xml b/platform-tooling-support-tests/projects/jupiter-starter/build.xml index 79d22fcebc4a..b2c2a3bf08e1 100644 --- a/platform-tooling-support-tests/projects/jupiter-starter/build.xml +++ b/platform-tooling-support-tests/projects/jupiter-starter/build.xml @@ -34,7 +34,7 @@ - + @@ -48,7 +48,7 @@ - + From c2ca731616b16b6f6a303fe042978c3dbd541fe8 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 20 Jun 2025 15:52:36 +0200 Subject: [PATCH 27/37] Update links to use schemas.junit.org (cherry picked from commit 20b1845f728641e6c4cc5dfc5623a7b868a08862) --- .../reporting/open/xml/OpenTestReportGeneratingListener.java | 3 +-- .../org/junit/platform/reporting/open/xml/catalog.xml | 2 +- .../platform/reporting/open/xml/JUnitContributorTests.java | 2 +- .../open/xml/OpenTestReportGeneratingListenerTests.java | 2 +- .../AntStarterTests_snapshots/open-test-report.xml.snapshot | 2 +- .../GradleStarterTests_snapshots/open-test-report.xml.snapshot | 2 +- .../MavenStarterTests_snapshots/open-test-report.xml.snapshot | 2 +- 7 files changed, 7 insertions(+), 8 deletions(-) diff --git a/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java b/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java index 954cdc334fc5..4b7ef84dd8a0 100644 --- a/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java +++ b/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java @@ -134,8 +134,7 @@ public void testPlanExecutionStarted(TestPlan testPlan) { .add("e", Namespace.REPORTING_EVENTS) // .add("git", Namespace.REPORTING_GIT) // .add("java", Namespace.REPORTING_JAVA) // - .add("junit", JUnitFactory.NAMESPACE, - "https://junit.org/junit5/schemas/open-test-reporting/junit-1.9.xsd") // + .add("junit", JUnitFactory.NAMESPACE, "https://schemas.junit.org/open-test-reporting/junit-1.9.xsd") // .build(); outputDir = testPlan.getOutputDirectoryProvider().getRootDirectory(); Path eventsXml = outputDir.resolve("open-test-report.xml"); diff --git a/junit-platform-reporting/src/main/resources/org/junit/platform/reporting/open/xml/catalog.xml b/junit-platform-reporting/src/main/resources/org/junit/platform/reporting/open/xml/catalog.xml index 057d295ac832..d3c5a0eda66d 100644 --- a/junit-platform-reporting/src/main/resources/org/junit/platform/reporting/open/xml/catalog.xml +++ b/junit-platform-reporting/src/main/resources/org/junit/platform/reporting/open/xml/catalog.xml @@ -1,4 +1,4 @@ - + diff --git a/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/JUnitContributorTests.java b/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/JUnitContributorTests.java index e13f7b44fce4..294431df165a 100644 --- a/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/JUnitContributorTests.java +++ b/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/JUnitContributorTests.java @@ -28,7 +28,7 @@ void contributesJUnitSpecificMetadata(@TempDir Path tempDir) throws Exception { """ + xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://schemas.junit.org/open-test-reporting/junit-1.9.xsd"> [engine:dummy] diff --git a/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListenerTests.java b/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListenerTests.java index 80a076abaa59..bf29a1c3c1f2 100644 --- a/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListenerTests.java +++ b/platform-tests/src/test/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListenerTests.java @@ -108,7 +108,7 @@ void writesValidXmlReport(@TempDir Path tempDirectory) throws Exception { xmlns:java="https://schemas.opentest4j.org/reporting/java/0.2.0" xmlns:junit="https://schemas.junit.org/open-test-reporting" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://junit.org/junit5/schemas/open-test-reporting/junit-1.9.xsd"> + xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://schemas.junit.org/open-test-reporting/junit-1.9.xsd"> ${xmlunit.ignore} ${xmlunit.ignore} diff --git a/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot b/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot index 240a71ef3fd3..b6193859beec 100644 --- a/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot +++ b/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot @@ -9,7 +9,7 @@ test-method: ant_starter xmlns:git="https://schemas.opentest4j.org/reporting/git/0.2.0" xmlns:java="https://schemas.opentest4j.org/reporting/java/0.2.0" xmlns:junit="https://schemas.junit.org/open-test-reporting" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://junit.org/junit5/schemas/open-test-reporting/junit-1.9.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://schemas.junit.org/open-test-reporting/junit-1.9.xsd"> obfuscated diff --git a/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot b/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot index ce4ce4f15535..09377aa77dd2 100644 --- a/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot +++ b/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot @@ -9,7 +9,7 @@ test-method: buildJupiterStarterProject xmlns:git="https://schemas.opentest4j.org/reporting/git/0.2.0" xmlns:java="https://schemas.opentest4j.org/reporting/java/0.2.0" xmlns:junit="https://schemas.junit.org/open-test-reporting" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://junit.org/junit5/schemas/open-test-reporting/junit-1.9.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://schemas.junit.org/open-test-reporting/junit-1.9.xsd"> obfuscated diff --git a/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot b/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot index 52ad3af973c1..ee2d20a63f1c 100644 --- a/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot +++ b/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot @@ -9,7 +9,7 @@ test-method: verifyJupiterStarterProject xmlns:git="https://schemas.opentest4j.org/reporting/git/0.2.0" xmlns:java="https://schemas.opentest4j.org/reporting/java/0.2.0" xmlns:junit="https://schemas.junit.org/open-test-reporting" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://junit.org/junit5/schemas/open-test-reporting/junit-1.9.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.junit.org/open-test-reporting https://schemas.junit.org/open-test-reporting/junit-1.9.xsd"> obfuscated From 00e0fed273fef75c285774fa16d6568937479dc7 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 20 Jun 2025 16:45:57 +0200 Subject: [PATCH 28/37] Update links to use junit5 logo (cherry picked from commit 4e55e4368ffe41c94e5b7c629b2be7889a2af383) --- README.md | 2 +- documentation/documentation.gradle.kts | 2 +- documentation/src/docs/asciidoc/docinfos/docinfo.html | 2 +- .../main/kotlin/junitbuild.publishing-conventions.gradle.kts | 2 +- .../commons/support/conversion/ConversionSupportTests.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 940c41ad7915..5d6131aea508 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# JUnit 5 +# JUnit 5 This repository is the home of _JUnit 5_. diff --git a/documentation/documentation.gradle.kts b/documentation/documentation.gradle.kts index 6ae15a578bb6..f6f5552ec9f6 100644 --- a/documentation/documentation.gradle.kts +++ b/documentation/documentation.gradle.kts @@ -494,7 +494,7 @@ tasks { } from(inputDir) { filesMatching("**/*.html") { - val favicon = "" + val favicon = "" filter { line -> var result = if (line.startsWith("")) line.replace("", "$favicon") else line externalModulesWithoutModularJavadoc.forEach { (moduleName, baseUrl) -> diff --git a/documentation/src/docs/asciidoc/docinfos/docinfo.html b/documentation/src/docs/asciidoc/docinfos/docinfo.html index 30e46e0a474e..4e2828f34013 100644 --- a/documentation/src/docs/asciidoc/docinfos/docinfo.html +++ b/documentation/src/docs/asciidoc/docinfos/docinfo.html @@ -1,4 +1,4 @@ - +