papegaaij opened a new issue, #1724:
URL: https://github.com/apache/wicket/issues/1724
Since #1658 the quickstart archetype is tested during the build (#1663 on
master, #1664 on `wicket-10.x`). To give the generated project the Wicket
modules it needs, `archetypes/quickstart/pom.xml` runs
`maven-invoker-plugin:install` in the `verify` lifecycle:
```xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>install</goal>
</goals>
<configuration>
<scope>test</scope>
</configuration>
</execution>
</executions>
</plugin>
```
No `localRepositoryPath` is configured, so `invoker:install` uses its
default, the user's own local repository (`~/.m2/repository`). As a result, a
plain `mvn verify`, which normally never touches the local repository, installs
17 files there.
On the 10.12.0 and 11.0.0 release candidates that was:
- `wicket-archetype-quickstart`: jar, sources jar and pom
- `wicket-core`, `wicket-request`, `wicket-util`, `wicket-tester`,
`wicket-native-websocket-core` and `wicket-native-websocket-javax`: jar and pom
- `wicket-parent` and `wicket-native-websocket`: pom
Maven marks them as locally installed (`>=` in `_remote.repositories`), so
it never re-downloads them.
This matters most when verifying a release candidate. After `mvn verify` on
the RC source, `~/.m2` holds jars with the final release version, built from
the RC. If the vote fails and the next RC reuses the version number, any later
build that depends on that version silently uses the old RC jars instead of the
new ones. It also mixes self-built and published artifacts during day-to-day
development.
`-DskipTests` avoids it, because `invoker.skip` follows `skipTests`, but
then the archetype test doesn't run either.
## Suggested fix
Give `invoker:install` a `localRepositoryPath` under `target/`, for example
`${project.build.directory}/it-repo`, and make the archetype integration test's
build resolve from that repository. The generated project still needs
third-party dependencies from Maven Central. The test repository can either
fetch them itself or use the user's repository as a mirror for everything
except `org.apache.wicket`; which of these works best with
`maven-archetype-plugin:integration-test` still needs checking.
Affects `wicket-10.x` and `master`.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]