dingyiz's picture
Upload folder using huggingface_hub
2795186 verified
[[appendix]]
== Appendix
[[reproducible-builds]]
=== Reproducible Builds
Starting with version 5.7, JUnit 5 aims for its non-javadoc JARs to be
https://reproducible-builds.org/[reproducible].
Under identical build conditions, such as Java version, repeated builds should provide the
same output byte-for-byte.
This means that anyone can reproduce the build conditions of the artifacts on Maven
Central/Sonatype and produce the same output artifact locally, confirming that the
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].
[[dependency-metadata-junit-platform]]
==== JUnit Platform
* *Group ID*: `org.junit.platform`
* *Version*: `{platform-version}`
* *Artifact IDs*:
`junit-platform-commons`::
Common APIs and support utilities for the JUnit Platform. Any API annotated with
`@API(status = INTERNAL)` is intended solely for usage within the JUnit framework
itself. _Any usage of internal APIs by external parties is not supported!_
`junit-platform-console`::
Support for discovering and executing tests on the JUnit Platform from the console.
See <<running-tests-console-launcher>> for details.
`junit-platform-console-standalone`::
An executable JAR with all dependencies included is provided in Maven Central under the
https://repo1.maven.org/maven2/org/junit/platform/junit-platform-console-standalone[junit-platform-console-standalone]
directory. See <<running-tests-console-launcher>> for details.
`junit-platform-engine`::
Public API for test engines. See <<launcher-api-engines-custom>> for details.
`junit-platform-jfr`::
Provides a `LauncherDiscoveryListener` and `TestExecutionListener` for Java Flight
Recorder events on the JUnit Platform. See <<running-tests-listeners-flight-recorder>>
for details.
`junit-platform-launcher`::
Public API for configuring and launching test plans -- typically used by IDEs and
build tools. See <<launcher-api>> for details.
`junit-platform-reporting`::
`TestExecutionListener` implementations that generate test reports -- typically used
by IDEs and build tools. See <<junit-platform-reporting>> for details.
`junit-platform-runner`::
Runner for executing tests and test suites on the JUnit Platform in a JUnit 4
environment. See <<running-tests-junit-platform-runner>> for details.
`junit-platform-suite`::
JUnit Platform Suite artifact that transitively pulls in dependencies on
`junit-platform-suite-api` and `junit-platform-suite-engine` for simplified dependency
management in build tools such as Gradle and Maven.
`junit-platform-suite-api`::
Annotations for configuring test suites on the JUnit Platform. Supported by the
<<junit-platform-suite-engine, JUnit Platform Suite Engine>> and the
<<running-tests-junit-platform-runner, JUnitPlatform runner>>.
`junit-platform-suite-commons`::
Common support utilities for executing test suites on the JUnit Platform.
`junit-platform-suite-engine`::
Engine that executes test suites on the JUnit Platform; only required at runtime. See
<<junit-platform-suite-engine,JUnit Platform Suite Engine>> for details.
`junit-platform-testkit`::
Provides support for executing a test plan for a given `TestEngine` and then
accessing the results via a fluent API to verify the expected results.
[[dependency-metadata-junit-jupiter]]
==== JUnit Jupiter
* *Group ID*: `org.junit.jupiter`
* *Version*: `{jupiter-version}`
* *Artifact IDs*:
`junit-jupiter`::
JUnit Jupiter aggregator artifact that transitively pulls in dependencies on
`junit-jupiter-api`, `junit-jupiter-params`, and `junit-jupiter-engine` for
simplified dependency management in build tools such as Gradle and Maven.
`junit-jupiter-api`::
JUnit Jupiter API for <<writing-tests,writing tests>> and <<extensions,extensions>>.
`junit-jupiter-engine`::
JUnit Jupiter test engine implementation; only required at runtime.
`junit-jupiter-params`::
Support for <<writing-tests-parameterized-tests,parameterized tests>> in JUnit Jupiter.
`junit-jupiter-migrationsupport`::
Support for migrating from JUnit 4 to JUnit Jupiter; only required for support for
JUnit 4's `@Ignore` annotation and for running selected JUnit 4 rules.
[[dependency-metadata-junit-vintage]]
==== JUnit Vintage
* *Group ID*: `org.junit.vintage`
* *Version*: `{vintage-version}`
* *Artifact ID*:
`junit-vintage-engine`::
JUnit Vintage test engine implementation that allows one to run _vintage_ JUnit tests
on the JUnit Platform. _Vintage_ tests include those written using JUnit 3 or JUnit 4
APIs or tests written using testing frameworks built on those APIs.
[[dependency-metadata-junit-bom]]
==== Bill of Materials (BOM)
The _Bill of Materials_ POM provided under the following Maven coordinates can be used to
ease dependency management when referencing multiple of the above artifacts using
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies[Maven]
or https://docs.gradle.org/current/userguide/platforms.html#sub:bom_import[Gradle].
* *Group ID*: `org.junit`
* *Artifact ID*: `junit-bom`
* *Version*: `{bom-version}`
[[dependency-metadata-dependencies]]
==== Dependencies
Most of the above artifacts have a dependency in their published Maven POMs on the
following _@API Guardian_ JAR.
* *Group ID*: `org.apiguardian`
* *Artifact ID*: `apiguardian-api`
* *Version*: `{apiguardian-version}`
In addition, most of the above artifacts have a direct or transitive dependency on the
following _OpenTest4J_ JAR.
* *Group ID*: `org.opentest4j`
* *Artifact ID*: `opentest4j`
* *Version*: `{ota4j-version}`
[[dependency-diagram]]
=== Dependency Diagram
image::{componentDiagramFile}[]