Maven Usage Analyser

Examines a Maven repo to determine where a specified project is used

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

com.castlemon.maven
ArtifactId

ArtifactId

maven-usage
Last Version

Last Version

1.0.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

Maven Usage Analyser
Examines a Maven repo to determine where a specified project is used
Project URL

Project URL

https://github.com/TrueDub/maven-usage
Source Code Management

Source Code Management

https://github.com/TrueDub/maven-usage

Download maven-usage

How to add to project

<!-- https://jarcasting.com/artifacts/com.castlemon.maven/maven-usage/ -->
<dependency>
    <groupId>com.castlemon.maven</groupId>
    <artifactId>maven-usage</artifactId>
    <version>1.0.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.castlemon.maven/maven-usage/
implementation 'com.castlemon.maven:maven-usage:1.0.0.1'
// https://jarcasting.com/artifacts/com.castlemon.maven/maven-usage/
implementation ("com.castlemon.maven:maven-usage:1.0.0.1")
'com.castlemon.maven:maven-usage:jar:1.0.0.1'
<dependency org="com.castlemon.maven" name="maven-usage" rev="1.0.0.1">
  <artifact name="maven-usage" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.castlemon.maven', module='maven-usage', version='1.0.0.1')
)
libraryDependencies += "com.castlemon.maven" % "maven-usage" % "1.0.0.1"
[com.castlemon.maven/maven-usage "1.0.0.1"]

Dependencies

compile (20)

Group / Artifact Type Version
org.eclipse.aether : aether-api jar 1.1.0
org.eclipse.aether : aether-util jar 1.1.0
org.eclipse.aether : aether-impl jar 1.1.0
org.eclipse.aether : aether-connector-basic jar 1.1.0
org.eclipse.aether : aether-transport-file jar 1.1.0
org.eclipse.aether : aether-transport-http jar 1.1.0
org.eclipse.aether : aether-transport-wagon jar 1.1.0
org.apache.maven.wagon : wagon-ssh jar 2.10
org.codehaus.plexus : plexus-container-default jar 1.6
org.apache.maven : maven-model jar 3.3.9
org.apache.maven : maven-aether-provider jar 3.3.9
org.springframework : spring-core jar 4.0.4.RELEASE
org.springframework : spring-context jar 4.0.4.RELEASE
org.slf4j : slf4j-api jar 1.7.5
ch.qos.logback : logback-classic jar 1.1.2
ch.qos.logback : logback-core jar 1.1.2
commons-io : commons-io jar 2.4
com.opencsv : opencsv jar 3.7
org.freemarker : freemarker jar 2.3.23
com.beust : jcommander jar 1.48

test (3)

Group / Artifact Type Version
junit : junit jar 4.12
org.agileware : smartunit jar 0.10.2
org.powermock : powermock-mockito-release-full jar 1.6.4

Project Modules

There are no modules declared in this project.

maven-usage

Purpose

This is a command-line utility to allow scanning of a Maven repository for references to a specific artifact.

The user provides a group ID and artifact ID, and the utility scans the dependencies of each artifact in the repository, and identifies whether the supplied artifact is used, and reports on this.

Command-line parameters

The utility is executed using the following command:

java -jar maven-usage.jar list-of-params

Executing the utility with either -options or -help will give you a list of parameters and their defaults, if any.

The available params are:

Entry Purpose Mandatory? Default
-group= group to be searched for Yes none
-artifact= artifact to be searched for Yes none
-outputDir= output directory - where the CSVs or reports will be written to Yes none
-searchDir= directory to be searched - part of a local repo, or a specific directory within a local repo (to narrow the search) No ~/.m2/repository
-outputFormats= output format(s) - a comma-separated list of formats (currently HTML and CSV supported) No HTML
-repo= Maven local repo No ~/.m2/repository

License

This code is distributed under the MIT license - please see LICENSE.md for details.

Acknowledgements

The code to test logging messages was adapted from the code supplied on http://bloodredsun.com/2014/06/03/checking-logback-based-logging-in-unit-tests/.

Releases

Date Version Update
27 April 2017 v1.0.0.1 Initial Release

Versions

Version
1.0.0.1