Guillaume Boué

Add new PGP key for gboue
Move gboue to the list of PMC members
[MANTRUN-205] maven-antrun-plugin pages at maven.apache.org still have bad url codehaus references

Add example of using Ant Contrib, previously contained in removed dead link.

[MASSEMBLY-857] Support for custom resource filters

Document container descriptor handlers in a dedicated page.

[MPH-123] all-profiles does not show right active status

MavenProject.getActiveProfiles only considers profiles from the project POM, so we also need to get the active profiles from the parents. With Maven 3, while it would be possible to use MavenProject.getInjectedProfileIds, it is more direct and symmetrical here to walk the parent chain ourselves (and makes sure the printed 'source' is consistent for active and inactive profiles from the settings).

[MASSEMBLY-855] Remote repositories ignored in a multi-module project

All the project repositories (and not just the session) need to be considered when a repository is assembled.

  1. … 7 more files in changeset.
[MDEP-573] "purge-local-repository -Dinclude" does not work as described

Due to requiresProject = false, we need to loop over the projects in the reactor ourselves if the mojo was launched from the CLI. This requires several changes:

- Dependency artifacts do not exist anymore so we work on dependencies and resolve them if necessary.

- Dependencies on projects in the reactor are ignored (just like in the case of a single project, the project itself is not purged).

- Artifacts already purged do not need to be purged again: if they were re-resolved then no need to purge and re-resolve them a second time; if they were not re-resolved then keep them deleted.

- Updating to maven-artifact-transfer 0.9.2-SNAPSHOT to make added ITs work on Maven 3.0.x.

  1. … 17 more files in changeset.
[MENFORCER-274] Add check for version 9 in RequireJavaVersion

Submitted by: Peter Ansell

Applied without change. This closes #24.

Clean up plexus-i18n dependency, and the code looking the I18N component, since it is never used.
Remove usage of commons-lang in the project, to only have commons-lang3 on the classpath. In DisplayInfoMojo, we can simply get the Java version from the system properties.
Fix build on JDK 9:

- In TestMavenVersion, changing the test comparing Java and Maven versions together, due to Java versioning scheme change (JDK-8061493). We now use a fixed version with an underscore to test that it doesn't cause any issues.

- In resolve_collect_dependencies IT, version 3.0.0 of the Assembly Plugin needs to be used to incorporate Plexus Archiver resolved issue with new JDK versioning scheme (commit c0357c5 of Plexus Archiver).

- In require-plugin-versions-plugin-with-integration-test-lifecycle IT, Tycho needs to be updated to 0.22.0 so that an execution environment greater than 1.5 (which JDK 9 no longer supports) can be specified uniquely.

[MDEP-572] Truncated filenames extracting tar files.

Adding IT showing that the plugin keeps the correct file name when unpacking a TAR file with POSIX long file mode containing a file with a very long file name.

[MDEP-571] JDK9: Issue with list goal fails with java.lang.NoSuchMethodException

Only find public inherited methods through reflection with getMethod instead of getDeclaredMethod.

Various refactorings and simplifications:

- Removing dead code

- Creating dedicated methods

- Fixing spelling errors

- Trying to minimize try blocks length

Fix ITs when the build is launched with a custom maven.repo.local set on the CLI.
[MANTRUN-192] filterArtifacts in DependencyFilesetsTask includes entire maven.local.repository

When there are no artifacts after filtering, Ant will include by default everything under the local repository (since there are no include patterns). Therefore, in this case, we need to exclude everything explicitly. For performance reasons, we need to add a dummy file to the include patterns, otherwise Ant will still traverse the whole directory before applying the exclusions.

[MANTRUN-179] Seems impossible to use combine.* attributes with maven-antrun-plugin configuration

During creation of the temporary Ant file, the Maven combine.children and combine.self attributes of the XML plugin configuration elements should be removed. Also refactoring the code generating the Ant build file, which is only the responsibility of the writer and not the Mojo, to use proper XML serialization instead of string manipulations.

  1. … 14 more files in changeset.
[MSHARED-641] NoSuchMethodException using DependencyResolver with Maven 3.0

Looking for the method toDependency inside RepositoryUtils taking the correct org.apache.maven.model.Dependency instead of org.sonatype.aether.graph.Dependency.

[MSHARED-640] Upgrade maven-invoker-plugin to resolve IT failure on Windows

Fix failing IT on Windows. The current parent Apache POM defines version 2.0.0 for the maven-invoker-plugin, where the issue due to the rename of mvn.bat on Windows with Maven 3.3.1 is fixed. The project should inherit from it instead of forcing version 1.7.

[MANTRUN-204] antrun loops the backing map of java.util.Properties withouth checking type safety

Avoid blind casts to String when copying Ant project properties to Maven properties.

[MCHECKSTYLE-338] Add support for 'omitIgnoredModules'

Make IT not rely on the 'check' goal invoking the 'checkstyle' goal first.

Fixing the 'analyze' and 'analyze-report' ITs under JDK 8: they must not force the declaration of maven-artifact as a used dependency, because JDK 8 now writes bytecode entries for constants and maven-dependency-analyzer fails the build in that case. This commit also adds a specific IT for the 'usedDependencies' parameter, leveraging a source retention annotation.
  1. … 8 more files in changeset.
Fixing Javadoc issues when building with JDK 8:

- Self closing elements like <p/> are disallowed, just a single <p> is needed to create a new paragraph.

- Documenting @param and @return for methods.

- Escaping > with &gt;.

[MCHECKSTYLE-337] checkstyle:check only supports xml output format, but the docs say it supports plain as well

Submitted by: Stig Rohde Døssing

Adding support for 'plain' output file format in the 'check' goal. It is still not possible to use it in combination with 'skipExec' because the plain format does not interact fully with 'violationIgnore' (which can contain fully qualified class name, when Checkstyle plain format only has the class simple name).

[MSHADE-247] NullpointerException when createSourcesJar = true and source jar cannot be found

Submitted by: Anders Smestad

Applied after adding an IT.

  1. … 4 more files in changeset.
[MANTRUN-172] Properties passed to Maven as -D don't get passed to <ant> invocations when a profile sets the same property

Adding IT proving that r1797111 also fixed this issue.

[MANTRUN-178] Ignore precedence of mvn command line over property defined in <properties> section

Only properties declared in the POM are passed to Ant invocations, and their value should be overridable from a user property.

Fix IT failure: plexus-compiler-javac-errorprone 2.8.2 updated the Error Prone library to version >= 2.0.6, which requires JDK 8 (https://github.com/google/error-prone/issues/369).
[MANTRUN-203] Upgrade to maven-plugins 30
Fix Javadoc generation issues with JDK 8:

- self-enclosing element are not allowed

- don't link to a method not declared in a class