You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Jeff Genender <jg...@apache.org> on 2007/08/31 00:05:16 UTC

Trouble with 2.0.1 main pom and building anything a G dependency

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

Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Vamsavardhana Reddy <c1...@gmail.com>.
On 9/3/07, Jason Dillon <ja...@planet57.com> wrote:
>
> IMO, we need to ween ourselves off of the local repository module
> completely... and avoid future use of any such local repository.


+1


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
>
>

Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Jason Dillon <ja...@planet57.com>.
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


Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Tim McConnell <ti...@gmail.com>.
Hi David, thanks for the information. I can easily do that for myself and 
certainly don't mind doing so. However, this does bring to mind yet another 
question. The Geronimo Eclipse plugin will not build from a clean M2 repo 
without some of the artifacts in this repo, and I've been striving to have it to 
so without forcing a prior build of the server. I'm not sure if this an absolute 
requirement for the plugin but it seems logical to me. So I guess my 
alternatives are to add this "special" repo to the list of repositories in the 
Eclipse plugin's pom.xml build or require the user to build the server if they 
wish to build the plugin. Do you (or others) nave an opinion on the preferred 
alternative from and end-user perspective ?? Thanks much



David Jencks wrote:
> 
> On Aug 31, 2007, at 8:28 PM, Tim McConnell wrote:
> 
>> Hi Jeff, I'm getting a similar problem when building the Eclipse 
>> plugin with a clean repo, except mine is axis2-jaxws-api...
>>
>> 1) org.apache.axis2:axis2-jaxws-api:jar:1.3-r562247
>>
>> Where is this "special" repository I should use so that maven can find 
>> and download this ?? Thanks
> 
> I'd recommend checking out an appropriate geronimo trunk/branch/tag and 
> building the repository module which should get all these private builds 
> into your local repo.
> 
> thanks
> david jencks
>>
>>
>> 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
>>
>> -- 
>> Thanks,
>> Tim McConnell
> 
> 

-- 
Thanks,
Tim McConnell

Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by David Jencks <da...@yahoo.com>.
On Aug 31, 2007, at 8:28 PM, Tim McConnell wrote:

> Hi Jeff, I'm getting a similar problem when building the Eclipse  
> plugin with a clean repo, except mine is axis2-jaxws-api...
>
> 1) org.apache.axis2:axis2-jaxws-api:jar:1.3-r562247
>
> Where is this "special" repository I should use so that maven can  
> find and download this ?? Thanks

I'd recommend checking out an appropriate geronimo trunk/branch/tag  
and building the repository module which should get all these private  
builds into your local repo.

thanks
david jencks
>
>
> 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
>
> -- 
> Thanks,
> Tim McConnell


Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Tim McConnell <ti...@gmail.com>.
Hi Jeff, I'm getting a similar problem when building the Eclipse plugin with a 
clean repo, except mine is axis2-jaxws-api...

1) org.apache.axis2:axis2-jaxws-api:jar:1.3-r562247

Where is this "special" repository I should use so that maven can find and 
download this ?? Thanks


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
> 

-- 
Thanks,
Tim McConnell

Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Kevan Miller <ke...@gmail.com>.
On Aug 30, 2007, at 6: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.

I see your point. And agree that it's a general problem. Vamsi was  
having this same general problem with the Tuscany plugin, recently.

I'm surprised that you get to this through a geronimo spec, though. I  
wouldn't have predicted that. In fact, it seems wrong... What's the  
chain from specs to geronimo?

That said, we'd definitely have a problem with any 2.0.1 server  
artifact...

>
> 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).

Agreed that it's best for the user, but I think it's next to  
impossible. I think we'd accept artifacts from other projects and  
place them in our space...

>
> 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).

Probably have to do that for 2.0.1 resources regardless.

>
> 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).

I think we've done that and are doing that. Axis2, JPA, etc have  
shipped, etc. So G 2.0.2 would be better than 2.0.1 in this regard.  
However, I think we'll always have a tension between getting a  
release out and getting all of our dependencies to line up. For a  
major release like a 2.0, I think it's highly unlikely that we'll get  
all dependencies to a "released" level...

>
> 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!)

This is probably my favored option. I guess another option would be  
not to declare these artifacts as maven dependencies. It's not like  
they have poms, etc. However, would present their own set of issues.  
Definitely beyond my maven capabilities...

--kevan



Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Vamsavardhana Reddy <c1...@gmail.com>.
I thought I would initiate this discussion on the dependency issue I have
run into with projects dependent on G 2.0.1.  But, then I had to go
"offline" for a few days.  Now that someone else has run into the same
problem, I guess it needs to be addressed for good.

On 8/31/07, Jeff Genender <jg...@apache.org> 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).


I got past the problem by adding a special repo (I called it
geronimo-201-private)
http://svn.apache.org/repos/asf/geronimo/server/tags/2.0.1/repository.  Some
of the artifacts in this repo do not have check-sum files.  I don't know if
that will create a problem if some "verify-check-sum" option is enabled in
the build.

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
>

Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Matt Hogstrom <ma...@hogstrom.org>.
+1 ... Also, I think we'll be in better shape in the future but will  
always have this issue.  Unfortunately, everyone was working at  
different paces to get to Java EE 5.  Of course, the same problem  
will resurface on Java EE 6 ;-P

On Aug 30, 2007, at 10:47 PM, Paul McMahan wrote:

> On Aug 30, 2007, at 6:05 PM, Jeff Genender wrote:
>
>>
>> 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!)
>
> This option seems most reasonable to me (least ugly :-)
>
>
> Best wishes,
> Paul
>
>


Re: Trouble with 2.0.1 main pom and building anything a G dependency

Posted by Paul McMahan <pa...@gmail.com>.
On Aug 30, 2007, at 6:05 PM, Jeff Genender wrote:

>
> 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!)

This option seems most reasonable to me (least ugly :-)


Best wishes,
Paul