File size: 6,058 Bytes
2795186 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
[[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}[]
|