On 29/01/2013 2:47 PM, Joachim Durchholz wrote:
Am 29.01.2013 19:42, schrieb Anders Hammar:
The right/correct solution here is to setup an internal Maven repository
where you deploy those jars to.
I still feel very uneasy about that, and I think I can pinpoint the
reason a bit better now:
One of the promises of Maven is that you can describe the entire build
process in the poms.
Manually installing to a repository is outside the poms; it just makes
that jar "magically appear". It would be okay for those jars where no
traceable origin is available anymore (the situation would be dubious
for other reasons though); however, it is NOT okay for those
situations where there's a perfectly valid traceable origin for the
jar, such as a stable company website to download it from, an SVN repo
with a fixed revision number to take it from, or something generated
at the bytecode level from otherwise available sources.
Your use case is that you will give them your sources and POMs but not
access to your repo?
Fair enough.
In that case, you will simply have to tell them where to get the files
and tell them that they have to be uploaded into their Maven repo with
the same GAV that you used in your POM.
No one would have trouble with these instructions.
Otherwise you are going to have to give them some pretty bizarre
instructions about loading stuff onto each developer's workstation and
reloading them anytime they blow away their local cache.
Maven users are going to scratch their heads at that set of instructions
and ask "Why not just download what I need once and put it with the rest
of my external jars like a normal Maven project?"
They will eventually figure out the right way to do it and probably send
you a nice note about how you should have used a Maven repo.
If they are really nice, they will fix your instructions for the next
person and post it on their blog.
There are a few projects that do not distribute POM files with their
jars and some that do but do not publish to Maven Central.
It is just a fact of life that you have to load some things manually
into your repo and some things have to be given a "fake" POM by the repo
so you can reference them in a repeatable way.
It's been discussed so many times here by people trying to have an
alternative solution blessed. There are other hackish ways to work
around
this, but you will then run into other issues. For sure.
Been there, done that, can show the bite marks.
Even got it working so that mvn install would do The Right Thing, but
m2e's Workspace Resolution wouldn't recognize the jar, so the
toolchain was still incomplete. (I have been unable to resolve that
problem, not even with the help of the m2e-users list. Dunno where to
take it from there, so I dropped it and am living with an even more
hacky solution.)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]