> * Major features
>
> * XMvn Subst
>
> Version 0.5.0 brings a new tool - XMvn Subst. This tool is able
> to replace individual artifact files with symbolic links to
> corresponding files in system artifact repository. It is also
> able to recursively process whole directories.
>
>
Neat. Is this intended to replace the old build-jar-repository tool?
Yes, that's one of use cases, but there are some limitations. JARs
being replaced must be built with Maven (they need to have
pom.properties file which specified groupId/artifactId/version), so XMvn
Subst won't be able to replace JARs built with Ant, for example.
Example usage:
$ xmvn-subst --help
xmvn-subst: Substitute artifact files with symbolic links
Usage: xmvn-subst [options]
Options:
-X, --debug
Display debugging information
Default: false
-L, --follow-symlinks
Follow symbolic links when traversing directory structure
Default: false
-h, --help
Display usage information
Default: false
-t, --type
Consider artifacts with given type
Default: [jar, war]
-D
Define system property
Syntax: -Dkey=value
Default: {}
$ ls -go
total 1816
-rw-rw-r--. 1 44598 May 24 10:12 commons-logging-api-1.1.jar
-rw-rw-r--. 1 639592 May 24 10:12 google-collections-1.0.jar
-rw-rw-r--. 1 60376 May 24 10:12 jcommander-1.30.jar
-rw-rw-r--. 1 358085 May 24 10:12 log4j-1.2.12.jar
-rw-rw-r--. 1 46969 May 24 10:12 plexus-classworlds-2.4.2.jar
-rw-rw-r--. 1 4211 May 24 10:12 plexus-component-annotations-1.5.5.jar
-rw-rw-r--. 1 216640 May 24 10:12 plexus-container-default-1.5.5.jar
-rw-rw-r--. 1 230883 May 24 10:12 plexus-utils-3.0.10.jar
-rw-rw-r--. 1 133826 May 24 10:12 xbean-reflect-3.4.jar
-rw-rw-r--. 1 98207 May 24 10:12 xmvn-core-0.5.0.jar
-rw-rw-r--. 1 5778 May 24 10:12 xmvn-resolve-0.5.0.jar
$ xmvn-subst .
[INFO] Linked ./xmvn-resolve-0.5.0.jar to
/usr/share/java/xmvn/xmvn-resolve.jar
[INFO] Skipping file ./commons-logging-api-1.1.jar: No artifact
definition found
[INFO] Linked ./plexus-utils-3.0.10.jar to /usr/share/java/plexus/utils.jar
[INFO] Linked ./xbean-reflect-3.4.jar to
/usr/share/java/xbean/xbean-reflect.jar
[INFO] Linked ./plexus-classworlds-2.4.2.jar to
/usr/share/java/plexus/classworlds.jar
[INFO] Linked ./plexus-container-default-1.5.5.jar to
/usr/share/java/plexus/containers-container-default.jar
[INFO] Linked ./google-collections-1.0.jar to /usr/share/java/guava.jar
[INFO] Linked ./xmvn-resolve-0.5.0.jar to
/usr/share/java/xmvn/xmvn-resolve.jar
[INFO] Skipping file ./commons-logging-api-1.1.jar: No artifact
definition found
$ ls -go
total 396
-rw-rw-r--. 1 44598 May 24 10:12 commons-logging-api-1.1.jar
lrwxrwxrwx. 1 25 May 24 11:18 google-collections-1.0.jar ->
/usr/share/java/guava.jar
lrwxrwxrwx. 1 36 May 24 11:18 jcommander-1.30.jar ->
/usr/share/java/beust-jcommander.jar
-rw-rw-r--. 1 358085 May 24 10:12 log4j-1.2.12.jar
lrwxrwxrwx. 1 38 May 24 11:18 plexus-classworlds-2.4.2.jar ->
/usr/share/java/plexus/classworlds.jar
lrwxrwxrwx. 1 59 May 24 11:18 plexus-component-annotations-1.5.5.jar
-> /usr/share/java/plexus/containers-component-annotations.jar
lrwxrwxrwx. 1 55 May 24 11:18 plexus-container-default-1.5.5.jar ->
/usr/share/java/plexus/containers-container-default.jar
lrwxrwxrwx. 1 32 May 24 11:18 plexus-utils-3.0.10.jar ->
/usr/share/java/plexus/utils.jar
lrwxrwxrwx. 1 39 May 24 11:18 xbean-reflect-3.4.jar ->
/usr/share/java/xbean/xbean-reflect.jar
lrwxrwxrwx. 1 34 May 24 11:18 xmvn-core-0.5.0.jar ->
/usr/share/java/xmvn/xmvn-core.jar
lrwxrwxrwx. 1 37 May 24 11:18 xmvn-resolve-0.5.0.jar ->
/usr/share/java/xmvn/xmvn-resolve.jar
Note that commons-logging-api-1.1.jar and log4j-1.2.12.jar were not
replaced. This is expected.
--
Mikolaj Izdebski
IRC: mizdebsk