Author: ogusakov
Date: Mon Nov 10 15:45:18 2008
New Revision: 712876
URL: http://svn.apache.org/viewvc?rev=712876&view=rev
Log:
http://jira.codehaus.org/browse/MERCURY-24
Modified:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
maven/mercury/trunk/mercury-maven/mercury-compare-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryCompareMojo.java
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
Modified:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java?rev=712876&r1=712875&r2=712876&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
(original)
+++
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
Mon Nov 10 15:45:18 2008
@@ -77,6 +77,7 @@
File getFile();
+ // in case binary is supplied as a Stream, not a File
InputStream getStream();
void setFile( File destination );
Modified:
maven/mercury/trunk/mercury-maven/mercury-compare-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryCompareMojo.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-maven/mercury-compare-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryCompareMojo.java?rev=712876&r1=712875&r2=712876&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-maven/mercury-compare-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryCompareMojo.java
(original)
+++
maven/mercury/trunk/mercury-maven/mercury-compare-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryCompareMojo.java
Mon Nov 10 15:45:18 2008
@@ -7,7 +7,6 @@
import java.util.Collection;
import java.util.List;
import java.util.Set;
-import java.util.TreeSet;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
@@ -16,19 +15,13 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.mercury.artifact.Artifact;
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
-import org.apache.maven.mercury.artifact.ArtifactCoordinates;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
-import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
import org.apache.maven.mercury.metadata.DependencyBuilder;
import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
-import org.apache.maven.mercury.metadata.DependencyTreeBuilderTest;
import org.apache.maven.mercury.metadata.MetadataTreeException;
import org.apache.maven.mercury.metadata.MetadataTreeNode;
-import org.apache.maven.mercury.repository.api.LocalRepository;
import org.apache.maven.mercury.repository.api.Repository;
-import org.apache.maven.mercury.repository.api.RepositoryUpdateIntervalPolicy;
import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
import org.apache.maven.mercury.transport.api.Server;
@@ -41,7 +34,6 @@
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.codehaus.plexus.PlexusContainer;
-import
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.mortbay.jetty.plugin.RuntimeDependencyResolver;
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java?rev=712876&r1=712875&r2=712876&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
Mon Nov 10 15:45:18 2008
@@ -206,7 +206,11 @@
try // reading pom if one exists
{
if( checkFile( binary, vFacs ) )
+ {
da.setFile( binary );
+ da.setTracker( this._repo );
+ }
+
if( "pom".equals( bmd.getType() ) )
{
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java?rev=712876&r1=712875&r2=712876&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
Mon Nov 10 15:45:18 2008
@@ -224,7 +224,7 @@
try
{
-
+
if( isPom )
{
if( in == null && !hasPomBlob )
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java?rev=712876&r1=712875&r2=712876&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
Mon Nov 10 15:45:18 2008
@@ -149,6 +149,10 @@
if( r.isWriteable() )
{
+ // we select the first writable repo in the list
+ if( _localRepository != null )
+ continue;
+
_localRepository = (LocalRepository)r.getReader().getRepository();
_localRepositoryWriter = _localRepository.getWriter();
@@ -350,6 +354,8 @@
if( RepositoryReader.NULL_READER.equals( rr ) )
continue;
+ String repoId = rr.getRepository().getId();
+
List<ArtifactBasicMetadata> rrQuery = buckets.get( rr );
ArtifactResults rrRes = rr.readArtifacts( rrQuery );
@@ -367,6 +373,10 @@
res.addAll( bm, al );
+ // don't write local artifacts back to the same repo
+ if( _localRepository != null && repoId.equals(
_localRepository.getId() ) )
+ continue;
+
if( _localRepositoryWriter != null )
_localRepositoryWriter.writeArtifacts( al );
}
@@ -380,6 +390,8 @@
if( rejects.isEmpty() )
break;
+ String repoId = rr.getRepository().getId();
+
ArtifactResults rrRes = rr.readArtifacts( rejects );
if( rrRes.hasResults() )
@@ -394,6 +406,10 @@
rejects.remove( bm );
+ // don't write local artifacts back to the same repo
+ if( _localRepository != null && repoId.equals(
_localRepository.getId() ) )
+ continue;
+
if( _localRepositoryWriter != null )
_localRepositoryWriter.writeArtifacts( al );