You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/11/10 16:31:27 UTC
svn commit: r834503 [1/2] - in
/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven:
dependency/ repository/
Author: bentmann
Date: Tue Nov 10 15:31:26 2009
New Revision: 834503
URL: http://svn.apache.org/viewvc?rev=834503&view=rev
Log:
o Revised initial sketches
Added:
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ResolveRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ResolveResult.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/TransferEvent.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/TransferListener.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/TransferResource.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/TransformRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/TransformResult.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/VersionRangeRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/VersionRangeResult.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/VersionRequest.java (with props)
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/VersionResult.java (with props)
Removed:
maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/dependency/
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/
------------------------------------------------------------------------------
bugtraq:label = Enter issue ID:
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/
------------------------------------------------------------------------------
bugtraq:message = Issue id: %BUGID%
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/
------------------------------------------------------------------------------
bugtraq:number = false
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/
------------------------------------------------------------------------------
bugtraq:url = http://jira.codehaus.org/browse/%BUGID%
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,47 @@
+package org.apache.maven.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.
+ */
+
+import java.io.File;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface Artifact
+{
+
+ String getGroupId();
+
+ String getArtifactId();
+
+ String getVersion();
+
+ String getClassifier();
+
+ String getType();
+
+ File getFile();
+
+ // REVIEW: Do we need setters? Unmodifiability would make caching easier, or will we end up with too
+ // many temp objects?
+
+ // what about attached metadata (POM, plugin prefix index, version index, snapshot, signatures, etc.)?
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Artifact.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,43 @@
+package org.apache.maven.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.
+ */
+
+import java.io.IOException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class ArtifactNotFoundException
+ extends IOException
+{
+
+ private Artifact artifact;
+
+ public ArtifactNotFoundException( Artifact artifact )
+ {
+ super( "Could not find artifact " + artifact );
+ }
+
+ public Artifact getArtifact()
+ {
+ return artifact;
+ }
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactNotFoundException.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,32 @@
+package org.apache.maven.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.
+ */
+
+/**
+ *
+ * @author Benjamin Bentmann
+ *
+ */
+public interface ArtifactRepository
+{
+
+ String getId();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRepository.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,32 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface ArtifactRequest
+{
+
+ Artifact getArtifact();
+
+ TransferListener getTransferListener();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ArtifactRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,34 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface Authentication
+{
+
+ static final String USER_NAME = "authentication.userName";
+
+ static final String PASSWORD = "authentication.password";
+
+ String getValue( String key );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Authentication.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,30 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface AuthenticationSelector
+{
+
+ Authentication getAuthentication( RemoteRepository repository );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/AuthenticationSelector.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,54 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface CollectRequest
+{
+
+ // we have three types of collection regarding the request:
+ // 1. root-only, e.g. a plugin declaration, resolve the root and its transitive closure
+ // 2. root-with-children, e.g. a plugin declaration with project-level deps, merge children
+ // 3. children-only, e.g. the (managed) dependencies of a project, don't resolve root but only its transitive
+ // closure
+
+ Artifact getRoot();
+
+ List<? extends Dependency> getDependencies();
+
+ List<? extends Dependency> getManagedDependencies();
+
+ LocalRepository getLocalRepository();
+
+ List<? extends RemoteRepository> getRemoteRepositories();
+
+ RepositoryContext getContext();
+
+ DependencyTraverser getDependencyTraverser();
+
+ DependencyManager getDependencyManager();
+
+ DependencyFilter getDependencyFilter();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,30 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface CollectResult
+{
+
+ DependencyNode getRoot();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/CollectResult.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,82 @@
+package org.apache.maven.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.
+ */
+
+import java.io.File;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class DefaultArtifact
+ implements Artifact
+{
+
+ private final String groupId;
+
+ private final String artifactId;
+
+ private final String version;
+
+ private final String classifier;
+
+ private final String type;
+
+ private File file;
+
+ public DefaultArtifact( String groupId, String artifactId, String classifier, String type, String version )
+ {
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ this.classifier = classifier;
+ this.type = type;
+ this.version = version;
+ }
+
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ public String getClassifier()
+ {
+ return classifier;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
+
+ public File getFile()
+ {
+ return file;
+ }
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DefaultArtifact.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.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.
+ */
+
+import java.util.Collection;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface Dependency
+{
+
+ Artifact getArtifact();
+
+ String getScope();
+
+ boolean isOptional();
+
+ Collection<? extends Exclusion> getExclusions();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Dependency.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,52 @@
+package org.apache.maven.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.
+ */
+
+import org.apache.maven.model.Dependency;
+
+/**
+ * Applies exclusions to the dependencies of a dependency node. The dependency tree builder will maintain one dependency
+ * filter for each node of the dependency tree.
+ *
+ * @author Benjamin Bentmann
+ */
+public interface DependencyFilter
+{
+
+ /**
+ * Applies exclusions to the specified dependency of a dependency node.
+ *
+ * @param node The node whose child dependency should be filtered, must not be {@code null}.
+ * @param dependency The dependency to filter, must not be {@code null}.
+ * @return {@code false} if the dependency should be excluded from the children of the specified node, {@code true}
+ * otherwise.
+ */
+ boolean accept( DependencyNode node, Dependency dependency );
+
+ /**
+ * Derives a dependency filter for the specified child node of the current node, i.e. the parent of the specified
+ * node. Implementors are expected to calculate a new dependency filter for the dependencies of the child node.
+ *
+ * @param childNode The child node to derive a filter for, must not be {@code null}.
+ * @return The dependency filter for the child node, must not be {@code null}.
+ */
+ DependencyFilter deriveChildFilter( DependencyNode childNode );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyFilter.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,53 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * Applies dependency management to the dependencies of a dependency node. The dependency tree builder will maintain one
+ * dependency manager for each node of the dependency tree.
+ *
+ * @author Benjamin Bentmann
+ */
+public interface DependencyManager
+{
+
+ /**
+ * Applies dependency management to the specified dependency of a dependency node. The management information (if
+ * any) will be directly injected into the specified dependency.
+ *
+ * @param node The node whose child dependency should be managed, must not be {@code null}.
+ * @param dependency The dependency to manage, must not be {@code null}.
+ * @return The managed dependency, never {@code null}.
+ */
+ Dependency manageDependency( DependencyNode node, Dependency dependency );
+
+ /**
+ * Derives a dependency manager for the specified child node of the current node, i.e. the parent of the specified
+ * node. Implementors are expected to calculate a new dependency manager for the dependencies of the child node.
+ *
+ * @param childNode The child node to derive a manager for, must not be {@code null}.
+ * @param managedDependencies The dependency management to consider for the child, must not be {@code null}.
+ * @return The dependency manager for the child node, must not be {@code null}.
+ */
+ DependencyManager deriveChildManager( DependencyNode childNode, List<? extends Dependency> managedDependencies );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyManager.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface DependencyNode
+{
+
+ Dependency getDependency();
+
+ DependencyNode getParent();
+
+ List<DependencyNode> getChildren();
+
+ int getDepth();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyNode.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface DependencyRequest
+{
+
+ Artifact getArtifact();
+
+ LocalRepository getLocalRepository();
+
+ List<? extends RemoteRepository> getRemoteRepositories();
+
+ RepositoryContext getContext();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,39 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface DependencyResult
+{
+
+ // probably relocated
+ Artifact getArtifact();
+
+ List<? extends Dependency> getDependencies();
+
+ List<? extends Dependency> getManagedDependencies();
+
+ List<? extends RemoteRepository> getRepositories();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyResult.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,50 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * Decides whether the dependencies of a dependency node should be traversed as well. The dependency tree builder will
+ * maintain one dependency traverser for each node of the dependency tree.
+ *
+ * @author Benjamin Bentmann
+ */
+public interface DependencyTraverser
+{
+
+ /**
+ * Decides whether the dependencies of the specified node should be traversed.
+ *
+ * @param node The dependency node to check, must not be {@code null}.
+ * @return {@code true} if the dependency tree builder should recurse into the specified node and process its
+ * dependencies, {@code false} otherwise.
+ */
+ boolean accept( DependencyNode node );
+
+ /**
+ * Derives a dependency traverser for the specified child node of the current node, i.e. the parent of the specified
+ * node. This method is called by the dependency tree builder just before it processes the child node. Implementors
+ * are expected to calculate a new dependency traverser for the child node.
+ *
+ * @param childNode The child node to derive a traverser for, must not be {@code null}.
+ * @return The dependency traverser for the child node, must not be {@code null}.
+ */
+ DependencyTraverser deriveChildTraverser( DependencyNode childNode );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DependencyTraverser.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,39 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface DeployRequest
+{
+ // what about metadata? do we really need to add that to the artifact or can it be updated by the repo itself
+
+ List<? extends Artifact> getArtifacts();
+
+ LocalRepository getLocalRepository();
+
+ RemoteRepository getRemoteRepository();
+
+ RepositoryContext getContext();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/DeployRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,36 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface Exclusion
+{
+
+ String getGroupId();
+
+ String getArtifactId();
+
+ String getClassifier();
+
+ String getType();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Exclusion.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,36 @@
+package org.apache.maven.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.
+ */
+
+import java.util.List;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface InstallRequest
+{
+
+ // what about metadata? do we really need to add that to the artifact or can it be updated by the repo itself
+
+ List<? extends Artifact> getArtifacts();
+
+ LocalRepository getLocalRepository();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/InstallRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,33 @@
+package org.apache.maven.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.
+ */
+
+import java.io.File;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface LocalRepository
+ extends ArtifactRepository
+{
+
+ File getBasedir();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepository.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.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.
+ */
+
+import java.io.File;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface LocalRepositoryManager
+{
+
+ File getPathForLocalArtifact( Artifact artifact );
+
+ File getPathForLocalMetadata( Metadata metadata );
+
+ File getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository );
+
+ File getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/LocalRepositoryManager.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.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.
+ */
+
+import java.io.File;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface Metadata
+{
+
+ String getGroupId();
+
+ String getArtifactId();
+
+ String getVersion();
+
+ File getFile();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Metadata.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,43 @@
+package org.apache.maven.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.
+ */
+
+import java.io.IOException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class MetadataNotFoundException
+ extends IOException
+{
+
+ private Metadata metadata;
+
+ public MetadataNotFoundException( Metadata metadata )
+ {
+ super( "Could not find metadata " + metadata );
+ }
+
+ public Metadata getMetadata()
+ {
+ return metadata;
+ }
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataNotFoundException.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,32 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface MetadataRequest
+{
+
+ Metadata getMetadata();
+
+ TransferListener getTransferListener();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MetadataRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,30 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface MirrorSelector
+{
+
+ RemoteRepository getMirror( RemoteRepository repository );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/MirrorSelector.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,34 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface Proxy
+{
+
+ String getHost();
+
+ int getPort();
+
+ Authentication getAuthentication();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/Proxy.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,30 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface ProxySelector
+{
+
+ Proxy getProxy( RemoteRepository repository );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/ProxySelector.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,35 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface RemoteRepository
+ extends ArtifactRepository
+{
+
+ String getType();
+
+ String getUrl();
+
+ RepositoryPolicy getPolicy( boolean snapshot );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RemoteRepository.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,48 @@
+package org.apache.maven.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.
+ */
+
+import java.util.Properties;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface RepositoryContext
+{
+
+ boolean isOffline();
+
+ String getChecksumPolicy();
+
+ String getUpdatePolicy();
+
+ TransferListener getTransferListener();
+
+ Properties getSystemProperties();
+
+ MirrorSelector getMirrorSelector();
+
+ ProxySelector getProxySelector();
+
+ AuthenticationSelector getAuthenticationSelector();
+
+ // TODO: cache?
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryContext.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,34 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface RepositoryPolicy
+{
+
+ boolean isEnabled();
+
+ String getUpdatePolicy();
+
+ String getChecksumPolicy();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryPolicy.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,40 @@
+package org.apache.maven.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.
+ */
+
+import java.io.IOException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface RepositoryReader
+{
+
+ void getArtifact( ArtifactRequest request )
+ throws IOException;
+
+ void getMetadata( MetadataRequest request )
+ throws IOException;
+
+ // REVIEW: Do we need/want raw file transfers? Looks strange to me, to assume a repo is a plain file server.
+
+ void close();
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositoryReader.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java?rev=834503&view=auto
==============================================================================
--- maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java (added)
+++ maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java Tue Nov 10 15:31:26 2009
@@ -0,0 +1,75 @@
+package org.apache.maven.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.
+ */
+
+/**
+ * @author Benjamin Bentmann
+ */
+public interface RepositorySystem
+{
+
+ /**
+ * Expands a version range to a list of matching versions, in ascending order. For example, resolves "[3.8,4.0)" to
+ * ["3.8", "3.8.1", "3.8.2"].
+ */
+ VersionRangeResult resolveVersionRange( VersionRangeRequest request );
+
+ /**
+ * Resolves a metaversion to a concrete version. For example, resolves "1.0-SNAPSHOT" to "1.0-20090208.132618-23" or
+ * "RELEASE"/"LATEST" to "2.0".
+ */
+ VersionResult resolveVersion( VersionRequest request );
+
+ /**
+ * Gets the direct dependencies of an artifact.
+ */
+ DependencyResult getDependencies( DependencyRequest request );
+
+ /**
+ * Collects the transitive dependencies of an artifact in form of a dirty dependency tree.
+ */
+ CollectResult collectDependencies( CollectRequest request );
+
+ /**
+ * Performs conflict resolution or other transformations on the dependency tree/graph.
+ */
+ TransformResult transformDependencies( TransformRequest request );
+
+ /**
+ * Resolves the paths for a collection of artifacts. Artifacts will be downloaded if necessary.
+ */
+ ResolveResult resolveArtifacts( ResolveRequest request );
+
+ /**
+ * Installs a collection of artifacts to the local repository.
+ */
+ void installArtifacts( InstallRequest request );
+
+ /**
+ * Uploads a collection of artifacts to a remote repository. This process automatically includes the installation of
+ * the artifacts to the local repository.
+ */
+ void deployArtifacts( DeployRequest request );
+
+ RepositoryReader getRepositoryReader( RemoteRepository remoteRepository, RepositoryContext context );
+
+ LocalRepositoryManager getLocalRepositoryManager( LocalRepository localRepository, RepositoryContext context );
+
+}
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/branches/MNG-4388/maven-dependency-tree-builder/src/main/java/org/apache/maven/repository/RepositorySystem.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision