You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/11/04 21:54:17 UTC
svn commit: r711398 - in /maven/mercury/trunk/mercury-repo: ./
mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/
mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/
mercury-repo-local-flat/src/tes...
Author: ogusakov
Date: Tue Nov 4 12:54:16 2008
New Revision: 711398
URL: http://svn.apache.org/viewvc?rev=711398&view=rev
Log:
flat repo functional, ut's pass
Added:
maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar (with props)
maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar (with props)
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java
maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java
maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java
maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java
maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
maven/mercury/trunk/mercury-repo/pom.xml
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java Tue Nov 4 12:54:16 2008
@@ -61,8 +61,6 @@
protected QualityRange versionRangeQualityRange = QualityRange.ALL;
protected DependencyProcessor dependencyProcessor;
- protected RepositoryReader reader;
- protected RepositoryWriter writer;
protected Server server;
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java Tue Nov 4 12:54:16 2008
@@ -45,10 +45,18 @@
public boolean isLocal();
/**
- * Indicates whether it's even possible to write to this Repository. If there are multiple localRepo's and Artifact
- * needs to be downloaded - it will be "written" to all "local" repositories that are not "readOnly".
+ * Indicates whether it's possible to read from this Repository.
*/
- public boolean isReadOnly();
+ public boolean isReadable();
+
+ /**
+ * Indicates whether it's possible to write to this Repository. Good example is the flat repo, which is used to
+ * only collect dependencies for some 3rd party reasons, but not read them.
+ *
+ * If there are multiple localRepo's and Artifact needs to be downloaded - it will be "written" to all
+ * "local" repositories that are writeable.
+ */
+ public boolean isWriteable();
/**
* Indicates whether this repository contains releases
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryManager.java Tue Nov 4 12:54:16 2008
@@ -31,7 +31,7 @@
{
for( Repository r : _repoList )
{
- if( r.isLocal() && !r.isReadOnly() && r.isAcceptedQuality( aq ) )
+ if( r.isLocal() && !r.isReadable() && r.isAcceptedQuality( aq ) )
return (LocalRepository)r;
}
return null;
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlat.java Tue Nov 4 12:54:16 2008
@@ -2,13 +2,11 @@
import java.io.File;
-import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.repository.api.AbstractRepository;
import org.apache.maven.mercury.repository.api.LocalRepository;
import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
import org.apache.maven.mercury.repository.api.RepositoryReader;
import org.apache.maven.mercury.repository.api.RepositoryWriter;
-import org.apache.maven.mercury.transport.api.Server;
public class LocalRepositoryFlat
extends AbstractRepository
@@ -18,13 +16,16 @@
private File directory;
- private static final String METADATA_NAME = "maven-metadata-local.xml";
+ private boolean createPoms = false;
+ private boolean createGroupFolders = false;
//----------------------------------------------------------------------------------
- public LocalRepositoryFlat( String id, File directory )
+ public LocalRepositoryFlat( String id, File directory, boolean createGroupFolders, boolean createPoms )
{
super( id, FLAT_REPOSITORY_TYPE );
this.directory = directory;
+ this.createGroupFolders = createGroupFolders;
+ this.createPoms = createPoms;
}
//----------------------------------------------------------------------------------
public File getDirectory()
@@ -44,10 +45,7 @@
//----------------------------------------------------------------------------------
public RepositoryWriter getWriter()
{
- if( writer == null )
- writer = new LocalRepositoryWriterFlat(this);
-
- return writer;
+ return new LocalRepositoryWriterFlat(this);
}
//----------------------------------------------------------------------------------
public RepositoryWriter getWriter( String protocol )
@@ -76,5 +74,22 @@
return DEFAULT_REPOSITORY_TYPE;
}
//----------------------------------------------------------------------------------
+ public boolean isCreatePoms()
+ {
+ return createPoms;
+ }
+ public void setCreatePoms( boolean createPoms )
+ {
+ this.createPoms = createPoms;
+ }
+ public boolean isCreateGroupFolders()
+ {
+ return createGroupFolders;
+ }
+ public void setCreateGroupFolders( boolean createGroupFolders )
+ {
+ this.createGroupFolders = createGroupFolders;
+ }
+ //----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
}
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/main/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryWriterFlat.java Tue Nov 4 12:54:16 2008
@@ -65,10 +65,6 @@
private static final ArifactWriteData LAST_ARTIFACT = new ArifactWriteData( null, null );
-
- private boolean _updateMetadata = false;
- private boolean _createPoms = false;
- private boolean _createGroupFolder = false;
//---------------------------------------------------------------------------------------------------------------
public LocalRepositoryWriterFlat( LocalRepository repo )
{
@@ -216,7 +212,7 @@
}
}
- String relGroupPath = _createGroupFolder ? artifact.getGroupId() : "";
+ String relGroupPath = ((LocalRepositoryFlat)_repo).isCreateGroupFolders() ? artifact.getGroupId() : "";
String versionPath = _repoDir.getAbsolutePath() + (Util.isEmpty( relGroupPath ) ? "" : "/"+relGroupPath);
String lockDir = null;
@@ -258,9 +254,9 @@
if( artifact.hasClassifier() )
return;
- if( _createPoms && hasPomBlob )
+ if( ((LocalRepositoryFlat)_repo).isCreatePoms() && hasPomBlob )
{
- FileUtil.writeAndSign( _repoDir.getAbsolutePath()+'/'+versionPath
+ FileUtil.writeAndSign( versionPath
+'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom", pomBlob, vFacs
);
}
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/java/org/apache/maven/mercury/repository/local/flat/LocalRepositoryFlatTest.java Tue Nov 4 12:54:16 2008
@@ -1,11 +1,18 @@
package org.apache.maven.mercury.repository.local.flat;
import java.io.File;
-
-import org.apache.maven.mercury.util.FileUtil;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
import junit.framework.TestCase;
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.util.FileUtil;
+
/**
*
*
@@ -16,20 +23,164 @@
public class LocalRepositoryFlatTest
extends TestCase
{
+ private static final org.slf4j.Logger _log = org.slf4j.LoggerFactory.getLogger( LocalRepositoryFlatTest.class );
+
File _dir;
LocalRepositoryFlat _repo;
String repoUrl = "http://repository.sonatype.org/content/groups/public";
+
+ Artifact a;
+ Artifact b;
@Override
protected void setUp()
throws Exception
{
- _dir = File.createTempFile( "test-repo-", "-flat" );
+ _dir = File.createTempFile( "test-flat-", "-repo" );
_dir.delete();
_dir.mkdirs();
- _repo = new LocalRepositoryFlat("testFlatRepo", _dir );
+ _repo = new LocalRepositoryFlat("testFlatRepo", _dir, false, false );
+
+ byte [] pomBlob = "pomblob".getBytes();
+
+ a = new DefaultArtifact( new ArtifactBasicMetadata("a:a:1.0.0") );
+
+ File ant = File.createTempFile( "test-flat", "-repo" );
+ InputStream in = LocalRepositoryFlatTest.class.getResourceAsStream( "/ant-1.6.5.jar" );
+ FileUtil.writeRawData( ant, in );
+ a.setFile( ant );
+ a.setPomBlob( pomBlob );
+
+ b = new DefaultArtifact( new ArtifactBasicMetadata("b:b:1.0.0") );
+
+ File antlr = File.createTempFile( "test-flat", "-repo" );
+ in = LocalRepositoryFlatTest.class.getResourceAsStream( "/antlr-2.7.7.jar" );
+ FileUtil.writeRawData( antlr, in );
+ b.setFile( antlr );
+ b.setPomBlob( pomBlob );
+ }
+
+ public void testWriteFlat()
+ throws Exception
+ {
+ String test = "testWriteFlat()";
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File bf = new File ( _dir, "b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+ }
+
+
+ public void testWriteFlatWithPom()
+ throws Exception
+ {
+ String test = "testWriteFlatWithGroup()";
+
+ _repo.setCreatePoms( true );
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File ap = new File ( _dir, "a-1.0.0.pom" );
+ assertTrue( ap.exists() );
+
+ File bf = new File ( _dir, "b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+
+ File bp = new File ( _dir, "b-1.0.0.pom" );
+ assertTrue( bp.exists() );
+ }
+
+ public void testWriteFlatWithGroup()
+ throws Exception
+ {
+ String test = "testWriteFlatWithGroup()";
+
+ _repo.setCreateGroupFolders( true );
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a/a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File bf = new File ( _dir, "b/b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
}
+
+ public void testWriteFlatWithGroupAndPom()
+ throws Exception
+ {
+ String test = "testWriteFlatWithGroup()";
+
+ _repo.setCreateGroupFolders( true );
+ _repo.setCreatePoms( true );
+
+ System.out.println(test+": test repo is in "+_repo.getDirectory());
+
+ List<Artifact> artifacts = new ArrayList<Artifact>();
+ artifacts.add( a );
+ artifacts.add( b );
+
+ RepositoryWriter rw = _repo.getWriter();
+ rw.writeArtifacts( artifacts );
+
+ File af = new File ( _dir, "a/a-1.0.0.jar" );
+
+ assertTrue( af.exists() );
+ assertEquals( 1034049L, af.length() );
+
+ File ap = new File ( _dir, "a/a-1.0.0.pom" );
+ assertTrue( ap.exists() );
+
+ File bf = new File ( _dir, "b/b-1.0.0.jar" );
+
+ assertTrue( bf.exists() );
+ assertEquals( 445288L, bf.length() );
+
+ File bp = new File ( _dir, "b/b-1.0.0.pom" );
+ assertTrue( bp.exists() );
+ }
+
}
Added: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar?rev=711398&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/ant-1.6.5.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar?rev=711398&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-local-flat/src/test/resources/antlr-2.7.7.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.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/LocalRepositoryM2.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java Tue Nov 4 12:54:16 2008
@@ -65,10 +65,7 @@
//----------------------------------------------------------------------------------
public RepositoryReader getReader()
{
- if( reader == null )
- reader = new LocalRepositoryReaderM2( this, getDependencyProcessor() );
-
- return reader;
+ return new LocalRepositoryReaderM2( this, getDependencyProcessor() );
}
//----------------------------------------------------------------------------------
// TODO oleg: what happens in multi-threaded execution??
@@ -80,10 +77,7 @@
// TODO oleg: what happens in multi-threaded execution??
public RepositoryWriter getWriter()
{
- if( writer == null )
- writer = new LocalRepositoryWriterM2(this);
-
- return writer;
+ return new LocalRepositoryWriterM2(this);
}
//----------------------------------------------------------------------------------
public RepositoryWriter getWriter( String protocol )
@@ -97,9 +91,14 @@
return true;
}
//----------------------------------------------------------------------------------
- public boolean isReadOnly()
+ public boolean isReadable()
{
- return false;
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isWriteable()
+ {
+ return true;
}
//----------------------------------------------------------------------------------
public String getType()
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java Tue Nov 4 12:54:16 2008
@@ -71,9 +71,14 @@
return false;
}
//----------------------------------------------------------------------------------
- public boolean isReadOnly()
+ public boolean isReadable()
{
- return false;
+ return true;
+ }
+ //----------------------------------------------------------------------------------
+ public boolean isWriteable()
+ {
+ return true;
}
//----------------------------------------------------------------------------------
public String getType()
@@ -81,24 +86,14 @@
return DEFAULT_REPOSITORY_TYPE;
}
//----------------------------------------------------------------------------------
-
public RepositoryUpdatePolicy getUpdatePolicy()
{
return _updatePolicy;
}
-
+ //----------------------------------------------------------------------------------
public void setUpdatePolicy( RepositoryUpdatePolicy updatePolicy )
{
this._updatePolicy = updatePolicy;
}
-
//----------------------------------------------------------------------------------
- /* (non-Javadoc)
- * @see org.apache.maven.mercury.repository.api.RemoteRepository#addLocalRepository(org.apache.maven.mercury.repository.api.LocalRepository)
- */
- public void addLocalRepository( LocalRepository localRepo )
- {
- // TODO Auto-generated method stub
-
- }
}
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java Tue Nov 4 12:54:16 2008
@@ -329,7 +329,7 @@
private File findLocalRoot( Quality vq )
{
for( LocalRepository lr : _localRepos )
- if( !lr.isReadOnly() && lr.getVersionRangeQualityRange().isAcceptedQuality( vq ) )
+ if( !lr.isReadable() && lr.getVersionRangeQualityRange().isAcceptedQuality( vq ) )
return lr.getDirectory();
return _defaultRoot;
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=711398&r1=711397&r2=711398&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 Tue Nov 4 12:54:16 2008
@@ -137,7 +137,7 @@
int i = 0;
for( Repository r : _repositories )
{
- if( ! r.isLocal() )
+ if( ! r.isLocal() || ! r.isReadable() )
continue;
RepositoryReader rr = r.getReader();
@@ -146,7 +146,7 @@
_repositoryReaders[ i++ ] = rr;
- if( ! r.isReadOnly() )
+ if( ! r.isReadable() )
{
_localRepository = (LocalRepository)r.getReader().getRepository();
_localRepositoryWriter = _localRepository.getWriter();
@@ -168,7 +168,7 @@
// remote ones
for( Repository r : _repositories )
{
- if( r.isLocal() )
+ if( r.isLocal() || ! r.isReadable() )
continue;
RepositoryReader rr = r.getReader();
Modified: maven/mercury/trunk/mercury-repo/pom.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/pom.xml?rev=711398&r1=711397&r2=711398&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/pom.xml (original)
+++ maven/mercury/trunk/mercury-repo/pom.xml Tue Nov 4 12:54:16 2008
@@ -13,6 +13,7 @@
<modules>
<module>mercury-repo-api</module>
<module>mercury-repo-local-m2</module>
+ <module>mercury-repo-local-flat</module>
<module>mercury-repo-remote-m2</module>
<module>mercury-repo-cache-fs</module>
<module>mercury-repo-virtual</module>