edgent-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dale LaBossiere <dml.apa...@gmail.com>
Subject Re: mvn, Edgent samples, and the broader app development and packaging topic
Date Thu, 29 Jun 2017 15:01:43 GMT
maven-repository-provisioner seemed oh so close… :-)  You can give it an arbitrary destination
dir to copy into.
But it didn’t work for an artifact like org.apache.edgent:edgent-parent:1.2.0-SNAPSHOT.
There were complaints and it didn’t go include the sub-projects. Enhancing the code didn’t
look promising. 
So hard to believe that mvn doesn’t have simple tools for this sort of thing.

So I’ve create a shell script that does the trick.  All one will have to do is get this
single script and run it (so I claim :-).

The script creates a new mvn project and then tweaks its pom to add dependencies to the various
Edgent components.
It then does a “mvn compile" (to get the jars into the local maven repo)
and “mvn dependency:copy-dependencies” (to copy them out of the local repo).
It separates them into ext-jars and edgent-jars dirs and creates a classpath.sh that
can be used by apps in setting CLASSPATH.

Still tweaking, etc.  I’ll share in a bit.

— Dale

> On Jun 29, 2017, at 5:22 AM, Christofer Dutz <christofer.dutz@c-ware.de> wrote:
> That only seems to work for deploying things and not for downloading them :-(
> Chris
> Am 27.06.17, 17:01 schrieb "Dale LaBossiere" <dml.apache@gmail.com>:
>    A brief search turned up https://github.com/simpligility/maven-repository-tools/tree/master/maven-repository-provisioner
>    I cursory look at its README makes it sound almost exactly like what I was hoping
for… except it looks like it may only copy out to another repo and not offer an “copy
out to arbitrary dir” sort of mode :-)  I’ll have to look more closely.
>> On Jun 27, 2017, at 10:51 AM, Dale LaBossiere <dml.apache@gmail.com> wrote:
>>> On Jun 27, 2017, at 9:28 AM, Christofer Dutz <christofer.dutz@c-ware.de>
>>> Regarding the assembly,
>>> The way the build is currently setup, we would be distributing jars via Apaches
Maven Repo which is synced with Maven Central. So, everyone using maven would easily be able
to use these. But if someone isn’t using Maven or Ivy with a Maven resolver or Gradle with
a Maven resolver, they would have to either build Edgent locally or manually download all
the jars from Maven Central. I don’t think people would like that. I know of quite a few
that would be used to creating an Eclipse project with a libs directory, which they simply
copy a set of jars into. For that type of user, a binary distribution would be beneficial.
>> Yes, I completely understand that overall use case / need.  I’d just like to address
it without actually distributing a composite binary bundle :-)
>> Instead I’d like to just give / tell them a way to be able to just easily “get”
the jars/deps that we will already be distributing in repos.
>> I definitely don’t want such a user to have to resort to building Edgent just to
get their hands on the jars.
>> I'm surprised there isn’t already such a “get-from-repo [—recursive] component-coordinate”
>> — Dale

View raw message