IMO, we need to ween ourselves off of the local repository module
completely... and avoid future use of any such local repository.
When I (er we) did the main Maven 2 conversion I added some of these
local modules as short-term work arounds to problems... there was no
intention of leaving these in here for as long as they've been around.
If we need to use some custom artifacts, then we really should
publish them under an org.apache.geronimo.thirdparty groupId (or
something) to the central repository and then treat them like normal
dependencies. We can of course setup a thirdparty sub-project which
has a local repository with the definitive source of the artifacts,
but only use that puppy to manage those artifacts pom's and then
publish them as we normally would anything else.
This is... IMO... the *ONLY* solution to this problem, short of
removing the need for these custom artifacts.
--jason
On Aug 30, 2007, at 3:05 PM, Jeff Genender wrote:
Hi,
I was building a 3rd party application with a dependency on the
Geronimo
specs (jee)...and I could not get it to build because it was
looking for
axis-saaj-1.3-r562247
For the life of me, I thought I had that usual maven corrupt repo
issues
and I wiped out my local repo...a number of times. I began looking
through repos and sure enough it didn't exist. Well..I decided to
look
in our pom and I found:
<axis2Version>1.3-r562247</axis2Version>
Further discussion with others resulted in finding that we have a
"special" repository that pulls these special versions. (Ok I forgot
about that).
This is going to be a problem for anyone who has a dependency on our
jars (ie. wanting to use the specs jars for a web applications, etc).
If I (a committer) had to go through this much trouble trying to
figure
out how to get that dependency...I can't imagine what the standard
user
will go through when writing a web or webservices application.
The point I am making here is if we are going to have special versions
of jars, we need to make these more readily available.
Here are some options I thought of:
A) Place the special jars in central so they are automatically
available
to others. (Easiest approach for the user - but we are going to
have to
convince other projects to put them out into their locations - that
may
prove difficult).
B) Heavily, heavily document how to get around this problem by adding
our repo to their pom. This should be easily Googled and placed in a
FAQ, because I would hazard to guess this will be a frequent question.
(probably the easiest approach for us, but this needs to be a short
term
solution - and its still a PITA for our users).
C) Convince the other projects to get their releases in order and get
good versions of their product on central. (Should do this
regardless of
any other option).
D) Rename our special versions to g-axis-saaj-1.3-r562247 and house
those under our own control (org.apache.geronimo...) in central on our
next build (2.0.2). (The easy and quick, and very temprary fix!)
Thoughts? Comments?
Thanks,
Jeff