To check for plugin or dependency updates of a Maven project the Versions Maven Plugin has two interesting mojos:
mvn versions:display-plugin-updates
mvn versions:display-dependency-updates
Unfortunately the command line is a bit long. Cumbersome to type, not that easy to remember. Using the Alias Maven Plugin the command line can be shortened to:
pu
du
In addition to that checking a project for declaring all dependencies (that is not relying on transitive dependencies) or not declaring unused dependencies is a common task to keep the project dependencies clean. The Maven Dependency Plugin provides the analyze mojo for this:
mvn dependency:analyze
In short this would be
a
The configuration to make this work looks like this:
<group name="project-analysis">
<comment>
Aliases to analyze project information.
</comment>
<alias>
<name>a</name>
<command>mvn dependency:analyze</command>
<comment>
Analyzes the dependencies of this project and determines which are: used and declared;
used and undeclared; unused and declared. This goal is intended to be used standalone,
thus it always executes the test-compile phase - use the dependency:analyze-only goal
instead when participating in the build lifecycle.
<p>
For more information please refer to the
<a href="http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html">analyze mojo</a>.
</p>
</comment>
</alias>
<alias>
<name>pu</name>
<command>mvn versions:display-plugin-updates</command>
<comment>
Displays all plugins that have newer versions available.
<p>
For more information please refer to the
<a href="http://mojo.codehaus.org/versions-maven-plugin/display-plugin-updates-mojo.html">display-plugin-updates mojo</a>.
</p>
</comment>
</alias>
<alias>
<name>du</name>
<command>mvn versions:display-dependency-updates</command>
<comment>
Displays all dependencies that have newer versions available.
<p>
For more information please refer to the
<a href="http://mojo.codehaus.org/versions-maven-plugin/display-dependency-updates-mojo.html">display-dependency-updates mojo</a>.
</p>
</comment>
</alias>
</group>
The comment
elements are optional, but help teams to share information about the aliases.
And if you can’t remember all the shortcuts? Type h
!
--- project-analysis
a = mvn dependency:analyze [args]
pu = mvn versions:display-plugin-updates [args]
du = mvn versions:display-dependency-updates [args]
For more information please refer to the Alias Maven Plugin and (for an example configuration) config-smartics-alias.