Author: jvanzyl
Date: Sun May 25 22:55:51 2008
New Revision: 660105
URL: http://svn.apache.org/viewvc?rev=660105&view=rev
Log: (empty)
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
(with props)
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
(with props)
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
(with props)
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java
(contents, props changed)
- copied, changed from r660026,
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultRepositoryLayout.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
(with props)
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
(with props)
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
(contents, props changed)
- copied, changed from r660026,
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java
(contents, props changed)
- copied, changed from r660026,
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepositoryLayout.java
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
(with props)
maven/sandbox/trunk/mercury/src/test/resources/repo/
maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt (with props)
maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt.sha1
maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt (with props)
maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt.sha1
maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt (with props)
maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt.sha1
maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt (with props)
maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt.sha1
Removed:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepository.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepositoryLayout.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultRepositoryLayout.java
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolution.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequest.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolver.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataSource.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionResult.java
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/Artifact.java
Sun May 25 22:55:51 2008
@@ -19,6 +19,8 @@
import java.util.List;
import java.util.regex.Pattern;
+import org.apache.maven.mercury.repository.Repository;
+
/*
* Description of an artifact.
*
@@ -84,11 +86,11 @@
String getDependencyConflictId();
- void setRepository( ArtifactRepository remoteRepository );
+ void setRepository( Repository remoteRepository );
- ArtifactRepository getRepository();
+ Repository getRepository();
- void updateVersion( String version, ArtifactRepository localRepository );
+ void updateVersion( String version, Repository localRepository );
String getDownloadUrl();
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultArtifact.java
Sun May 25 22:55:51 2008
@@ -19,14 +19,13 @@
import java.util.List;
import java.util.regex.Matcher;
+import org.apache.maven.mercury.repository.Repository;
import org.codehaus.plexus.util.StringUtils;
/*
* @author Jason van Zyl
*
* @version $Id$
- *
- * @todo this should possibly be replaced by type handler
*/
public class DefaultArtifact
implements Artifact
@@ -35,13 +34,6 @@
private String artifactId;
- /**
- * The resolved version for the artifact after conflict resolution, that
has not been transformed.
- *
- * @todo should be final
- */
- private String baseVersion;
-
private String type;
private File file;
@@ -63,7 +55,7 @@
// Why is this here? What repository is determined at runtime and is
therefore a
// runtime charactistic. This needs to go. jvz.
- private ArtifactRepository repository;
+ private Repository repository;
private String downloadUrl;
@@ -215,12 +207,12 @@
return file;
}
- public ArtifactRepository getRepository()
+ public Repository getRepository()
{
return repository;
}
- public void setRepository( ArtifactRepository repository )
+ public void setRepository( Repository repository )
{
this.repository = repository;
}
@@ -420,10 +412,10 @@
return result;
}
- public void updateVersion( String version, ArtifactRepository
localRepository )
+ public void updateVersion( String version, Repository localRepository )
{
setResolvedVersion( version );
- setFile( new File( localRepository.getBasedir(),
localRepository.pathOf( this ) ) );
+ setFile( new File( localRepository.getDirectory(),
localRepository.pathOf( this ) ) );
}
public String getDownloadUrl()
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/DefaultMetadataResolver.java
Sun May 25 22:55:51 2008
@@ -4,8 +4,8 @@
import java.util.List;
import org.apache.maven.mercury.Artifact;
-import org.apache.maven.mercury.ArtifactRepository;
import org.apache.maven.mercury.DefaultArtifact;
+import org.apache.maven.mercury.repository.Repository;
import org.apache.maven.mercury.retrieve.ArtifactRetriever;
import org.apache.maven.mercury.retrieve.ResolutionRequest;
import org.apache.maven.mercury.retrieve.ResolutionResult;
@@ -28,8 +28,14 @@
/** @plexus.requirement */
MetadataSource metadataSource;
+ public DefaultMetadataResolver( ArtifactRetriever retriever,
MetadataSource metadataSource )
+ {
+ this.artifactResolver = artifactResolver;
+ this.metadataSource = metadataSource;
+ }
+
//------------------------------------------------------------------------
- public MetadataResolutionResult resolveMetadata( MetadataResolutionRequest
request )
+ public MetadataResolutionResult resolve( MetadataResolutionRequest request
)
throws MetadataResolutionException
{
MetadataResolutionResult result = new MetadataResolutionResult();
@@ -42,7 +48,7 @@
}
//------------------------------------------------------------------------
- private MetadataTreeNode resolveMetadataTree( ArtifactMetadata query,
MetadataTreeNode parent, ArtifactRepository localRepository,
List<ArtifactRepository> remoteRepositories )
+ private MetadataTreeNode resolveMetadataTree( ArtifactMetadata query,
MetadataTreeNode parent, Repository localRepository, List<Repository>
remoteRepositories )
throws MetadataResolutionException
{
try
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolution.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolution.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolution.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolution.java
Sun May 25 22:55:51 2008
@@ -2,7 +2,7 @@
import java.util.Collection;
-import org.apache.maven.mercury.ArtifactRepository;
+import org.apache.maven.mercury.repository.Repository;
/**
*
@@ -15,7 +15,7 @@
private ArtifactMetadata artifactMetadata;
/** repositories, added by this POM */
- private Collection<ArtifactRepository> metadataRepositories;
+ private Collection<Repository> metadataRepositories;
//-------------------------------------------------------------------
public MetadataResolution( ArtifactMetadata artifactMetadata )
{
@@ -23,19 +23,19 @@
}
//-------------------------------------------------------------------
public MetadataResolution( ArtifactMetadata artifactMetadata,
- Collection<ArtifactRepository> metadataRepositories )
+ Collection<Repository> metadataRepositories )
{
this( artifactMetadata );
this.metadataRepositories = metadataRepositories;
}
//-------------------------------------------------------------------
- public Collection<ArtifactRepository> getMetadataRepositories()
+ public Collection<Repository> getMetadataRepositories()
{
return metadataRepositories;
}
public void setMetadataRepositories(
- Collection<ArtifactRepository> metadataRepositories)
+ Collection<Repository> metadataRepositories)
{
this.metadataRepositories = metadataRepositories;
}
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequest.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequest.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolutionRequest.java
Sun May 25 22:55:51 2008
@@ -1,16 +1,20 @@
package org.apache.maven.mercury.metadata;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
-import org.apache.maven.mercury.ArtifactRepository;
+import org.apache.maven.mercury.repository.LocalRepository;
+import org.apache.maven.mercury.repository.RemoteRepository;
+import org.apache.maven.mercury.repository.Repository;
/** @author Oleg Gusakov */
public class MetadataResolutionRequest
{
protected ArtifactMetadata query;
- protected ArtifactRepository localRepository;
- protected List<ArtifactRepository> remoteRepositories;
+ protected LocalRepository localRepository;
+ protected Set<RemoteRepository> remoteRepositories;
//--------------------------------------------------------------------
public MetadataResolutionRequest()
@@ -19,8 +23,8 @@
//--------------------------------------------------------------------
public MetadataResolutionRequest( ArtifactMetadata query,
- ArtifactRepository localRepository,
- List<ArtifactRepository>
remoteRepositories )
+ LocalRepository localRepository,
+ Set<RemoteRepository> remoteRepositories
)
{
this.query = query;
this.localRepository = localRepository;
@@ -33,29 +37,44 @@
return query;
}
- public void setQuery( ArtifactMetadata query )
+ public MetadataResolutionRequest setQuery( ArtifactMetadata query )
{
- this.query = query;
+ this.query = query;
+ return this;
}
- public ArtifactRepository getLocalRepository()
+ public Repository getLocalRepository()
{
return localRepository;
}
- public void setLocalRepository( ArtifactRepository localRepository )
+ public MetadataResolutionRequest addRemoteRepository( RemoteRepository
repository )
+ {
+ if ( remoteRepositories == null )
+ {
+ remoteRepositories = new HashSet();
+ }
+
+ remoteRepositories.add( repository );
+
+ return this;
+ }
+
+ public MetadataResolutionRequest setLocalRepository( LocalRepository
localRepository )
{
this.localRepository = localRepository;
+ return this;
}
- public List<ArtifactRepository> getRemoteRepositories()
+ public Set<RemoteRepository> getRemoteRepositories()
{
return remoteRepositories;
}
- public void setRemoteRepositories( List<ArtifactRepository>
remoteRepositories )
+ public MetadataResolutionRequest setRemoteRepositories(
Set<RemoteRepository> remoteRepositories )
{
this.remoteRepositories = remoteRepositories;
+ return this;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolver.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolver.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolver.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataResolver.java
Sun May 25 22:55:51 2008
@@ -17,6 +17,6 @@
* @return
* @throws MetadataResolutionException
*/
- MetadataResolutionResult resolveMetadata( MetadataResolutionRequest
request )
+ MetadataResolutionResult resolve( MetadataResolutionRequest request )
throws MetadataResolutionException;
}
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataSource.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataSource.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataSource.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/metadata/MetadataSource.java
Sun May 25 22:55:51 2008
@@ -21,7 +21,7 @@
import java.util.List;
-import org.apache.maven.mercury.ArtifactRepository;
+import org.apache.maven.mercury.repository.Repository;
/**
* Provides some metadata operations, like querying the remote repository for
a list of versions available for an
@@ -35,7 +35,7 @@
String ROLE = MetadataSource.class.getName();
MetadataResolution retrieve( ArtifactMetadata artifact,
- ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
+ Repository localRepository,
+ List<Repository> remoteRepositories )
throws MetadataRetrievalException;
}
\ No newline at end of file
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java?rev=660105&view=auto
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
(added)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
Sun May 25 22:55:51 2008
@@ -0,0 +1,47 @@
+package org.apache.maven.mercury.repository;
+
+import org.apache.maven.mercury.Artifact;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional
information regarding
+ * copyright ownership. The ASF licenses this file to you under the Apache
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express
+ * or implied. See the License for the specific language governing permissions
and limitations under
+ * the License.
+ */
+
+public abstract class AbstractRepository
+ implements Repository
+{
+ private String id;
+
+ private RepositoryLayout layout;
+
+ public AbstractRepository( String id, RepositoryLayout layout )
+ {
+ this.id = id;
+ this.layout = layout;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public RepositoryLayout getLayout()
+ {
+ return layout;
+ }
+
+ public String pathOf( Artifact artifact )
+ {
+ return layout.pathOf( artifact );
+ }
+}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/AbstractRepository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java?rev=660105&view=auto
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
(added)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
Sun May 25 22:55:51 2008
@@ -0,0 +1,21 @@
+package org.apache.maven.mercury.repository;
+
+import java.io.File;
+
+public class DefaultLocalRepository
+ extends AbstractRepository
+ implements LocalRepository
+{
+ private File directory;
+
+ public DefaultLocalRepository( String id, RepositoryLayout layout, File
directory )
+ {
+ super( id, layout );
+ this.directory = directory;
+ }
+
+ public File getDirectory()
+ {
+ return directory;
+ }
+}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultLocalRepository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java?rev=660105&view=auto
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
(added)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
Sun May 25 22:55:51 2008
@@ -0,0 +1,19 @@
+package org.apache.maven.mercury.repository;
+
+public class DefaultRemoteRepository
+ extends AbstractRepository
+ implements RemoteRepository
+{
+ private String url;
+
+ public DefaultRemoteRepository( String id, RepositoryLayout layout, String
url )
+ {
+ super( id, layout );
+ this.url = url;
+ }
+
+ public String getUrl()
+ {
+ return url;
+ }
+}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRemoteRepository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java
(from r660026,
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultRepositoryLayout.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java?p2=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java&p1=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultRepositoryLayout.java&r1=660026&r2=660105&rev=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/DefaultRepositoryLayout.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java
Sun May 25 22:55:51 2008
@@ -1,4 +1,6 @@
-package org.apache.maven.mercury;
+package org.apache.maven.mercury.repository;
+
+import org.apache.maven.mercury.Artifact;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -24,7 +26,7 @@
* @plexus.component
role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout"
role-hint="default"
*/
public class DefaultRepositoryLayout
- implements ArtifactRepositoryLayout
+ implements RepositoryLayout
{
private static final char PATH_SEPARATOR = '/';
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/DefaultRepositoryLayout.java
------------------------------------------------------------------------------
svn:mergeinfo =
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java?rev=660105&view=auto
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
(added)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
Sun May 25 22:55:51 2008
@@ -0,0 +1,30 @@
+package org.apache.maven.mercury.repository;
+
+import java.io.File;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ */
+public interface LocalRepository
+ extends Repository
+{
+ File getDirectory();
+}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/LocalRepository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java?rev=660105&view=auto
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
(added)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
Sun May 25 22:55:51 2008
@@ -0,0 +1,28 @@
+package org.apache.maven.mercury.repository;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ */
+public interface RemoteRepository
+ extends Repository
+{
+ String getUrl();
+}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RemoteRepository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
(from r660026,
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepository.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java?p2=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java&p1=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepository.java&r1=660026&r2=660105&rev=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepository.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
Sun May 25 22:55:51 2008
@@ -1,4 +1,6 @@
-package org.apache.maven.mercury;
+package org.apache.maven.mercury.repository;
+
+import org.apache.maven.mercury.Artifact;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,28 +22,10 @@
*/
/**
- * Specifies the repository used for artifact handling.
- *
- * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a>
- * @version $Id$
*/
-public interface ArtifactRepository
+public interface Repository
{
String pathOf( Artifact artifact );
- String getUrl();
-
- String getBasedir();
-
- String getProtocol();
-
String getId();
-
- String getKey();
-
- boolean isUniqueVersion();
-
- void setBlacklisted( boolean blackListed );
-
- boolean isBlacklisted();
}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/Repository.java
------------------------------------------------------------------------------
svn:mergeinfo =
Copied:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java
(from r660026,
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepositoryLayout.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java?p2=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java&p1=maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepositoryLayout.java&r1=660026&r2=660105&rev=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/ArtifactRepositoryLayout.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java
Sun May 25 22:55:51 2008
@@ -1,4 +1,6 @@
-package org.apache.maven.mercury;
+package org.apache.maven.mercury.repository;
+
+import org.apache.maven.mercury.Artifact;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,9 +22,9 @@
*/
/** @author jdcasey */
-public interface ArtifactRepositoryLayout
+public interface RepositoryLayout
{
- String ROLE = ArtifactRepositoryLayout.class.getName();
+ String ROLE = RepositoryLayout.class.getName();
String pathOf( Artifact artifact );
}
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/repository/RepositoryLayout.java
------------------------------------------------------------------------------
svn:mergeinfo =
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/DefaultArtifactRetriever.java
Sun May 25 22:55:51 2008
@@ -21,9 +21,9 @@
import java.io.File;
-import org.apache.maven.mercury.ArtifactRepository;
-import org.apache.maven.mercury.ArtifactRepositoryLayout;
-import org.apache.maven.mercury.DefaultRepositoryLayout;
+import org.apache.maven.mercury.repository.DefaultRepositoryLayout;
+import org.apache.maven.mercury.repository.Repository;
+import org.apache.maven.mercury.repository.RepositoryLayout;
import org.apache.maven.mercury.spi.http.client.Binding;
import org.apache.maven.mercury.spi.http.client.MercuryException;
import
org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
@@ -39,7 +39,7 @@
public class DefaultArtifactRetriever
implements ArtifactRetriever
{
- ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
+ RepositoryLayout layout = new DefaultRepositoryLayout();
public ResolutionResult retrieve( ResolutionRequest request )
{
@@ -60,11 +60,11 @@
return result;
}
- for ( ArtifactRepository remoteRepository :
request.getRemoteRepostories() )
+ for ( Repository remoteRepository : request.getRemoteRepostories() )
{
RetrievalRequest rr = new DefaultRetrievalRequest();
String remoteUrl = remoteRepository.getUrl() + "/" +
layout.pathOf( request.getArtifact() );
- File localFile = new File(
request.getLocalRepository().getBasedir(), layout.pathOf( request.getArtifact()
) );
+ File localFile = new File(
request.getLocalRepository().getDirectory(), layout.pathOf(
request.getArtifact() ) );
Binding binding = new Binding( remoteUrl, localFile, true );
RetrievalResponse response = retriever.retrieve( rr );
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionRequest.java
Sun May 25 22:55:51 2008
@@ -4,7 +4,7 @@
import java.util.List;
import org.apache.maven.mercury.Artifact;
-import org.apache.maven.mercury.ArtifactRepository;
+import org.apache.maven.mercury.repository.Repository;
/**
* A resolution request allows you to either use an existing MavenProject, or
a coordinate (gid:aid:version)
@@ -22,9 +22,9 @@
private String version;
- private ArtifactRepository localRepository;
+ private Repository localRepository;
- private List<ArtifactRepository> remoteRepostories;
+ private List<Repository> remoteRepostories;
private List listeners = new ArrayList();
@@ -96,24 +96,24 @@
return this;
}
- public ArtifactRepository getLocalRepository()
+ public Repository getLocalRepository()
{
return localRepository;
}
- public ResolutionRequest setLocalRepository( ArtifactRepository
localRepository )
+ public ResolutionRequest setLocalRepository( Repository localRepository )
{
this.localRepository = localRepository;
return this;
}
- public List<ArtifactRepository> getRemoteRepostories()
+ public List<Repository> getRemoteRepostories()
{
return remoteRepostories;
}
- public ResolutionRequest setRemoteRepostories( List<ArtifactRepository>
remoteRepostories )
+ public ResolutionRequest setRemoteRepostories( List<Repository>
remoteRepostories )
{
this.remoteRepostories = remoteRepostories;
Modified:
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionResult.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionResult.java?rev=660105&r1=660104&r2=660105&view=diff
==============================================================================
---
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionResult.java
(original)
+++
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/retrieve/ResolutionResult.java
Sun May 25 22:55:51 2008
@@ -25,7 +25,7 @@
import java.util.Set;
import org.apache.maven.mercury.Artifact;
-import org.apache.maven.mercury.ArtifactRepository;
+import org.apache.maven.mercury.repository.Repository;
/*
* @author Jason van Zyl
@@ -34,7 +34,7 @@
{
private Artifact artifact;
- private List<ArtifactRepository> repositories;
+ private List<Repository> repositories;
private List<Exception> exceptions;
@@ -48,12 +48,12 @@
this.artifact = artifact;
}
- public List<ArtifactRepository> getRepositories()
+ public List<Repository> getRepositories()
{
return repositories;
}
- public void setRepositories( List<ArtifactRepository> repositories )
+ public void setRepositories( List<Repository> repositories )
{
this.repositories = repositories;
}
Added:
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java?rev=660105&view=auto
==============================================================================
---
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
(added)
+++
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
Sun May 25 22:55:51 2008
@@ -0,0 +1,63 @@
+package org.apache.maven.mercury.metadata;
+
+import java.io.File;
+import java.util.List;
+
+import org.apache.maven.mercury.repository.DefaultLocalRepository;
+import org.apache.maven.mercury.repository.DefaultRemoteRepository;
+import org.apache.maven.mercury.repository.DefaultRepositoryLayout;
+import org.apache.maven.mercury.repository.LocalRepository;
+import org.apache.maven.mercury.repository.RemoteRepository;
+import org.apache.maven.mercury.repository.Repository;
+import org.apache.maven.mercury.repository.RepositoryLayout;
+import org.apache.maven.mercury.retrieve.DefaultArtifactRetriever;
+import org.apache.maven.mercury.spi.http.server.SimpleTestServer;
+
+public class MetadataResolverTest
+{
+ protected SimpleTestServer server;
+
+ protected void setUp()
+ throws Exception
+ {
+ server = new SimpleTestServer();
+ }
+
+ public void testMetadataResolver()
+ throws Exception
+ {
+ // Really the source encapsulates the layout, and any other specical
attributes associated with an artifact/model
+ // simple properties
+ // maven
+ // ivy
+ // obr
+ MetadataSource source = new SimpleSource();
+ RepositoryLayout layout = new DefaultRepositoryLayout();
+
+ MetadataResolver metadataResolver = new DefaultMetadataResolver( new
DefaultArtifactRetriever(), source );
+ ArtifactMetadata metadata = new ArtifactMetadata( "a", "a", "1.0" );
+
+ LocalRepository localRepository = new DefaultLocalRepository( "local",
layout, new File( "" ) );
+ RemoteRepository remoteRepository = new DefaultRemoteRepository(
"remote", layout, "");
+
+ MetadataResolutionRequest request = new MetadataResolutionRequest()
+ .setQuery( metadata )
+ .setLocalRepository( localRepository )
+ .addRemoteRepository( remoteRepository );
+
+ MetadataResolutionResult result = metadataResolver.resolve( request );
+ }
+
+ class SimpleSource
+ implements MetadataSource
+ {
+
+ public MetadataResolution retrieve( ArtifactMetadata artifact,
Repository localRepository, List<Repository> remoteRepositories )
+ throws MetadataRetrievalException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ }
+}
Propchange:
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/metadata/MetadataResolverTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt?rev=660105&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt (added)
+++ maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt Sun May 25
22:55:51 2008
@@ -0,0 +1,3 @@
+b:1.0
+c:1.0
+d:1.0
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt.sha1
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt.sha1?rev=660105&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt.sha1 (added)
+++ maven/sandbox/trunk/mercury/src/test/resources/repo/a-1.0.txt.sha1 Sun May
25 22:55:51 2008
@@ -0,0 +1 @@
+3bd410a48b894266feb4bc4d90a1b609093a66eb
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt?rev=660105&view=auto
==============================================================================
(empty)
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt.sha1
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt.sha1?rev=660105&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt.sha1 (added)
+++ maven/sandbox/trunk/mercury/src/test/resources/repo/b-1.0.txt.sha1 Sun May
25 22:55:51 2008
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt?rev=660105&view=auto
==============================================================================
(empty)
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt.sha1
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt.sha1?rev=660105&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt.sha1 (added)
+++ maven/sandbox/trunk/mercury/src/test/resources/repo/c-1.0.txt.sha1 Sun May
25 22:55:51 2008
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt?rev=660105&view=auto
==============================================================================
(empty)
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt.sha1
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt.sha1?rev=660105&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt.sha1 (added)
+++ maven/sandbox/trunk/mercury/src/test/resources/repo/d-1.0.txt.sha1 Sun May
25 22:55:51 2008
@@ -0,0 +1 @@
+da39a3ee5e6b4b0d3255bfef95601890afd80709