diff --git a/core-it-suite/src/site/apt/bootstrap.apt.vm b/core-it-suite/src/site/apt/bootstrap.apt.vm deleted file mode 100644 index 252fb56bd..000000000 --- a/core-it-suite/src/site/apt/bootstrap.apt.vm +++ /dev/null @@ -1,96 +0,0 @@ - ----- - Maven Core Integration Tests Bootstrap - ----- - Hervé Boutemy - ----- - 2017-04-04 - ----- - -~~ Licensed to the Apache Software Foundation (ASF) under one -~~ or more contributor license agreements. See the NOTICE file -~~ distributed with this work for additional information -~~ regarding copyright ownership. The ASF licenses this file -~~ to you under the Apache License, Version 2.0 (the -~~ "License"); you may not use this file except in compliance -~~ with the License. You may obtain a copy of the License at -~~ -~~ http://www.apache.org/licenses/LICENSE-2.0 -~~ -~~ Unless required by applicable law or agreed to in writing, -~~ software distributed under the License is distributed on an -~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -~~ KIND, either express or implied. See the License for the -~~ specific language governing permissions and limitations -~~ under the License. - -~~ NOTE: For help with the syntax of this file, see: -~~ http://maven.apache.org/doxia/references/apt-format.html - -Maven Core Integration Tests Bootstrap - - Core IT Bootstrapping downloads from Central repository every dependency (artifacts, plugins) required to let - Core ITs Suite run without downloading anything later (see {{{./index.html#Core_ITs_Suite_and_Dependencies_.28incl._Plugins.29}Core ITs Suite and dependencies}} rationale). - - Content to download is defined in {{{https://github.com/apache/maven-integration-testing/tree/master/core-it-suite/src/test/resources/bootstrap}a series of bootstrap projects}}: - -%{toc|section=1|fromDepth=2} - -* Base Plugins And Their Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/target/resolve-plugins.txt} - -* Group 1 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-1/target/resolve.txt} - -* Group 2 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-2/target/resolve.txt} - -* Group 3 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-3/target/resolve.txt} - -* Group 4 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-4/target/resolve.txt} - -* Group 5 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-5/target/resolve.txt} - -* Group 6 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-6/target/resolve.txt} - -* Group 7 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-7/target/resolve.txt} - -* Group 8 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-8/target/resolve.txt} - -* Group 9 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-9/target/resolve.txt} - -* Group 10 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-10/target/resolve.txt} - -* Group 11 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-11/target/resolve.txt} - -* Group 12 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-12/target/resolve.txt} - -* Group 13 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-13/target/resolve.txt} - -* Group 14 Dependencies - -%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-14/target/resolve.txt} diff --git a/core-it-suite/src/site/apt/index.apt.vm b/core-it-suite/src/site/apt/index.apt.vm deleted file mode 100644 index e7285dcc5..000000000 --- a/core-it-suite/src/site/apt/index.apt.vm +++ /dev/null @@ -1,79 +0,0 @@ - ----- - Maven Core Integration Tests Suite - ----- - Hervé Boutemy - ----- - 2011-09-04 - ----- - -~~ Licensed to the Apache Software Foundation (ASF) under one -~~ or more contributor license agreements. See the NOTICE file -~~ distributed with this work for additional information -~~ regarding copyright ownership. The ASF licenses this file -~~ to you under the Apache License, Version 2.0 (the -~~ "License"); you may not use this file except in compliance -~~ with the License. You may obtain a copy of the License at -~~ -~~ http://www.apache.org/licenses/LICENSE-2.0 -~~ -~~ Unless required by applicable law or agreed to in writing, -~~ software distributed under the License is distributed on an -~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -~~ KIND, either express or implied. See the License for the -~~ specific language governing permissions and limitations -~~ under the License. - -~~ NOTE: For help with the syntax of this file, see: -~~ http://maven.apache.org/doxia/references/apt-format.html - -Maven Core Integration Tests Suite - - This module provides the {{{./testapidocs/org/apache/maven/it/package-summary.html}effective Core Integration Tests suite}}, - starting with {{{./bootstrap.html}bootstrap}}. - -* Running Core ITs Suite - - Follow the steps that are described in the {{{https://github.com/apache/maven-integration-testing/blob/master/README.md}README.md}} - of the official {{{https://github.com/apache/maven-integration-testing}Core ITs Suite}} repository. - -* Core ITs Suite Results - - ITs results are displayed on the console and can be published in the site through Surefire Report. - -+---- -mvn -Preporting site -+---- - - Currently deployed {{{./surefire-report.html}Surefire Report}} was generated with following environment: - -%{snippet|file=${project.build.directory}/info.txt} - - -* Core ITs Suite and Dependencies (incl. Plugins) - - A good IT does not depend on external repos like Central, it uses dedicated test plugins and test repositories. - The {{{https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources-filtered/settings.xml}default <<>>}} - used by ITs helps to enforce this by pointing <<>> at <<>>, - which obviously can't resolve anything. This setup using a file-based dummy repo also helps execution time, - because this repo produces (expected) <<<404>>>s much faster than a HTTP-based repo. - - The one place where access to Central is desired is by adding artifacts to the - {{{https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources/bootstrap.txt}bootstrap.txt}} file, - which is used to prime the local repo with any artifacts the ITs will need. This file should be kept sorted alphabetically for ease of use. - - So some care needs to be taken when introducing new dependencies into the ITs themselves or {{{../core-it-support/}the support plugins}}. - Many times the failures that we encounter are discrepancies between actual artifact consumption required and - what is populated during bootstrapping. When forgetting, typical failures (as seen in ASF CI) will give following traces in log: - -------- -[ERROR] testit(org.apache.maven.it.MavenITmng...) Time elapsed: 0.145 s <<< ERROR! -... -[ERROR] Failed to execute goal ... (...) on project ...: ... Could not find artifact ... in central (file:target/null) -> [Help 1] -------- - -** Using Local Repository Manager - - If you are using a local repository manager, configured in your <<<~/.m2/settings.xml>>> as a mirror of <<>>, it will invalidate previous setup: - working Core ITs Suite can work on your laptop but fail on ASF CI because of missing artifact. - - Comment out your mirror configuration to enable the expected local failure, then be able to debug and fix the issue. diff --git a/core-it-suite/src/site/markdown/bootstrap.md.vm b/core-it-suite/src/site/markdown/bootstrap.md.vm new file mode 100644 index 000000000..06a8167ca --- /dev/null +++ b/core-it-suite/src/site/markdown/bootstrap.md.vm @@ -0,0 +1,108 @@ +--- +title: Maven Core Integration Tests Bootstrap +author: + - Hervé Boutemy +date: 2017-04-04 +--- + + + +# Maven Core Integration Tests Bootstrap + +Core IT Bootstrapping downloads from Central repository every dependency (artifacts, plugins) required to let Core ITs Suite run without downloading anything later (see [Core ITs Suite and dependencies](./index.html#Core_ITs_Suite_and_Dependencies_.28incl._Plugins.29) rationale). + +Content to download is defined in [a series of bootstrap projects](https://github.com/apache/maven-integration-testing/tree/master/core-it-suite/src/test/resources/bootstrap): + + + +Base Plugins And Their Dependencies +----------------------------------- + + + +Group 1 Dependencies +-------------------- + + + +Group 2 Dependencies +-------------------- + + + +Group 3 Dependencies +-------------------- + + + +Group 4 Dependencies +-------------------- + + + +Group 5 Dependencies +-------------------- + + + +Group 6 Dependencies +-------------------- + + + +Group 7 Dependencies +-------------------- + + + +Group 8 Dependencies +-------------------- + + + +Group 9 Dependencies +-------------------- + + + +Group 10 Dependencies +--------------------- + + + +Group 11 Dependencies +--------------------- + + + +Group 12 Dependencies +--------------------- + + + +Group 13 Dependencies +--------------------- + + + +Group 14 Dependencies +--------------------- + + diff --git a/core-it-suite/src/site/markdown/index.md.vm b/core-it-suite/src/site/markdown/index.md.vm new file mode 100644 index 000000000..eb69b366f --- /dev/null +++ b/core-it-suite/src/site/markdown/index.md.vm @@ -0,0 +1,68 @@ +--- +title: Maven Core Integration Tests Suite +author: + - Hervé Boutemy +date: 2011-09-04 +--- + + + +# Maven Core Integration Tests Suite + +This module provides the [effective Core Integration Tests suite](./testapidocs/org/apache/maven/it/package-summary.html), starting with [bootstrap](./bootstrap.html). + +Running Core ITs Suite +---------------------- + +Follow the steps that are described in the [README.md](https://github.com/apache/maven-integration-testing/blob/master/README.md) of the official [Core ITs Suite](https://github.com/apache/maven-integration-testing) repository. + +Core ITs Suite Results +---------------------- + +ITs results are displayed on the console and can be published in the site through Surefire Report. + +```shell +mvn -Preporting site +``` + +Currently deployed [Surefire Report](./surefire-report.html) was generated with following environment: + + + +Core ITs Suite and Dependencies (incl. Plugins) +----------------------------------------------- + +A good IT does not depend on external repos like Central, it uses dedicated test plugins and test repositories. The [default `settings.xml`](https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources-filtered/settings.xml) used by ITs helps to enforce this by pointing `central` at `file:target/null`, which obviously can't resolve anything. This setup using a file-based dummy repo also helps execution time, because this repo produces (expected) `404`s much faster than a HTTP-based repo. + +The one place where access to Central is desired is by adding artifacts to the [bootstrap.txt](https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources/bootstrap.txt) file, which is used to prime the local repo with any artifacts the ITs will need. This file should be kept sorted alphabetically for ease of use. + +So some care needs to be taken when introducing new dependencies into the ITs themselves or [the support plugins](../core-it-support/). Many times the failures that we encounter are discrepancies between actual artifact consumption required and what is populated during bootstrapping. When forgetting, typical failures (as seen in ASF CI) will give following traces in log: + +``` +[ERROR] testit(org.apache.maven.it.MavenITmng...) Time elapsed: 0.145 s <<< ERROR! +... +[ERROR] Failed to execute goal ... (...) on project ...: ... Could not find artifact ... in central (file:target/null) -> [Help 1] +``` + +#[[### Using Local Repository Manager]]# + +If you are using a local repository manager, configured in your `~/.m2/settings.xml` as a mirror of `central`, it will invalidate previous setup: working Core ITs Suite can work on your laptop but fail on ASF CI because of missing artifact. + +Comment out your mirror configuration to enable the expected local failure, then be able to debug and fix the issue. diff --git a/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/apt/index.apt.vm b/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/apt/index.apt.vm deleted file mode 100644 index 3800a5973..000000000 --- a/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/apt/index.apt.vm +++ /dev/null @@ -1,13 +0,0 @@ - ----- - About - ----- - Hervé Boutemy - ----- - 2012-10-13 - ----- - -${project.name} - - About ${project.description} - - See {{{./modules.html}Project Modules}} report for a complete list with description. diff --git a/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm b/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm new file mode 100644 index 000000000..71a33174a --- /dev/null +++ b/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm @@ -0,0 +1,12 @@ +--- +title: About +author: + - Hervé Boutemy +date: 2012-10-13 +--- + +# ${project.name} + +About ${project.description} + +See [Project Modules](./modules.html) report for a complete list with description. diff --git a/core-it-support/core-it-plugins/src/site/apt/index.apt.vm b/core-it-support/core-it-plugins/src/site/apt/index.apt.vm deleted file mode 100644 index 3800a5973..000000000 --- a/core-it-support/core-it-plugins/src/site/apt/index.apt.vm +++ /dev/null @@ -1,13 +0,0 @@ - ----- - About - ----- - Hervé Boutemy - ----- - 2012-10-13 - ----- - -${project.name} - - About ${project.description} - - See {{{./modules.html}Project Modules}} report for a complete list with description. diff --git a/core-it-support/core-it-plugins/src/site/markdown/index.md.vm b/core-it-support/core-it-plugins/src/site/markdown/index.md.vm new file mode 100644 index 000000000..71a33174a --- /dev/null +++ b/core-it-support/core-it-plugins/src/site/markdown/index.md.vm @@ -0,0 +1,12 @@ +--- +title: About +author: + - Hervé Boutemy +date: 2012-10-13 +--- + +# ${project.name} + +About ${project.description} + +See [Project Modules](./modules.html) report for a complete list with description. diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt deleted file mode 100644 index 239eab0f2..000000000 --- a/src/site/apt/index.apt +++ /dev/null @@ -1,74 +0,0 @@ - ----- - Introduction - ----- - Hervé Boutemy - ----- - 2011-09-04 - ----- - - ~~ Licensed to the Apache Software Foundation (ASF) under one - ~~ or more contributor license agreements. See the NOTICE file - ~~ distributed with this work for additional information - ~~ regarding copyright ownership. The ASF licenses this file - ~~ to you under the Apache License, Version 2.0 (the - ~~ "License"); you may not use this file except in compliance - ~~ with the License. You may obtain a copy of the License at - ~~ - ~~ http://www.apache.org/licenses/LICENSE-2.0 - ~~ - ~~ Unless required by applicable law or agreed to in writing, - ~~ software distributed under the License is distributed on an - ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~~ KIND, either express or implied. See the License for the - ~~ specific language governing permissions and limitations - ~~ under the License. - - ~~ NOTE: For help with the syntax of this file, see: - ~~ http://maven.apache.org/doxia/references/apt-format.html - - -Maven Core ITs - - Maven Core Integration Tests provide tooling to test every aspect of Maven functionalities with any Maven version. - - This project is split in 2 modules: - - * {{{./core-it-support/}Maven Core IT Support}}: Maven Integration Tests support tools, to completely decouple ITs from production plugins, - - * {{{./core-it-suite/}Maven Core ITs suite}}: The effective Maven Integration Tests suite, providing the interesting {{{./core-it-suite/surefire-report.html}tests results}}. - - -* Running the Core ITs - - By default, the project just packages the tests in an artifact. To actually run them, activate the <<>> profile: - -+---- -mvn clean test -Prun-its -+---- - - This will subject the Maven version running the build to the integration tests. - - If you would like to test a different Maven distribution, you can use the <<>> system property to specify the - path of the Maven distribution to test: - -+---- -mvn clean test -Prun-its -DmavenHome= -+---- - - Alternatively, you can just specify the version of a previously installed/deployed Maven distribution which will be - downloaded, unpacked and tested: - -+---- -mvn clean test -Prun-its -DmavenVersion=2.2.1 -+---- - - To run the ITs using embedded Maven 3.x, additionally activate the <<>> profile. - - ITs that don't require to fork Maven can also be run from the IDE using the Maven projects from the workspace if the - Maven dependencies are added to the test class path. - - If you're behind a proxy, use the system properties <<>>, <<>>, <<>>, <<>> - and <<>> to specify the required proxy setup for the ITs. Alternatively, set the system property - <<>> to a URL of a local repository manager (anonymous authentication only) that proxies the required - artifacts. - \ No newline at end of file diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md new file mode 100644 index 000000000..a4f5c9358 --- /dev/null +++ b/src/site/markdown/index.md @@ -0,0 +1,62 @@ +--- +title: Introduction +author: + - Hervé Boutemy +date: 2011-09-04 +--- + + + +# Maven Core ITs + +Maven Core Integration Tests provide tooling to test every aspect of Maven functionalities with any Maven version. + +This project is split in 2 modules: + +- [Maven Core IT Support](./core-it-support/): Maven Integration Tests support tools, to completely decouple ITs from production plugins, +- [Maven Core ITs suite](./core-it-suite/): The effective Maven Integration Tests suite, providing the interesting [tests results](./core-it-suite/surefire-report.html). + +## Running the Core ITs + +By default, the project just packages the tests in an artifact. To actually run them, activate the `run-its` profile: + +```shell +mvn clean test -Prun-its +``` + +This will subject the Maven version running the build to the integration tests. + +If you would like to test a different Maven distribution, you can use the `mavenHome` system property to specify the path of the Maven distribution to test: + +```shell +mvn clean test -Prun-its -DmavenHome= +``` + +Alternatively, you can just specify the version of a previously installed/deployed Maven distribution which will be downloaded, unpacked and tested: + +```shell +mvn clean test -Prun-its -DmavenVersion=2.2.1 +``` + +To run the ITs using embedded Maven 3.x, additionally activate the `embedded` profile. + +ITs that don't require to fork Maven can also be run from the IDE using the Maven projects from the workspace if the Maven dependencies are added to the test class path. + +If you're behind a proxy, use the system properties `proxy.host`, `proxy.port`, `proxy.user`, `proxy.pass` and `proxy.nonProxyHosts` to specify the required proxy setup for the ITs. Alternatively, set the system property `maven.it.central` to a URL of a local repository manager (anonymous authentication only) that proxies the required artifacts.