michael-o commented on code in PR #178: URL: https://github.com/apache/maven-integration-testing/pull/178#discussion_r909273098
########## core-it-suite/pom.xml: ########## @@ -159,6 +161,42 @@ under the License. </testResource> </testResources> <plugins> + <plugin> + <groupId>org.apache.maven.its</groupId> + <artifactId>core-it-bootstrap</artifactId> + <version>2.1-SNAPSHOT</version> + <executions> + <execution> + <id>boostrap</id> + <phase>process-test-classes</phase> + <goals> + <goal>download</goal> + </goals> + </execution> + </executions> + <configuration> + <file>src/test/resources/bootstrap.txt</file> + <dependencies> + <dependency> + <groupId>org.apache.maven.its.plugins</groupId> + <artifactId>maven-it-plugin-project-interpolation</artifactId> + <version>2.1-SNAPSHOT</version> + <scope>runtime</scope> + <exclusions> + <!-- + NOTE: This artifact (and its dependency maven-verifier) are in use by the class loader employed by Surefire + to orchestrate this test. Re-downloading (newer snapshots of) these artifacts during the tests will wreck + havoc on the class loader, i.e. tests fail due to NoClassDefFoundError's in the test controller. + --> + <exclusion> + <groupId>org.apache.maven.its</groupId> + <artifactId>maven-it-helper</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + </configuration> Review Comment: Fantastic config block ########## core-it-support/core-it-bootstrap/pom.xml: ########## @@ -19,45 +19,58 @@ specific language governing permissions and limitations under the License. --> -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.apache.maven.its.bootstrap</groupId> - <artifactId>maven-it-boostrap</artifactId> - <version>1.0</version> + <groupId>org.apache.maven.its</groupId> + <artifactId>core-it-support</artifactId> + <version>2.1-SNAPSHOT</version> </parent> - <groupId>org.apache.maven.its.bootstrap</groupId> - <artifactId>group-13</artifactId> - <version>1.0</version> - <packaging>jar</packaging> - - <name>Maven Integration Test :: Boostrap :: Group-13</name> - - <properties> - </properties> + <artifactId>core-it-bootstrap</artifactId> + <packaging>maven-plugin</packaging> + <name>Bootstrap plugin</name> <dependencies> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> - <version>2.0.5</version> - </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> - <version>3.1.0</version> + <version>3.8.6</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> - <version>3.1.0</version> + <version>3.8.6</version> </dependency> <dependency> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> - <version>3.6.0</version> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven.resolver</groupId> + <artifactId>maven-resolver-impl</artifactId> + <version>1.8.0</version> Review Comment: Attention, Maven 3.8.6 does not use this API version. ########## core-it-suite/src/site/apt/index.apt.vm: ########## @@ -52,11 +52,9 @@ mvn -Preporting site 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 in the <<<MavenITBootstrapTest>>> - ({{{./xref-test/org/apache/maven/it/MavenITBootstrapTest.html}src}}, - {{{./testapidocs/org/apache/maven/it/MavenITBootstrapTest.html}javadoc}}), - which doesn't really test anything but just primes the local repo with any artifacts the ITs will need: - you can see {{{./bootstrap.html}here}} the list of plugins and artifacts that are fetched during bootstrap. + 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. Review Comment: Should this file have some order? Alphabetically, chronologically? ########## core-it-support/core-it-bootstrap/pom.xml: ########## @@ -19,45 +19,58 @@ specific language governing permissions and limitations under the License. --> -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> Review Comment: I think from a history perspective, this shouldn't be moved, but all groups removed a new module added. ########## core-it-suite/pom.xml: ########## @@ -159,6 +161,42 @@ under the License. </testResource> </testResources> <plugins> + <plugin> + <groupId>org.apache.maven.its</groupId> + <artifactId>core-it-bootstrap</artifactId> Review Comment: Stupid question: Are other plugins named like this, i.e., not `maven-XXX-plugin`? ########## core-it-support/core-it-bootstrap/pom.xml: ########## @@ -19,45 +19,58 @@ specific language governing permissions and limitations under the License. --> -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.apache.maven.its.bootstrap</groupId> - <artifactId>maven-it-boostrap</artifactId> - <version>1.0</version> + <groupId>org.apache.maven.its</groupId> + <artifactId>core-it-support</artifactId> + <version>2.1-SNAPSHOT</version> </parent> - <groupId>org.apache.maven.its.bootstrap</groupId> - <artifactId>group-13</artifactId> - <version>1.0</version> - <packaging>jar</packaging> - - <name>Maven Integration Test :: Boostrap :: Group-13</name> - - <properties> - </properties> + <artifactId>core-it-bootstrap</artifactId> + <packaging>maven-plugin</packaging> + <name>Bootstrap plugin</name> <dependencies> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> - <version>2.0.5</version> - </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> - <version>3.1.0</version> + <version>3.8.6</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> - <version>3.1.0</version> + <version>3.8.6</version> Review Comment: Property for this? ########## core-it-support/core-it-bootstrap/pom.xml: ########## @@ -19,45 +19,58 @@ specific language governing permissions and limitations under the License. --> -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.apache.maven.its.bootstrap</groupId> - <artifactId>maven-it-boostrap</artifactId> - <version>1.0</version> + <groupId>org.apache.maven.its</groupId> + <artifactId>core-it-support</artifactId> + <version>2.1-SNAPSHOT</version> </parent> - <groupId>org.apache.maven.its.bootstrap</groupId> - <artifactId>group-13</artifactId> - <version>1.0</version> - <packaging>jar</packaging> - - <name>Maven Integration Test :: Boostrap :: Group-13</name> - - <properties> - </properties> + <artifactId>core-it-bootstrap</artifactId> + <packaging>maven-plugin</packaging> + <name>Bootstrap plugin</name> <dependencies> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> - <version>2.0.5</version> - </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> - <version>3.1.0</version> + <version>3.8.6</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> - <version>3.1.0</version> + <version>3.8.6</version> </dependency> <dependency> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> - <version>3.6.0</version> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven.resolver</groupId> + <artifactId>maven-resolver-impl</artifactId> + <version>1.8.0</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-annotations</artifactId> </dependency> </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-metadata</artifactId> Review Comment: @cstamas Sisu index? ########## core-it-suite/pom.xml: ########## @@ -159,6 +161,42 @@ under the License. </testResource> </testResources> <plugins> + <plugin> + <groupId>org.apache.maven.its</groupId> + <artifactId>core-it-bootstrap</artifactId> + <version>2.1-SNAPSHOT</version> + <executions> + <execution> + <id>boostrap</id> + <phase>process-test-classes</phase> Review Comment: This might be a total matter of taste, but I think logically `initialize` would be the right phase according to: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org