You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Chris Berry <ch...@gmail.com> on 2005/12/18 21:19:38 UTC

[m2] Missing POMs for m1, legacy-style projects

Greetings,

AFAICT, m2 goes off and searches for POMs for each artifact it encounters.
This is all well and good if the POMs exist, but when one is using a mix of
m1 & m2 repos, then there will be many artifacts that do not have associated
POMs. m2 figures this out and moves on -- as it should -- but it doesn't
remember. So every time I build it rediscovers that a POM is missing. This
is often ridiculously slow -- as it chains thru the repos, eventually going
into the black hole of ibiblio. This can make a build that should take
seconds -- take minutes.

Does anyone know how to work around this??

BTW: the -offline switch is not working for this. When I use that switch in
this situation the build simply dies.

BTW: there is another wrinkle to this. If I was able to search my m1 repo
first, then m2 should see that an artifact exists and then stop searching
for its corresponding POM. This is because you want it to use this artifact,
and not mix it up with a POM somewhere down the repo food-chain.

Thanks,
-- Chris

Re: [m2] Missing POMs for m1, legacy-style projects

Posted by John Casey <jd...@yahoo.com>.
Just checking quickly, but is the --offline switch still problematic in 
2.0.1? I applied a patch that fixed the missing pom problem (or so I 
thought), and this should have made it into the release...I'll need to 
look at it again if not.

Thanks,

John

Chris Berry wrote:
> Inline. Cheers,
> -- Chris
> 
> On 12/18/05, Brett Porter <br...@gmail.com> wrote:
>> On 12/19/05, Chris Berry <ch...@gmail.com> wrote:
>>> Does anyone know how to work around this??
>> Previously, we'd written a dummy into the local repository, but this
>> meant that if you then went and corrected it remotely it didn't get
>> picked up. We need an alternative solution there.
> 
> 
> I think the answer to this is to mark the dummy POM  -- or to simply put a
> touch file in the the local repo -- i.e. no dummy POM at all -- just an
> indicator that no POM was found. I definitely do not think you should look
> every time. It makes the builds way too slow  -- rediscovering what it just
> learned the last go around.. Maybe treat them like SNAPSHOTs??
> 
>> BTW: the -offline switch is not working for this. When I use that switch
>> in
>>> this situation the build simply dies.
>> I recall seeing this too. I'm not sure if it found its way to JIRA.
> 
> 
> It is pretty easy to reproduce. Jason witnessed it when we were hanging out
> last week ;-)
> 
>> BTW: there is another wrinkle to this. If I was able to search my m1 repo
>>> first, then m2 should see that an artifact exists and then stop
>> searching
>>> for its corresponding POM. This is because you want it to use this
>> artifact,
>>> and not mix it up with a POM somewhere down the repo food-chain.
>> This makes sense - so you want to tie the resolution of the POM to the
>> same JAR? I thought this was how it behaved (POM first, with the
>> repository remembered to get the JAR). I'm not sure how you are seeing
>> this exactly.
> 
> 
> I actually saw an issue with this today. I have an m1, legacy-style repo,
> so, of course, there are no POMs in it. The artifact I was after was
> available in the first repo, but no POM was -- so m2 kept on searching -- it
> then found a m2-style POM for this artifact. This POM did not match, and in
> some cases  it caused issues.
> 
> E.g.  I had axis-1.3.jar in my local m1 repo, but it found a POM on ibiblio.
> Or activation-1.0.2.jar which was in jaf/jars, but it found a POM there that
> said it had moved.
> 
> I ended up having to delete portions of my local repo, and then forced it to
> overload "central" -- after doing this it worked.
> 
> Thanks,
> -- Brett
> 
> - Brett
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
> 

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


Re: [m2] Missing POMs for m1, legacy-style projects

Posted by Chris Berry <ch...@gmail.com>.
Inline. Cheers,
-- Chris

On 12/18/05, Brett Porter <br...@gmail.com> wrote:
>
> On 12/19/05, Chris Berry <ch...@gmail.com> wrote:
> > Does anyone know how to work around this??
>
> Previously, we'd written a dummy into the local repository, but this
> meant that if you then went and corrected it remotely it didn't get
> picked up. We need an alternative solution there.


I think the answer to this is to mark the dummy POM  -- or to simply put a
touch file in the the local repo -- i.e. no dummy POM at all -- just an
indicator that no POM was found. I definitely do not think you should look
every time. It makes the builds way too slow  -- rediscovering what it just
learned the last go around.. Maybe treat them like SNAPSHOTs??

> BTW: the -offline switch is not working for this. When I use that switch
> in
> > this situation the build simply dies.
>
> I recall seeing this too. I'm not sure if it found its way to JIRA.


It is pretty easy to reproduce. Jason witnessed it when we were hanging out
last week ;-)

> BTW: there is another wrinkle to this. If I was able to search my m1 repo
> > first, then m2 should see that an artifact exists and then stop
> searching
> > for its corresponding POM. This is because you want it to use this
> artifact,
> > and not mix it up with a POM somewhere down the repo food-chain.
>
> This makes sense - so you want to tie the resolution of the POM to the
> same JAR? I thought this was how it behaved (POM first, with the
> repository remembered to get the JAR). I'm not sure how you are seeing
> this exactly.


I actually saw an issue with this today. I have an m1, legacy-style repo,
so, of course, there are no POMs in it. The artifact I was after was
available in the first repo, but no POM was -- so m2 kept on searching -- it
then found a m2-style POM for this artifact. This POM did not match, and in
some cases  it caused issues.

E.g.  I had axis-1.3.jar in my local m1 repo, but it found a POM on ibiblio.
Or activation-1.0.2.jar which was in jaf/jars, but it found a POM there that
said it had moved.

I ended up having to delete portions of my local repo, and then forced it to
overload "central" -- after doing this it worked.

Thanks,
-- Brett

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

Re: [m2] Missing POMs for m1, legacy-style projects

Posted by Brett Porter <br...@gmail.com>.
On 12/19/05, Chris Berry <ch...@gmail.com> wrote:
> Does anyone know how to work around this??

Previously, we'd written a dummy into the local repository, but this
meant that if you then went and corrected it remotely it didn't get
picked up. We need an alternative solution there.

> BTW: the -offline switch is not working for this. When I use that switch in
> this situation the build simply dies.

I recall seeing this too. I'm not sure if it found its way to JIRA.

> BTW: there is another wrinkle to this. If I was able to search my m1 repo
> first, then m2 should see that an artifact exists and then stop searching
> for its corresponding POM. This is because you want it to use this artifact,
> and not mix it up with a POM somewhere down the repo food-chain.

This makes sense - so you want to tie the resolution of the POM to the
same JAR? I thought this was how it behaved (POM first, with the
repository remembered to get the JAR). I'm not sure how you are seeing
this exactly.

- Brett

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