You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2008/07/08 22:36:15 UTC
svn commit: r674941 - in /maven/artifact/trunk/src:
main/java/org/apache/maven/artifact/manager/
main/java/org/apache/maven/artifact/repository/
test/java/org/apache/maven/artifact/manager/
Author: jvanzyl
Date: Tue Jul 8 13:36:14 2008
New Revision: 674941
URL: http://svn.apache.org/viewvc?rev=674941&view=rev
Log:
MARTIFACT-29: Prevent checking from all remote repositories once the artifact is found.
Submitted by: Igor Fedorenko
Modified:
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Tue Jul 8 13:36:14 2008
@@ -333,14 +333,15 @@
boolean force )
throws TransferFailedException, ResourceDoesNotExistException
{
- boolean successful = false;
-
for (ArtifactRepository repository : remoteRepositories) {
try
{
getArtifact( artifact, repository, force );
- successful = artifact.isResolved();
+ if (artifact.isResolved())
+ {
+ break;
+ }
}
catch ( ResourceDoesNotExistException e )
{
@@ -358,7 +359,7 @@
}
// if it already exists locally we were just trying to force it - ignore the update
- if ( !successful && !artifact.getFile().exists() )
+ if ( !artifact.getFile().exists() )
{
throw new ResourceDoesNotExistException( "Unable to download the artifact from any repository" );
}
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java Tue Jul 8 13:36:14 2008
@@ -35,7 +35,7 @@
extends Repository
implements ArtifactRepository
{
- private final ArtifactRepositoryLayout layout;
+ private ArtifactRepositoryLayout layout;
private ArtifactRepositoryPolicy snapshots;
Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java Tue Jul 8 13:36:14 2008
@@ -21,6 +21,8 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
@@ -31,13 +33,16 @@
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.artifact.resolver.TestTransferListener;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.TransferFailedException;
import org.apache.maven.wagon.UnsupportedProtocolException;
import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.events.TransferEvent;
import org.apache.maven.wagon.events.TransferListener;
+import org.apache.maven.wagon.observers.AbstractTransferListener;
import org.apache.maven.wagon.observers.Debug;
import org.apache.maven.wagon.repository.Repository;
import org.codehaus.plexus.PlexusTestCase;
@@ -68,6 +73,32 @@
artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
}
+
+ public void testUnnecessaryRepositoryLookup() throws Exception {
+ Artifact artifact = createTestPomArtifact( "target/test-data/get-missing-pom" );
+
+ List<ArtifactRepository> repos = new ArrayList<ArtifactRepository>();
+ repos.add(new DefaultArtifactRepository( "repo1", "noop://url1", new ArtifactRepositoryLayoutStub() ));
+ repos.add(new DefaultArtifactRepository( "repo2", "noop://url2", new ArtifactRepositoryLayoutStub() ));
+
+ StringWagon wagon = (StringWagon) wagonManager.getWagon( "noop" );
+ wagon.addExpectedContent( repos.get(0).getLayout().pathOf( artifact ), "expected" );
+ wagon.addExpectedContent( repos.get(1).getLayout().pathOf( artifact ), "expected" );
+
+ class TransferListener extends AbstractTransferListener {
+ public List<TransferEvent> events = new ArrayList<TransferEvent>();
+ @Override
+ public void transferInitiated(TransferEvent transferEvent) {
+ events.add(transferEvent);
+ }
+ };
+ TransferListener listener = new TransferListener();
+
+ wagonManager.setDownloadMonitor(listener);
+ wagonManager.getArtifact( artifact, repos, false );
+
+ assertEquals(1, listener.events.size());
+ }
public void testGetMissingPomUncached() throws TransferFailedException, UnsupportedProtocolException, IOException
{
Re: svn commit: r674941 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/manager/ main/java/org/apache/maven/artifact/repository/ test/java/org/apache/maven/artifact/manager/
Posted by Jason van Zyl <ja...@maven.org>.
On 9-Jul-08, at 6:43 PM, Brett Porter wrote:
>
> On 09/07/2008, at 9:18 PM, Jason van Zyl wrote:
>
>> I don't see it in JIRA anymore, but did someone take care of
>> snapshot repositories being queried over and over again?
>
> I think this is what John's update check does, and I added some
> tests in this space yesterday.
>
> If you have more information, a JIRA, or a specific example let us
> know and we can take a look.
>
>> Other then that I want Hudson up on at least Linux, Solaris,
>> Windows, have everything pass and then I would say it's good to go.
>> I'll have the Windows Hudson setup today if all goes well.
>
> So we're all set then?
>
I don't have a clean run yet across the three platforms. I also have
17 people who have volunteered to give the hudson setup a try which
will incorporate the Maven artifact build. The ITs will help rat out
anything in maven-artifact.
> - Brett
>
>>
>>
>> On 9-Jul-08, at 1:56 AM, Brett Porter wrote:
>>
>>>
>>> On 09/07/2008, at 11:32 AM, Igor Fedorenko wrote:
>>>
>>>> Personally, I think maven should obey repository update policy
>>>> (i.e. never/daily/etc) and force (i.e. -U) flag for all missing
>>>> release artifacts.
>>>
>>> It doesn't have to right now because it doesn't cache missing
>>> release artifacts. As I said in my other reply, I'm not sure
>>> that's a good idea.
>>>
>>> Should we proceed with the release and look to address this in a
>>> future release then?
>>>
>>> - Brett
>>>
>>>>
>>>>
>>>> Brett Porter wrote:
>>>>> Hehe, got to watch out for those Java 5 for loop conversions :)
>>>>> Was this regression the one Igor was referring to, or is there
>>>>> still more work being done on MARTIFACT-25?
>>>>> Thanks,
>>>>> Brett
>>>>> On 09/07/2008, at 6:36 AM, jvanzyl@apache.org wrote:
>>>>>> Author: jvanzyl
>>>>>> Date: Tue Jul 8 13:36:14 2008
>>>>>> New Revision: 674941
>>>>>>
>>>>>> URL: http://svn.apache.org/viewvc?rev=674941&view=rev
>>>>>> Log:
>>>>>> MARTIFACT-29: Prevent checking from all remote repositories
>>>>>> once the artifact is found.
>>>>>> Submitted by: Igor Fedorenko
>>>>>>
>>>>>> Modified:
>>>>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>>> manager/DefaultWagonManager.java
>>>>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>>> repository/DefaultArtifactRepository.java
>>>>>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>>>> manager/DefaultWagonManagerTest.java
>>>>>>
>>>>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>>> artifact/manager/DefaultWagonManager.java
>>>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =================================================================
>>>>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>>> artifact/manager/DefaultWagonManager.java (original)
>>>>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>>> artifact/manager/DefaultWagonManager.java Tue Jul 8 13:36:14
>>>>>> 2008
>>>>>> @@ -333,14 +333,15 @@
>>>>>> boolean force )
>>>>>> throws TransferFailedException, ResourceDoesNotExistException
>>>>>> {
>>>>>> - boolean successful = false;
>>>>>> -
>>>>>> for (ArtifactRepository repository : remoteRepositories) {
>>>>>> try
>>>>>> {
>>>>>> getArtifact( artifact, repository, force );
>>>>>>
>>>>>> - successful = artifact.isResolved();
>>>>>> + if (artifact.isResolved())
>>>>>> + {
>>>>>> + break;
>>>>>> + }
>>>>>> }
>>>>>> catch ( ResourceDoesNotExistException e )
>>>>>> {
>>>>>> @@ -358,7 +359,7 @@
>>>>>> }
>>>>>>
>>>>>> // if it already exists locally we were just trying to
>>>>>> force it - ignore the update
>>>>>> - if ( !successful && !artifact.getFile().exists() )
>>>>>> + if ( !artifact.getFile().exists() )
>>>>>> {
>>>>>> throw new ResourceDoesNotExistException( "Unable to
>>>>>> download the artifact from any repository" );
>>>>>> }
>>>>>>
>>>>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>>> artifact/repository/DefaultArtifactRepository.java
>>>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =================================================================
>>>>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>>> artifact/repository/DefaultArtifactRepository.java (original)
>>>>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>>> artifact/repository/DefaultArtifactRepository.java Tue Jul 8
>>>>>> 13:36:14 2008
>>>>>> @@ -35,7 +35,7 @@
>>>>>> extends Repository
>>>>>> implements ArtifactRepository
>>>>>> {
>>>>>> - private final ArtifactRepositoryLayout layout;
>>>>>> + private ArtifactRepositoryLayout layout;
>>>>>>
>>>>>> private ArtifactRepositoryPolicy snapshots;
>>>>>>
>>>>>>
>>>>>> Modified: maven/artifact/trunk/src/test/java/org/apache/maven/
>>>>>> artifact/manager/DefaultWagonManagerTest.java
>>>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =
>>>>>> =================================================================
>>>>>> --- maven/artifact/trunk/src/test/java/org/apache/maven/
>>>>>> artifact/manager/DefaultWagonManagerTest.java (original)
>>>>>> +++ maven/artifact/trunk/src/test/java/org/apache/maven/
>>>>>> artifact/manager/DefaultWagonManagerTest.java Tue Jul 8
>>>>>> 13:36:14 2008
>>>>>> @@ -21,6 +21,8 @@
>>>>>>
>>>>>> import java.io.File;
>>>>>> import java.io.IOException;
>>>>>> +import java.util.ArrayList;
>>>>>> +import java.util.List;
>>>>>>
>>>>>> import org.apache.maven.artifact.Artifact;
>>>>>> import org.apache.maven.artifact.DefaultArtifact;
>>>>>> @@ -31,13 +33,16 @@
>>>>>> import
>>>>>> org.apache.maven.artifact.repository.DefaultArtifactRepository;
>>>>>> import
>>>>>> org
>>>>>> .apache
>>>>>> .maven.artifact.repository.layout.ArtifactRepositoryLayout;
>>>>>> import
>>>>>> org
>>>>>> .apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
>>>>>> +import org.apache.maven.artifact.resolver.TestTransferListener;
>>>>>> import org.apache.maven.artifact.versioning.VersionRange;
>>>>>> import org.apache.maven.wagon.ResourceDoesNotExistException;
>>>>>> import org.apache.maven.wagon.TransferFailedException;
>>>>>> import org.apache.maven.wagon.UnsupportedProtocolException;
>>>>>> import org.apache.maven.wagon.Wagon;
>>>>>> import
>>>>>> org.apache.maven.wagon.authorization.AuthorizationException;
>>>>>> +import org.apache.maven.wagon.events.TransferEvent;
>>>>>> import org.apache.maven.wagon.events.TransferListener;
>>>>>> +import
>>>>>> org.apache.maven.wagon.observers.AbstractTransferListener;
>>>>>> import org.apache.maven.wagon.observers.Debug;
>>>>>> import org.apache.maven.wagon.repository.Repository;
>>>>>> import org.codehaus.plexus.PlexusTestCase;
>>>>>> @@ -68,6 +73,32 @@
>>>>>>
>>>>>> artifactFactory = (ArtifactFactory)
>>>>>> lookup( ArtifactFactory.ROLE );
>>>>>> }
>>>>>> +
>>>>>> + public void testUnnecessaryRepositoryLookup() throws
>>>>>> Exception {
>>>>>> + Artifact artifact = createTestPomArtifact( "target/
>>>>>> test-data/get-missing-pom" );
>>>>>> +
>>>>>> + List<ArtifactRepository> repos = new
>>>>>> ArrayList<ArtifactRepository>();
>>>>>> + repos.add(new DefaultArtifactRepository( "repo1",
>>>>>> "noop://url1", new ArtifactRepositoryLayoutStub() ));
>>>>>> + repos.add(new DefaultArtifactRepository( "repo2",
>>>>>> "noop://url2", new ArtifactRepositoryLayoutStub() ));
>>>>>> +
>>>>>> + StringWagon wagon = (StringWagon)
>>>>>> wagonManager.getWagon( "noop" );
>>>>>> +
>>>>>> wagon
>>>>>> .addExpectedContent
>>>>>> ( repos.get(0).getLayout().pathOf( artifact ), "expected" );
>>>>>> +
>>>>>> wagon
>>>>>> .addExpectedContent
>>>>>> ( repos.get(1).getLayout().pathOf( artifact ), "expected" );
>>>>>> +
>>>>>> + class TransferListener extends
>>>>>> AbstractTransferListener {
>>>>>> + public List<TransferEvent> events = new
>>>>>> ArrayList<TransferEvent>();
>>>>>> + @Override
>>>>>> + public void transferInitiated(TransferEvent
>>>>>> transferEvent) {
>>>>>> + events.add(transferEvent);
>>>>>> + }
>>>>>> + };
>>>>>> + TransferListener listener = new TransferListener();
>>>>>> +
>>>>>> + wagonManager.setDownloadMonitor(listener);
>>>>>> + wagonManager.getArtifact( artifact, repos, false );
>>>>>> +
>>>>>> + assertEquals(1, listener.events.size());
>>>>>> + }
>>>>>>
>>>>>> public void testGetMissingPomUncached() throws
>>>>>> TransferFailedException, UnsupportedProtocolException,
>>>>>> IOException
>>>>>> {
>>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>
>>>
>>> --
>>> Brett Porter
>>> brett@apache.org
>>> http://blogs.exist.com/bporter/
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>
>> Thanks,
>>
>> Jason
>>
>> ----------------------------------------------------------
>> Jason van Zyl
>> Founder, Apache Maven
>> jason at sonatype dot com
>> ----------------------------------------------------------
>>
>> We know what we are, but know not what we may be.
>>
>> -- Shakespeare
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> --
> Brett Porter
> brett@apache.org
> http://blogs.exist.com/bporter/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
People develop abstractions by generalizing from concrete examples.
Every attempt to determine the correct abstraction on paper without
actually developing a running system is doomed to failure. No one
is that smart. A framework is a resuable design, so you develop it by
looking at the things it is supposed to be a design of. The more
examples
you look at, the more general your framework will be.
-- Ralph Johnson & Don Roberts, Patterns for Evolving Frameworks
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r674941 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/manager/ main/java/org/apache/maven/artifact/repository/ test/java/org/apache/maven/artifact/manager/
Posted by Brett Porter <br...@apache.org>.
On 09/07/2008, at 9:18 PM, Jason van Zyl wrote:
> I don't see it in JIRA anymore, but did someone take care of
> snapshot repositories being queried over and over again?
I think this is what John's update check does, and I added some tests
in this space yesterday.
If you have more information, a JIRA, or a specific example let us
know and we can take a look.
> Other then that I want Hudson up on at least Linux, Solaris,
> Windows, have everything pass and then I would say it's good to go.
> I'll have the Windows Hudson setup today if all goes well.
So we're all set then?
- Brett
>
>
> On 9-Jul-08, at 1:56 AM, Brett Porter wrote:
>
>>
>> On 09/07/2008, at 11:32 AM, Igor Fedorenko wrote:
>>
>>> Personally, I think maven should obey repository update policy
>>> (i.e. never/daily/etc) and force (i.e. -U) flag for all missing
>>> release artifacts.
>>
>> It doesn't have to right now because it doesn't cache missing
>> release artifacts. As I said in my other reply, I'm not sure that's
>> a good idea.
>>
>> Should we proceed with the release and look to address this in a
>> future release then?
>>
>> - Brett
>>
>>>
>>>
>>> Brett Porter wrote:
>>>> Hehe, got to watch out for those Java 5 for loop conversions :)
>>>> Was this regression the one Igor was referring to, or is there
>>>> still more work being done on MARTIFACT-25?
>>>> Thanks,
>>>> Brett
>>>> On 09/07/2008, at 6:36 AM, jvanzyl@apache.org wrote:
>>>>> Author: jvanzyl
>>>>> Date: Tue Jul 8 13:36:14 2008
>>>>> New Revision: 674941
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=674941&view=rev
>>>>> Log:
>>>>> MARTIFACT-29: Prevent checking from all remote repositories once
>>>>> the artifact is found.
>>>>> Submitted by: Igor Fedorenko
>>>>>
>>>>> Modified:
>>>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>> manager/DefaultWagonManager.java
>>>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>> repository/DefaultArtifactRepository.java
>>>>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>>> manager/DefaultWagonManagerTest.java
>>>>>
>>>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>> artifact/manager/DefaultWagonManager.java
>>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> ==================================================================
>>>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>> manager/DefaultWagonManager.java (original)
>>>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>> manager/DefaultWagonManager.java Tue Jul 8 13:36:14 2008
>>>>> @@ -333,14 +333,15 @@
>>>>> boolean force )
>>>>> throws TransferFailedException, ResourceDoesNotExistException
>>>>> {
>>>>> - boolean successful = false;
>>>>> -
>>>>> for (ArtifactRepository repository : remoteRepositories) {
>>>>> try
>>>>> {
>>>>> getArtifact( artifact, repository, force );
>>>>>
>>>>> - successful = artifact.isResolved();
>>>>> + if (artifact.isResolved())
>>>>> + {
>>>>> + break;
>>>>> + }
>>>>> }
>>>>> catch ( ResourceDoesNotExistException e )
>>>>> {
>>>>> @@ -358,7 +359,7 @@
>>>>> }
>>>>>
>>>>> // if it already exists locally we were just trying to
>>>>> force it - ignore the update
>>>>> - if ( !successful && !artifact.getFile().exists() )
>>>>> + if ( !artifact.getFile().exists() )
>>>>> {
>>>>> throw new ResourceDoesNotExistException( "Unable to
>>>>> download the artifact from any repository" );
>>>>> }
>>>>>
>>>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>>>> artifact/repository/DefaultArtifactRepository.java
>>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> ==================================================================
>>>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>> repository/DefaultArtifactRepository.java (original)
>>>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>>> repository/DefaultArtifactRepository.java Tue Jul 8 13:36:14 2008
>>>>> @@ -35,7 +35,7 @@
>>>>> extends Repository
>>>>> implements ArtifactRepository
>>>>> {
>>>>> - private final ArtifactRepositoryLayout layout;
>>>>> + private ArtifactRepositoryLayout layout;
>>>>>
>>>>> private ArtifactRepositoryPolicy snapshots;
>>>>>
>>>>>
>>>>> Modified: maven/artifact/trunk/src/test/java/org/apache/maven/
>>>>> artifact/manager/DefaultWagonManagerTest.java
>>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> =
>>>>> ==================================================================
>>>>> --- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>>> manager/DefaultWagonManagerTest.java (original)
>>>>> +++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>>> manager/DefaultWagonManagerTest.java Tue Jul 8 13:36:14 2008
>>>>> @@ -21,6 +21,8 @@
>>>>>
>>>>> import java.io.File;
>>>>> import java.io.IOException;
>>>>> +import java.util.ArrayList;
>>>>> +import java.util.List;
>>>>>
>>>>> import org.apache.maven.artifact.Artifact;
>>>>> import org.apache.maven.artifact.DefaultArtifact;
>>>>> @@ -31,13 +33,16 @@
>>>>> import
>>>>> org.apache.maven.artifact.repository.DefaultArtifactRepository;
>>>>> import
>>>>> org
>>>>> .apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
>>>>> import
>>>>> org
>>>>> .apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
>>>>> +import org.apache.maven.artifact.resolver.TestTransferListener;
>>>>> import org.apache.maven.artifact.versioning.VersionRange;
>>>>> import org.apache.maven.wagon.ResourceDoesNotExistException;
>>>>> import org.apache.maven.wagon.TransferFailedException;
>>>>> import org.apache.maven.wagon.UnsupportedProtocolException;
>>>>> import org.apache.maven.wagon.Wagon;
>>>>> import
>>>>> org.apache.maven.wagon.authorization.AuthorizationException;
>>>>> +import org.apache.maven.wagon.events.TransferEvent;
>>>>> import org.apache.maven.wagon.events.TransferListener;
>>>>> +import org.apache.maven.wagon.observers.AbstractTransferListener;
>>>>> import org.apache.maven.wagon.observers.Debug;
>>>>> import org.apache.maven.wagon.repository.Repository;
>>>>> import org.codehaus.plexus.PlexusTestCase;
>>>>> @@ -68,6 +73,32 @@
>>>>>
>>>>> artifactFactory = (ArtifactFactory)
>>>>> lookup( ArtifactFactory.ROLE );
>>>>> }
>>>>> +
>>>>> + public void testUnnecessaryRepositoryLookup() throws
>>>>> Exception {
>>>>> + Artifact artifact = createTestPomArtifact( "target/test-
>>>>> data/get-missing-pom" );
>>>>> +
>>>>> + List<ArtifactRepository> repos = new
>>>>> ArrayList<ArtifactRepository>();
>>>>> + repos.add(new DefaultArtifactRepository( "repo1",
>>>>> "noop://url1", new ArtifactRepositoryLayoutStub() ));
>>>>> + repos.add(new DefaultArtifactRepository( "repo2",
>>>>> "noop://url2", new ArtifactRepositoryLayoutStub() ));
>>>>> +
>>>>> + StringWagon wagon = (StringWagon)
>>>>> wagonManager.getWagon( "noop" );
>>>>> +
>>>>> wagon
>>>>> .addExpectedContent
>>>>> ( repos.get(0).getLayout().pathOf( artifact ), "expected" );
>>>>> +
>>>>> wagon
>>>>> .addExpectedContent
>>>>> ( repos.get(1).getLayout().pathOf( artifact ), "expected" );
>>>>> +
>>>>> + class TransferListener extends AbstractTransferListener {
>>>>> + public List<TransferEvent> events = new
>>>>> ArrayList<TransferEvent>();
>>>>> + @Override
>>>>> + public void transferInitiated(TransferEvent
>>>>> transferEvent) {
>>>>> + events.add(transferEvent);
>>>>> + }
>>>>> + };
>>>>> + TransferListener listener = new TransferListener();
>>>>> +
>>>>> + wagonManager.setDownloadMonitor(listener);
>>>>> + wagonManager.getArtifact( artifact, repos, false );
>>>>> +
>>>>> + assertEquals(1, listener.events.size());
>>>>> + }
>>>>>
>>>>> public void testGetMissingPomUncached() throws
>>>>> TransferFailedException, UnsupportedProtocolException, IOException
>>>>> {
>>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>
>> --
>> Brett Porter
>> brett@apache.org
>> http://blogs.exist.com/bporter/
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> Thanks,
>
> Jason
>
> ----------------------------------------------------------
> Jason van Zyl
> Founder, Apache Maven
> jason at sonatype dot com
> ----------------------------------------------------------
>
> We know what we are, but know not what we may be.
>
> -- Shakespeare
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r674941 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/manager/ main/java/org/apache/maven/artifact/repository/ test/java/org/apache/maven/artifact/manager/
Posted by Jason van Zyl <ja...@maven.org>.
I don't see it in JIRA anymore, but did someone take care of snapshot
repositories being queried over and over again?
Other then that I want Hudson up on at least Linux, Solaris, Windows,
have everything pass and then I would say it's good to go. I'll have
the Windows Hudson setup today if all goes well.
On 9-Jul-08, at 1:56 AM, Brett Porter wrote:
>
> On 09/07/2008, at 11:32 AM, Igor Fedorenko wrote:
>
>> Personally, I think maven should obey repository update policy
>> (i.e. never/daily/etc) and force (i.e. -U) flag for all missing
>> release artifacts.
>
> It doesn't have to right now because it doesn't cache missing
> release artifacts. As I said in my other reply, I'm not sure that's
> a good idea.
>
> Should we proceed with the release and look to address this in a
> future release then?
>
> - Brett
>
>>
>>
>> Brett Porter wrote:
>>> Hehe, got to watch out for those Java 5 for loop conversions :)
>>> Was this regression the one Igor was referring to, or is there
>>> still more work being done on MARTIFACT-25?
>>> Thanks,
>>> Brett
>>> On 09/07/2008, at 6:36 AM, jvanzyl@apache.org wrote:
>>>> Author: jvanzyl
>>>> Date: Tue Jul 8 13:36:14 2008
>>>> New Revision: 674941
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=674941&view=rev
>>>> Log:
>>>> MARTIFACT-29: Prevent checking from all remote repositories once
>>>> the artifact is found.
>>>> Submitted by: Igor Fedorenko
>>>>
>>>> Modified:
>>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>> manager/DefaultWagonManager.java
>>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>> repository/DefaultArtifactRepository.java
>>>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>> manager/DefaultWagonManagerTest.java
>>>>
>>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>>> artifact/manager/DefaultWagonManager.java
>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> ===================================================================
>>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>> manager/DefaultWagonManager.java (original)
>>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>> manager/DefaultWagonManager.java Tue Jul 8 13:36:14 2008
>>>> @@ -333,14 +333,15 @@
>>>> boolean force )
>>>> throws TransferFailedException, ResourceDoesNotExistException
>>>> {
>>>> - boolean successful = false;
>>>> -
>>>> for (ArtifactRepository repository : remoteRepositories) {
>>>> try
>>>> {
>>>> getArtifact( artifact, repository, force );
>>>>
>>>> - successful = artifact.isResolved();
>>>> + if (artifact.isResolved())
>>>> + {
>>>> + break;
>>>> + }
>>>> }
>>>> catch ( ResourceDoesNotExistException e )
>>>> {
>>>> @@ -358,7 +359,7 @@
>>>> }
>>>>
>>>> // if it already exists locally we were just trying to
>>>> force it - ignore the update
>>>> - if ( !successful && !artifact.getFile().exists() )
>>>> + if ( !artifact.getFile().exists() )
>>>> {
>>>> throw new ResourceDoesNotExistException( "Unable to
>>>> download the artifact from any repository" );
>>>> }
>>>>
>>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>>> artifact/repository/DefaultArtifactRepository.java
>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> ===================================================================
>>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>> repository/DefaultArtifactRepository.java (original)
>>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>>> repository/DefaultArtifactRepository.java Tue Jul 8 13:36:14 2008
>>>> @@ -35,7 +35,7 @@
>>>> extends Repository
>>>> implements ArtifactRepository
>>>> {
>>>> - private final ArtifactRepositoryLayout layout;
>>>> + private ArtifactRepositoryLayout layout;
>>>>
>>>> private ArtifactRepositoryPolicy snapshots;
>>>>
>>>>
>>>> Modified: maven/artifact/trunk/src/test/java/org/apache/maven/
>>>> artifact/manager/DefaultWagonManagerTest.java
>>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> ===================================================================
>>>> --- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>> manager/DefaultWagonManagerTest.java (original)
>>>> +++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>>> manager/DefaultWagonManagerTest.java Tue Jul 8 13:36:14 2008
>>>> @@ -21,6 +21,8 @@
>>>>
>>>> import java.io.File;
>>>> import java.io.IOException;
>>>> +import java.util.ArrayList;
>>>> +import java.util.List;
>>>>
>>>> import org.apache.maven.artifact.Artifact;
>>>> import org.apache.maven.artifact.DefaultArtifact;
>>>> @@ -31,13 +33,16 @@
>>>> import
>>>> org.apache.maven.artifact.repository.DefaultArtifactRepository;
>>>> import
>>>> org
>>>> .apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
>>>> import
>>>> org
>>>> .apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
>>>> +import org.apache.maven.artifact.resolver.TestTransferListener;
>>>> import org.apache.maven.artifact.versioning.VersionRange;
>>>> import org.apache.maven.wagon.ResourceDoesNotExistException;
>>>> import org.apache.maven.wagon.TransferFailedException;
>>>> import org.apache.maven.wagon.UnsupportedProtocolException;
>>>> import org.apache.maven.wagon.Wagon;
>>>> import org.apache.maven.wagon.authorization.AuthorizationException;
>>>> +import org.apache.maven.wagon.events.TransferEvent;
>>>> import org.apache.maven.wagon.events.TransferListener;
>>>> +import org.apache.maven.wagon.observers.AbstractTransferListener;
>>>> import org.apache.maven.wagon.observers.Debug;
>>>> import org.apache.maven.wagon.repository.Repository;
>>>> import org.codehaus.plexus.PlexusTestCase;
>>>> @@ -68,6 +73,32 @@
>>>>
>>>> artifactFactory = (ArtifactFactory)
>>>> lookup( ArtifactFactory.ROLE );
>>>> }
>>>> +
>>>> + public void testUnnecessaryRepositoryLookup() throws
>>>> Exception {
>>>> + Artifact artifact = createTestPomArtifact( "target/test-
>>>> data/get-missing-pom" );
>>>> +
>>>> + List<ArtifactRepository> repos = new
>>>> ArrayList<ArtifactRepository>();
>>>> + repos.add(new DefaultArtifactRepository( "repo1",
>>>> "noop://url1", new ArtifactRepositoryLayoutStub() ));
>>>> + repos.add(new DefaultArtifactRepository( "repo2",
>>>> "noop://url2", new ArtifactRepositoryLayoutStub() ));
>>>> +
>>>> + StringWagon wagon = (StringWagon)
>>>> wagonManager.getWagon( "noop" );
>>>> +
>>>> wagon
>>>> .addExpectedContent( repos.get(0).getLayout().pathOf( artifact ),
>>>> "expected" );
>>>> +
>>>> wagon
>>>> .addExpectedContent( repos.get(1).getLayout().pathOf( artifact ),
>>>> "expected" );
>>>> +
>>>> + class TransferListener extends AbstractTransferListener {
>>>> + public List<TransferEvent> events = new
>>>> ArrayList<TransferEvent>();
>>>> + @Override
>>>> + public void transferInitiated(TransferEvent
>>>> transferEvent) {
>>>> + events.add(transferEvent);
>>>> + }
>>>> + };
>>>> + TransferListener listener = new TransferListener();
>>>> +
>>>> + wagonManager.setDownloadMonitor(listener);
>>>> + wagonManager.getArtifact( artifact, repos, false );
>>>> +
>>>> + assertEquals(1, listener.events.size());
>>>> + }
>>>>
>>>> public void testGetMissingPomUncached() throws
>>>> TransferFailedException, UnsupportedProtocolException, IOException
>>>> {
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> --
> Brett Porter
> brett@apache.org
> http://blogs.exist.com/bporter/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
We know what we are, but know not what we may be.
-- Shakespeare
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r674941 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/manager/ main/java/org/apache/maven/artifact/repository/ test/java/org/apache/maven/artifact/manager/
Posted by Brett Porter <br...@apache.org>.
On 09/07/2008, at 11:32 AM, Igor Fedorenko wrote:
> Personally, I think maven should obey repository update policy (i.e.
> never/daily/etc) and force (i.e. -U) flag for all missing release
> artifacts.
It doesn't have to right now because it doesn't cache missing release
artifacts. As I said in my other reply, I'm not sure that's a good idea.
Should we proceed with the release and look to address this in a
future release then?
- Brett
>
>
> Brett Porter wrote:
>> Hehe, got to watch out for those Java 5 for loop conversions :)
>> Was this regression the one Igor was referring to, or is there
>> still more work being done on MARTIFACT-25?
>> Thanks,
>> Brett
>> On 09/07/2008, at 6:36 AM, jvanzyl@apache.org wrote:
>>> Author: jvanzyl
>>> Date: Tue Jul 8 13:36:14 2008
>>> New Revision: 674941
>>>
>>> URL: http://svn.apache.org/viewvc?rev=674941&view=rev
>>> Log:
>>> MARTIFACT-29: Prevent checking from all remote repositories once
>>> the artifact is found.
>>> Submitted by: Igor Fedorenko
>>>
>>> Modified:
>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>> manager/DefaultWagonManager.java
>>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>> repository/DefaultArtifactRepository.java
>>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>> manager/DefaultWagonManagerTest.java
>>>
>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>> artifact/manager/DefaultWagonManager.java
>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>> manager/DefaultWagonManager.java (original)
>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>> manager/DefaultWagonManager.java Tue Jul 8 13:36:14 2008
>>> @@ -333,14 +333,15 @@
>>> boolean force )
>>> throws TransferFailedException, ResourceDoesNotExistException
>>> {
>>> - boolean successful = false;
>>> -
>>> for (ArtifactRepository repository : remoteRepositories) {
>>> try
>>> {
>>> getArtifact( artifact, repository, force );
>>>
>>> - successful = artifact.isResolved();
>>> + if (artifact.isResolved())
>>> + {
>>> + break;
>>> + }
>>> }
>>> catch ( ResourceDoesNotExistException e )
>>> {
>>> @@ -358,7 +359,7 @@
>>> }
>>>
>>> // if it already exists locally we were just trying to
>>> force it - ignore the update
>>> - if ( !successful && !artifact.getFile().exists() )
>>> + if ( !artifact.getFile().exists() )
>>> {
>>> throw new ResourceDoesNotExistException( "Unable to
>>> download the artifact from any repository" );
>>> }
>>>
>>> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
>>> artifact/repository/DefaultArtifactRepository.java
>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>> repository/DefaultArtifactRepository.java (original)
>>> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
>>> repository/DefaultArtifactRepository.java Tue Jul 8 13:36:14 2008
>>> @@ -35,7 +35,7 @@
>>> extends Repository
>>> implements ArtifactRepository
>>> {
>>> - private final ArtifactRepositoryLayout layout;
>>> + private ArtifactRepositoryLayout layout;
>>>
>>> private ArtifactRepositoryPolicy snapshots;
>>>
>>>
>>> Modified: maven/artifact/trunk/src/test/java/org/apache/maven/
>>> artifact/manager/DefaultWagonManagerTest.java
>>> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>> manager/DefaultWagonManagerTest.java (original)
>>> +++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
>>> manager/DefaultWagonManagerTest.java Tue Jul 8 13:36:14 2008
>>> @@ -21,6 +21,8 @@
>>>
>>> import java.io.File;
>>> import java.io.IOException;
>>> +import java.util.ArrayList;
>>> +import java.util.List;
>>>
>>> import org.apache.maven.artifact.Artifact;
>>> import org.apache.maven.artifact.DefaultArtifact;
>>> @@ -31,13 +33,16 @@
>>> import
>>> org.apache.maven.artifact.repository.DefaultArtifactRepository;
>>> import
>>> org
>>> .apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
>>> import
>>> org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
>>> +import org.apache.maven.artifact.resolver.TestTransferListener;
>>> import org.apache.maven.artifact.versioning.VersionRange;
>>> import org.apache.maven.wagon.ResourceDoesNotExistException;
>>> import org.apache.maven.wagon.TransferFailedException;
>>> import org.apache.maven.wagon.UnsupportedProtocolException;
>>> import org.apache.maven.wagon.Wagon;
>>> import org.apache.maven.wagon.authorization.AuthorizationException;
>>> +import org.apache.maven.wagon.events.TransferEvent;
>>> import org.apache.maven.wagon.events.TransferListener;
>>> +import org.apache.maven.wagon.observers.AbstractTransferListener;
>>> import org.apache.maven.wagon.observers.Debug;
>>> import org.apache.maven.wagon.repository.Repository;
>>> import org.codehaus.plexus.PlexusTestCase;
>>> @@ -68,6 +73,32 @@
>>>
>>> artifactFactory = (ArtifactFactory)
>>> lookup( ArtifactFactory.ROLE );
>>> }
>>> +
>>> + public void testUnnecessaryRepositoryLookup() throws
>>> Exception {
>>> + Artifact artifact = createTestPomArtifact( "target/test-
>>> data/get-missing-pom" );
>>> +
>>> + List<ArtifactRepository> repos = new
>>> ArrayList<ArtifactRepository>();
>>> + repos.add(new DefaultArtifactRepository( "repo1", "noop://
>>> url1", new ArtifactRepositoryLayoutStub() ));
>>> + repos.add(new DefaultArtifactRepository( "repo2", "noop://
>>> url2", new ArtifactRepositoryLayoutStub() ));
>>> +
>>> + StringWagon wagon = (StringWagon)
>>> wagonManager.getWagon( "noop" );
>>> +
>>> wagon
>>> .addExpectedContent( repos.get(0).getLayout().pathOf( artifact ),
>>> "expected" );
>>> +
>>> wagon
>>> .addExpectedContent( repos.get(1).getLayout().pathOf( artifact ),
>>> "expected" );
>>> +
>>> + class TransferListener extends AbstractTransferListener {
>>> + public List<TransferEvent> events = new
>>> ArrayList<TransferEvent>();
>>> + @Override
>>> + public void transferInitiated(TransferEvent
>>> transferEvent) {
>>> + events.add(transferEvent);
>>> + }
>>> + };
>>> + TransferListener listener = new TransferListener();
>>> +
>>> + wagonManager.setDownloadMonitor(listener);
>>> + wagonManager.getArtifact( artifact, repos, false );
>>> +
>>> + assertEquals(1, listener.events.size());
>>> + }
>>>
>>> public void testGetMissingPomUncached() throws
>>> TransferFailedException, UnsupportedProtocolException, IOException
>>> {
>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r674941 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/manager/
main/java/org/apache/maven/artifact/repository/ test/java/org/apache/maven/artifact/manager/
Posted by Igor Fedorenko <ig...@ifedorenko.com>.
This is not related to the concerns I have about current solution of
MARTIFACT-25. Unfortunately, I do not have time to have another look at
MARTIFACT-25 right now and cannot tell if caching missing pom.xml is
good enough. Personally, I think maven should obey repository update
policy (i.e. never/daily/etc) and force (i.e. -U) flag for all missing
release artifacts.
Brett Porter wrote:
> Hehe, got to watch out for those Java 5 for loop conversions :)
>
> Was this regression the one Igor was referring to, or is there still
> more work being done on MARTIFACT-25?
>
> Thanks,
> Brett
>
> On 09/07/2008, at 6:36 AM, jvanzyl@apache.org wrote:
>
>> Author: jvanzyl
>> Date: Tue Jul 8 13:36:14 2008
>> New Revision: 674941
>>
>> URL: http://svn.apache.org/viewvc?rev=674941&view=rev
>> Log:
>> MARTIFACT-29: Prevent checking from all remote repositories once the
>> artifact is found.
>> Submitted by: Igor Fedorenko
>>
>> Modified:
>>
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
>>
>>
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
>>
>>
>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
>>
>>
>> Modified:
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
>>
>> URL:
>> http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
>>
>> ==============================================================================
>>
>> ---
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
>> (original)
>> +++
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
>> Tue Jul 8 13:36:14 2008
>> @@ -333,14 +333,15 @@
>> boolean force )
>> throws TransferFailedException, ResourceDoesNotExistException
>> {
>> - boolean successful = false;
>> -
>> for (ArtifactRepository repository : remoteRepositories) {
>> try
>> {
>> getArtifact( artifact, repository, force );
>>
>> - successful = artifact.isResolved();
>> + if (artifact.isResolved())
>> + {
>> + break;
>> + }
>> }
>> catch ( ResourceDoesNotExistException e )
>> {
>> @@ -358,7 +359,7 @@
>> }
>>
>> // if it already exists locally we were just trying to force
>> it - ignore the update
>> - if ( !successful && !artifact.getFile().exists() )
>> + if ( !artifact.getFile().exists() )
>> {
>> throw new ResourceDoesNotExistException( "Unable to
>> download the artifact from any repository" );
>> }
>>
>> Modified:
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
>>
>> URL:
>> http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
>>
>> ==============================================================================
>>
>> ---
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
>> (original)
>> +++
>> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
>> Tue Jul 8 13:36:14 2008
>> @@ -35,7 +35,7 @@
>> extends Repository
>> implements ArtifactRepository
>> {
>> - private final ArtifactRepositoryLayout layout;
>> + private ArtifactRepositoryLayout layout;
>>
>> private ArtifactRepositoryPolicy snapshots;
>>
>>
>> Modified:
>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
>>
>> ==============================================================================
>>
>> ---
>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
>> (original)
>> +++
>> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
>> Tue Jul 8 13:36:14 2008
>> @@ -21,6 +21,8 @@
>>
>> import java.io.File;
>> import java.io.IOException;
>> +import java.util.ArrayList;
>> +import java.util.List;
>>
>> import org.apache.maven.artifact.Artifact;
>> import org.apache.maven.artifact.DefaultArtifact;
>> @@ -31,13 +33,16 @@
>> import org.apache.maven.artifact.repository.DefaultArtifactRepository;
>> import
>> org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
>> import
>> org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
>> +import org.apache.maven.artifact.resolver.TestTransferListener;
>> import org.apache.maven.artifact.versioning.VersionRange;
>> import org.apache.maven.wagon.ResourceDoesNotExistException;
>> import org.apache.maven.wagon.TransferFailedException;
>> import org.apache.maven.wagon.UnsupportedProtocolException;
>> import org.apache.maven.wagon.Wagon;
>> import org.apache.maven.wagon.authorization.AuthorizationException;
>> +import org.apache.maven.wagon.events.TransferEvent;
>> import org.apache.maven.wagon.events.TransferListener;
>> +import org.apache.maven.wagon.observers.AbstractTransferListener;
>> import org.apache.maven.wagon.observers.Debug;
>> import org.apache.maven.wagon.repository.Repository;
>> import org.codehaus.plexus.PlexusTestCase;
>> @@ -68,6 +73,32 @@
>>
>> artifactFactory = (ArtifactFactory) lookup(
>> ArtifactFactory.ROLE );
>> }
>> +
>> + public void testUnnecessaryRepositoryLookup() throws Exception {
>> + Artifact artifact = createTestPomArtifact(
>> "target/test-data/get-missing-pom" );
>> +
>> + List<ArtifactRepository> repos = new
>> ArrayList<ArtifactRepository>();
>> + repos.add(new DefaultArtifactRepository( "repo1",
>> "noop://url1", new ArtifactRepositoryLayoutStub() ));
>> + repos.add(new DefaultArtifactRepository( "repo2",
>> "noop://url2", new ArtifactRepositoryLayoutStub() ));
>> +
>> + StringWagon wagon = (StringWagon) wagonManager.getWagon(
>> "noop" );
>> + wagon.addExpectedContent( repos.get(0).getLayout().pathOf(
>> artifact ), "expected" );
>> + wagon.addExpectedContent( repos.get(1).getLayout().pathOf(
>> artifact ), "expected" );
>> +
>> + class TransferListener extends AbstractTransferListener {
>> + public List<TransferEvent> events = new
>> ArrayList<TransferEvent>();
>> + @Override
>> + public void transferInitiated(TransferEvent transferEvent) {
>> + events.add(transferEvent);
>> + }
>> + };
>> + TransferListener listener = new TransferListener();
>> +
>> + wagonManager.setDownloadMonitor(listener);
>> + wagonManager.getArtifact( artifact, repos, false );
>> +
>> + assertEquals(1, listener.events.size());
>> + }
>>
>> public void testGetMissingPomUncached() throws
>> TransferFailedException, UnsupportedProtocolException, IOException
>> {
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r674941 - in /maven/artifact/trunk/src: main/java/org/apache/maven/artifact/manager/ main/java/org/apache/maven/artifact/repository/ test/java/org/apache/maven/artifact/manager/
Posted by Brett Porter <br...@apache.org>.
Hehe, got to watch out for those Java 5 for loop conversions :)
Was this regression the one Igor was referring to, or is there still
more work being done on MARTIFACT-25?
Thanks,
Brett
On 09/07/2008, at 6:36 AM, jvanzyl@apache.org wrote:
> Author: jvanzyl
> Date: Tue Jul 8 13:36:14 2008
> New Revision: 674941
>
> URL: http://svn.apache.org/viewvc?rev=674941&view=rev
> Log:
> MARTIFACT-29: Prevent checking from all remote repositories once the
> artifact is found.
> Submitted by: Igor Fedorenko
>
> Modified:
> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
> manager/DefaultWagonManager.java
> maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
> repository/DefaultArtifactRepository.java
> maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
> manager/DefaultWagonManagerTest.java
>
> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
> artifact/manager/DefaultWagonManager.java
> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=674941&r1=674940&r2=674941&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
> manager/DefaultWagonManager.java (original)
> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
> manager/DefaultWagonManager.java Tue Jul 8 13:36:14 2008
> @@ -333,14 +333,15 @@
> boolean force )
> throws TransferFailedException, ResourceDoesNotExistException
> {
> - boolean successful = false;
> -
> for (ArtifactRepository repository : remoteRepositories) {
> try
> {
> getArtifact( artifact, repository, force );
>
> - successful = artifact.isResolved();
> + if (artifact.isResolved())
> + {
> + break;
> + }
> }
> catch ( ResourceDoesNotExistException e )
> {
> @@ -358,7 +359,7 @@
> }
>
> // if it already exists locally we were just trying to force
> it - ignore the update
> - if ( !successful && !artifact.getFile().exists() )
> + if ( !artifact.getFile().exists() )
> {
> throw new ResourceDoesNotExistException( "Unable to
> download the artifact from any repository" );
> }
>
> Modified: maven/artifact/trunk/src/main/java/org/apache/maven/
> artifact/repository/DefaultArtifactRepository.java
> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=674941&r1=674940&r2=674941&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
> repository/DefaultArtifactRepository.java (original)
> +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/
> repository/DefaultArtifactRepository.java Tue Jul 8 13:36:14 2008
> @@ -35,7 +35,7 @@
> extends Repository
> implements ArtifactRepository
> {
> - private final ArtifactRepositoryLayout layout;
> + private ArtifactRepositoryLayout layout;
>
> private ArtifactRepositoryPolicy snapshots;
>
>
> Modified: maven/artifact/trunk/src/test/java/org/apache/maven/
> artifact/manager/DefaultWagonManagerTest.java
> URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=674941&r1=674940&r2=674941&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
> manager/DefaultWagonManagerTest.java (original)
> +++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/
> manager/DefaultWagonManagerTest.java Tue Jul 8 13:36:14 2008
> @@ -21,6 +21,8 @@
>
> import java.io.File;
> import java.io.IOException;
> +import java.util.ArrayList;
> +import java.util.List;
>
> import org.apache.maven.artifact.Artifact;
> import org.apache.maven.artifact.DefaultArtifact;
> @@ -31,13 +33,16 @@
> import org.apache.maven.artifact.repository.DefaultArtifactRepository;
> import
> org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
> import
> org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
> +import org.apache.maven.artifact.resolver.TestTransferListener;
> import org.apache.maven.artifact.versioning.VersionRange;
> import org.apache.maven.wagon.ResourceDoesNotExistException;
> import org.apache.maven.wagon.TransferFailedException;
> import org.apache.maven.wagon.UnsupportedProtocolException;
> import org.apache.maven.wagon.Wagon;
> import org.apache.maven.wagon.authorization.AuthorizationException;
> +import org.apache.maven.wagon.events.TransferEvent;
> import org.apache.maven.wagon.events.TransferListener;
> +import org.apache.maven.wagon.observers.AbstractTransferListener;
> import org.apache.maven.wagon.observers.Debug;
> import org.apache.maven.wagon.repository.Repository;
> import org.codehaus.plexus.PlexusTestCase;
> @@ -68,6 +73,32 @@
>
> artifactFactory = (ArtifactFactory)
> lookup( ArtifactFactory.ROLE );
> }
> +
> + public void testUnnecessaryRepositoryLookup() throws Exception {
> + Artifact artifact = createTestPomArtifact( "target/test-
> data/get-missing-pom" );
> +
> + List<ArtifactRepository> repos = new
> ArrayList<ArtifactRepository>();
> + repos.add(new DefaultArtifactRepository( "repo1", "noop://
> url1", new ArtifactRepositoryLayoutStub() ));
> + repos.add(new DefaultArtifactRepository( "repo2", "noop://
> url2", new ArtifactRepositoryLayoutStub() ));
> +
> + StringWagon wagon = (StringWagon)
> wagonManager.getWagon( "noop" );
> +
> wagon
> .addExpectedContent( repos.get(0).getLayout().pathOf( artifact ),
> "expected" );
> +
> wagon
> .addExpectedContent( repos.get(1).getLayout().pathOf( artifact ),
> "expected" );
> +
> + class TransferListener extends AbstractTransferListener {
> + public List<TransferEvent> events = new
> ArrayList<TransferEvent>();
> + @Override
> + public void transferInitiated(TransferEvent transferEvent) {
> + events.add(transferEvent);
> + }
> + };
> + TransferListener listener = new TransferListener();
> +
> + wagonManager.setDownloadMonitor(listener);
> + wagonManager.getArtifact( artifact, repos, false );
> +
> + assertEquals(1, listener.events.size());
> + }
>
> public void testGetMissingPomUncached() throws
> TransferFailedException, UnsupportedProtocolException, IOException
> {
>
>
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org