maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manfred Moser" <manf...@simpligility.com>
Subject Re: Download an artifact and its dependencies without a pom.xml
Date Thu, 02 Mar 2017 22:37:30 GMT
I have a similar tool that can be used to provision from and to a repository. 

https://github.com/simpligility/maven-repository-tools/tree/master/maven-repository-provisioner

hth

Manfred

Curtis Rueden wrote on 2017-03-02 14:29:

> Hi everyone,
> 
>> My use case is that I want to run a class from a Maven artifact.
> 
> I turned my "synthesize a dummy POM" approach into a full-blown shell
> script called jrun [1].
> 
> You can use it to conveniently run Java code from any remote Maven
> repository. For example, to spin up the Jython REPL:
> 
>    $ jrun org.python:jython-standalone
> 
> If you add the ImageJ Maven repository to your ~/.jrunrc:
> 
>    [repositories]
>    imagej.public = https://maven.imagej.net/content/groups/public
> 
> Then you can launch ImageJ (https://imagej.net/):
> 
>    $ jrun net.imagej:imagej
> 
> Or even the entire Fiji distribution of ImageJ (https://fiji.sc/), which as
> of this writing consists of 346 components!
> 
>    $ jrun sc.fiji:fiji:LATEST
> 
> All without explicitly downloading or installing anything apart from Maven
> and this one shell script [2].
> 
> If anyone knows a better / standard / best-practices way of doing this,
> please let me know! But I am pretty pumped about how convenient this is. I
> hope that jrun is useful to other developers too.
> 
> Regards,
> Curtis
> 
> P.S. If the Mojohaus devs are interested, perhaps we could fold in
> something like this as a new goal of the exec-maven-plugin.
> 
> [1] https://github.com/ctrueden/jrun
> 
> [2] Windows users need POSIX-compliant shell, though. I did not test it yet.
> 
> --
> Curtis Rueden
> LOCI software architect - https://loci.wisc.edu/software
> ImageJ2 lead, Fiji maintainer - https://imagej.net/User:Rueden
> 
> 
> On Thu, Mar 2, 2017 at 9:50 AM, Curtis Rueden <ctrueden@wisc.edu> wrote:
> 
>> Hi everyone,
>>
>> Is there an easy way to download an artifact and its dependencies to a
>> folder locally?
>>
>> * dependency:get will download a single artifact without needing a pom.xml.
>> * dependency:copy-dependencies will copy the dependencies of the current
>> project to a target location.
>>
>> But can these two functionalities be combined?
>>
>> My use case is that I want to run a class from a Maven artifact.
>>
>> The best I have come up with so far is to synthesize a dummy POM:
>>
>> g=org.scijava; a=scijava-common; v=RELEASE; m=org.scijava.script.ScriptREPL;
>> echo "<project><modelVersion>4.0.0</modelVersion><groupId>x</grou
>> pId><artifactId>x</artifactId><version>0</version><
>> dependencies><dependency><groupId>$g</groupId><artifactId>$a</artifactId><
>> version>$v</version></dependency></dependencies></project>"
> pom.xml;
>> mvn -DoutputDirectory=. dependency:copy-dependencies; rm pom.xml; java -cp
>> '*' "$m"
>>
>> Can this be done more elegantly?
>>
>> Thanks,
>> Curtis
>>
>> --
>> Curtis Rueden
>> LOCI software architect - https://loci.wisc.edu/software
>> ImageJ2 lead, Fiji maintainer - https://imagej.net/User:Rueden
>>
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message