You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2019/08/31 16:59:50 UTC

[archiva] branch master updated (3d2006a -> 36249f6)

This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/archiva.git.


    from 3d2006a  Improving error handling and log for repository scan
     new f1ae6b4  Moving mavenmerge class to archiva-maven-repository module
     new 36249f6  Trying to fix merge test error on build server

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../archiva-maven/archiva-maven-repository/pom.xml |  10 ++++
 .../merge/Maven2RepositoryMerger.java              |   7 +++
 .../archiva/configuration/StubConfiguration.java   |   0
 .../merge/Maven2RepositoryMergerTest.java          |   4 +-
 .../src/test/resources/spring-context-merge.xml}   |   0
 .../apache/archiva/archiva/1.2.1/archiva-1.2.1.jar |   0
 .../apache/archiva/archiva/1.2.1/archiva-1.2.1.pom |   0
 .../archiva/archiva/1.2.1/maven-metadata.xml       |   0
 .../org/apache/archiva/archiva/maven-metadata.xml  |   0
 .../com/example/invalid-artifact.txt               |   0
 .../test-artifact/1.0-SNAPSHOT}/maven-metadata.xml |   0
 .../1.0-SNAPSHOT/maven-metadata.xml.md5            |   0
 .../1.0-SNAPSHOT/maven-metadata.xml.sha1           |   0
 .../test-artifact-1.0-20100308.230825-1.jar.md5    |   0
 .../test-artifact-1.0-20100308.230825-1.jar.sha1   |   0
 .../test-artifact-1.0-20100308.230825-1.pom        |   0
 .../test-artifact-1.0-20100308.230825-1.pom.md5    |   0
 .../test-artifact-1.0-20100308.230825-1.pom.sha1   |   0
 ...-artifact-1.0-20100310.014828-2-javadoc.jar.md5 |   0
 ...artifact-1.0-20100310.014828-2-javadoc.jar.sha1 |   0
 ...-artifact-1.0-20100310.014828-2-sources.jar.md5 |   0
 ...artifact-1.0-20100310.014828-2-sources.jar.sha1 |   0
 .../test-artifact-1.0-20100310.014828-2.jar.md5    |   0
 .../test-artifact-1.0-20100310.014828-2.jar.sha1   |   0
 .../test-artifact-1.0-20100310.014828-2.pom        |   0
 .../test-artifact-1.0-20100310.014828-2.pom.md5    |   0
 .../test-artifact-1.0-20100310.014828-2.pom.sha1   |   0
 .../example/test/test-artifact}/maven-metadata.xml |   0
 .../test/test-artifact/maven-metadata.xml.md5      |   0
 .../test/test-artifact/maven-metadata.xml.sha1     |   0
 .../org/testng/testng/5.8/testng-5.8-jdk15.jar     | Bin
 .../testng/testng/5.8/testng-5.8-jdk15.jar.sha1    |   0
 .../org/testng/testng/5.8/testng-5.8-jdk15.pom     |   0
 .../org/testng/testng/5.8/testng-5.8.pom.sha1      |   0
 .../archiva-rest/archiva-rest-services/pom.xml     |   4 ++
 .../services/DefaultMergeRepositoriesService.java  |  55 ++++++++++++++-------
 .../rest/services/AbstractArchivaRestTest.java     |  15 ++++--
 .../archiva/rest/services/BrowseServiceTest.java   |   2 +-
 .../services/MergeRepositoriesServiceTest.java     |   5 +-
 archiva-modules/plugins/metadata-store-jcr/pom.xml |   5 --
 .../plugins/stage-repository-merge/pom.xml         |  30 -----------
 .../stagerepository/merge/RepositoryMerger.java    |   3 ++
 42 files changed, 77 insertions(+), 63 deletions(-)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java (98%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/java/org/apache/archiva/configuration/StubConfiguration.java (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java (98%)
 rename archiva-modules/{plugins/stage-repository-merge/src/test/resources/spring-context.xml => archiva-maven/archiva-maven-repository/src/test/resources/spring-context-merge.xml} (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt (100%)
 rename archiva-modules/{plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact => archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT}/maven-metadata.xml (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT => archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact}/maven-metadata.xml (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar.sha1 (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.pom (100%)
 rename archiva-modules/{plugins/stage-repository-merge => archiva-maven/archiva-maven-repository}/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8.pom.sha1 (100%)


[archiva] 01/02: Moving mavenmerge class to archiva-maven-repository module

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva.git

commit f1ae6b4145c1e1352d2b874482fd9fbb90084faf
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sat Aug 31 17:01:36 2019 +0200

    Moving mavenmerge class to archiva-maven-repository module
---
 .../archiva-maven/archiva-maven-repository/pom.xml |  10 ++++
 .../merge/Maven2RepositoryMerger.java              |   7 +++
 .../archiva/configuration/StubConfiguration.java   |   0
 .../merge/Maven2RepositoryMergerTest.java          |   4 +-
 .../src/test/resources/spring-context-merge.xml}   |   0
 .../apache/archiva/archiva/1.2.1/archiva-1.2.1.jar |   0
 .../apache/archiva/archiva/1.2.1/archiva-1.2.1.pom |   0
 .../archiva/archiva/1.2.1/maven-metadata.xml       |   0
 .../org/apache/archiva/archiva/maven-metadata.xml  |   0
 .../com/example/invalid-artifact.txt               |   0
 .../test-artifact/1.0-SNAPSHOT}/maven-metadata.xml |   0
 .../1.0-SNAPSHOT/maven-metadata.xml.md5            |   0
 .../1.0-SNAPSHOT/maven-metadata.xml.sha1           |   0
 .../test-artifact-1.0-20100308.230825-1.jar.md5    |   0
 .../test-artifact-1.0-20100308.230825-1.jar.sha1   |   0
 .../test-artifact-1.0-20100308.230825-1.pom        |   0
 .../test-artifact-1.0-20100308.230825-1.pom.md5    |   0
 .../test-artifact-1.0-20100308.230825-1.pom.sha1   |   0
 ...-artifact-1.0-20100310.014828-2-javadoc.jar.md5 |   0
 ...artifact-1.0-20100310.014828-2-javadoc.jar.sha1 |   0
 ...-artifact-1.0-20100310.014828-2-sources.jar.md5 |   0
 ...artifact-1.0-20100310.014828-2-sources.jar.sha1 |   0
 .../test-artifact-1.0-20100310.014828-2.jar.md5    |   0
 .../test-artifact-1.0-20100310.014828-2.jar.sha1   |   0
 .../test-artifact-1.0-20100310.014828-2.pom        |   0
 .../test-artifact-1.0-20100310.014828-2.pom.md5    |   0
 .../test-artifact-1.0-20100310.014828-2.pom.sha1   |   0
 .../example/test/test-artifact}/maven-metadata.xml |   0
 .../test/test-artifact/maven-metadata.xml.md5      |   0
 .../test/test-artifact/maven-metadata.xml.sha1     |   0
 .../org/testng/testng/5.8/testng-5.8-jdk15.jar     | Bin
 .../testng/testng/5.8/testng-5.8-jdk15.jar.sha1    |   0
 .../org/testng/testng/5.8/testng-5.8-jdk15.pom     |   0
 .../org/testng/testng/5.8/testng-5.8.pom.sha1      |   0
 .../archiva-rest/archiva-rest-services/pom.xml     |   4 ++
 .../services/DefaultMergeRepositoriesService.java  |  53 ++++++++++++++-------
 archiva-modules/plugins/metadata-store-jcr/pom.xml |   5 --
 .../plugins/stage-repository-merge/pom.xml         |  30 ------------
 .../stagerepository/merge/RepositoryMerger.java    |   3 ++
 39 files changed, 62 insertions(+), 54 deletions(-)

diff --git a/archiva-modules/archiva-maven/archiva-maven-repository/pom.xml b/archiva-modules/archiva-maven/archiva-maven-repository/pom.xml
index 627bd5b..07d979a 100644
--- a/archiva-modules/archiva-maven/archiva-maven-repository/pom.xml
+++ b/archiva-modules/archiva-maven/archiva-maven-repository/pom.xml
@@ -56,6 +56,10 @@
       <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-model</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>stage-repository-merge</artifactId>
+    </dependency>
 
     <dependency>
       <groupId>org.apache.archiva.maven</groupId>
@@ -213,6 +217,10 @@
       <scope>test</scope>
     </dependency>
 
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>metadata-store-jcr</artifactId>
+    </dependency>
 
   </dependencies>
   <build>
@@ -261,6 +269,8 @@
               <exclude>src/test/expected-poms/**</exclude>
               <exclude>src/test/resources/resolver-status.properties</exclude>
               <exclude>src/test/resources/test01.properties</exclude>
+              <exclude>src/test/resources/target-repo/**</exclude>
+              <exclude>src/test/resources/test-repository-with-conflict-artifacts/**</exclude>
             </excludes>
           </configuration>
         </plugin>
diff --git a/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java b/archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
similarity index 98%
rename from archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
index a36d7c1..20f98ee 100644
--- a/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
+++ b/archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
@@ -35,6 +35,7 @@ import org.apache.archiva.metadata.repository.RepositorySessionFactory;
 import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
 import org.apache.archiva.model.ArchivaRepositoryMetadata;
 import org.apache.archiva.repository.RepositoryException;
+import org.apache.archiva.repository.RepositoryType;
 import org.apache.archiva.repository.metadata.RepositoryMetadataException;
 import org.apache.archiva.repository.metadata.RepositoryMetadataWriter;
 import org.apache.archiva.repository.storage.FilesystemAsset;
@@ -102,6 +103,12 @@ public class Maven2RepositoryMerger
     }
 
     @Override
+    public boolean supportsRepository( RepositoryType type )
+    {
+        return RepositoryType.MAVEN.equals( type );
+    }
+
+    @Override
     public void merge( MetadataRepository metadataRepository, String sourceRepoId, String targetRepoId )
         throws RepositoryMergerException
     {
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/configuration/StubConfiguration.java b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/configuration/StubConfiguration.java
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/configuration/StubConfiguration.java
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/configuration/StubConfiguration.java
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
similarity index 98%
rename from archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
index 2ac7e8b..9781aab 100644
--- a/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
+++ b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
@@ -39,6 +39,7 @@ import org.mockito.MockitoAnnotations;
 import org.springframework.test.context.ContextConfiguration;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -48,7 +49,7 @@ import java.util.List;
 import static org.mockito.Mockito.*;
 
 @RunWith (ArchivaSpringJUnit4ClassRunner.class)
-@ContextConfiguration (locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" })
+@ContextConfiguration (locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context-merge.xml" })
 public class Maven2RepositoryMergerTest
     extends TestCase
 {
@@ -59,6 +60,7 @@ public class Maven2RepositoryMergerTest
     private Maven2RepositoryMerger repositoryMerger;
 
     @Inject
+    @Named("archivaConfiguration#default")
     ArchivaConfiguration configuration;
 
     private MetadataRepository metadataRepository;
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/spring-context.xml b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/spring-context-merge.xml
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/spring-context.xml
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/spring-context-merge.xml
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.jar.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100308.230825-1.pom.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-javadoc.jar.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2-sources.jar.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.jar.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/test-artifact-1.0-20100310.014828-2.pom.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/1.0-SNAPSHOT/maven-metadata.xml
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar.sha1
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.pom b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.pom
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.pom
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.pom
diff --git a/archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8.pom.sha1 b/archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8.pom.sha1
similarity index 100%
rename from archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8.pom.sha1
rename to archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8.pom.sha1
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
index 403377b..0ad5958 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
@@ -158,6 +158,10 @@
       <artifactId>archiva-rest-api</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.archiva.maven</groupId>
+      <artifactId>archiva-maven-repository</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-proxy</artifactId>
     </dependency>
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
index 38a52ce..95cbdc9 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
@@ -28,14 +28,16 @@ import org.apache.archiva.metadata.repository.RepositorySession;
 import org.apache.archiva.filter.Filter;
 import org.apache.archiva.filter.IncludesFilter;
 import org.apache.archiva.repository.ReleaseScheme;
+import org.apache.archiva.repository.Repository;
+import org.apache.archiva.repository.RepositoryNotFoundException;
+import org.apache.archiva.repository.RepositoryRegistry;
 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
 import org.apache.archiva.rest.api.services.MergeRepositoriesService;
-import org.apache.archiva.stagerepository.merge.Maven2RepositoryMerger;
+import org.apache.archiva.stagerepository.merge.RepositoryMerger;
 import org.apache.archiva.stagerepository.merge.RepositoryMergerException;
 import org.springframework.stereotype.Service;
 
 import javax.inject.Inject;
-import javax.inject.Named;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -52,8 +54,10 @@ public class DefaultMergeRepositoriesService
     // FIXME check archiva-merge-repository to sourceRepoId
 
     @Inject
-    @Named ( value = "repositoryMerger#maven2" )
-    private Maven2RepositoryMerger repositoryMerger;
+    private List<RepositoryMerger> repositoryMerger;
+
+    @Inject
+    private RepositoryRegistry repositoryRegistry;
 
 
     @Override
@@ -71,13 +75,14 @@ public class DefaultMergeRepositoriesService
         }
         try
         {
+            RepositoryMerger merger = findMerger( sourceRepositoryId );
             List<ArtifactMetadata> artifactMetadatas =
-                repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepositoryId,
+                merger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepositoryId,
                                                           targetRepositoryId );
 
             return buildArtifacts( artifactMetadatas, sourceRepositoryId );
         }
-        catch ( RepositoryMergerException e )
+        catch ( RepositoryMergerException | RepositoryNotFoundException e )
         {
             throw new ArchivaRestServiceException( e.getMessage(), e );
         }
@@ -87,23 +92,35 @@ public class DefaultMergeRepositoriesService
         }
     }
 
+    RepositoryMerger findMerger(String repositoryId) throws RepositoryNotFoundException
+    {
+        Repository repo = repositoryRegistry.getRepository( repositoryId );
+        if (repo==null) {
+            throw new RepositoryNotFoundException( repositoryId );
+        } else {
+            return repositoryMerger.stream( ).filter( m -> m.supportsRepository( repo.getType( ) ) ).findFirst().get();
+        }
+    }
+
     @Override
     public void mergeRepositories( String sourceRepositoryId, String targetRepositoryId, boolean skipConflicts )
         throws ArchivaRestServiceException
     {
         try
         {
+            RepositoryMerger merger = findMerger( sourceRepositoryId );
+
             if ( skipConflicts )
             {
-                mergeBySkippingConflicts( sourceRepositoryId, targetRepositoryId );
+                mergeBySkippingConflicts( merger,  sourceRepositoryId, targetRepositoryId );
             }
             else
             {
-                doMerge( sourceRepositoryId, targetRepositoryId );
+                doMerge( merger, sourceRepositoryId, targetRepositoryId );
             }
 
         }
-        catch ( RepositoryMergerException e )
+        catch ( RepositoryMergerException | RepositoryNotFoundException e )
         {
             throw new ArchivaRestServiceException( e.getMessage(), e );
         }
@@ -111,7 +128,7 @@ public class DefaultMergeRepositoriesService
     }
 
 
-    protected void doMerge( String sourceRepositoryId, String targetRepositoryId )
+    protected void doMerge( RepositoryMerger merger, String sourceRepositoryId, String targetRepositoryId )
         throws RepositoryMergerException, ArchivaRestServiceException
     {
         RepositorySession repositorySession = null;
@@ -132,11 +149,11 @@ public class DefaultMergeRepositoriesService
 
             if ( managedRepo.getActiveReleaseSchemes().contains(ReleaseScheme.RELEASE) && !managedRepo.getActiveReleaseSchemes().contains(ReleaseScheme.SNAPSHOT) )
             {
-                mergeWithOutSnapshots( metadataRepository, sourceArtifacts, sourceRepositoryId, targetRepositoryId );
+                mergeWithOutSnapshots(merger, metadataRepository, sourceArtifacts, sourceRepositoryId, targetRepositoryId );
             }
             else
             {
-                repositoryMerger.merge( metadataRepository, sourceRepositoryId, targetRepositoryId );
+                merger.merge( metadataRepository, sourceRepositoryId, targetRepositoryId );
 
                 for ( ArtifactMetadata metadata : sourceArtifacts )
                 {
@@ -155,7 +172,7 @@ public class DefaultMergeRepositoriesService
         }
     }
 
-    public void mergeBySkippingConflicts( String sourceRepositoryId, String targetRepositoryId )
+    private void mergeBySkippingConflicts( RepositoryMerger merger, String sourceRepositoryId, String targetRepositoryId )
         throws RepositoryMergerException, ArchivaRestServiceException
     {
 
@@ -171,7 +188,7 @@ public class DefaultMergeRepositoriesService
         try
         {
             List<ArtifactMetadata> conflictSourceArtifacts =
-                repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepositoryId,
+                merger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepositoryId,
                                                           targetRepositoryId );
             MetadataRepository metadataRepository = repositorySession.getRepository();
             List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts(repositorySession , sourceRepositoryId );
@@ -181,14 +198,14 @@ public class DefaultMergeRepositoriesService
 
             if ( managedRepo.getActiveReleaseSchemes().contains(ReleaseScheme.RELEASE) && !managedRepo.getActiveReleaseSchemes().contains(ReleaseScheme.SNAPSHOT))
             {
-                mergeWithOutSnapshots( metadataRepository, sourceArtifacts, sourceRepositoryId, targetRepositoryId );
+                mergeWithOutSnapshots( merger, metadataRepository, sourceArtifacts, sourceRepositoryId, targetRepositoryId );
             }
             else
             {
 
                 Filter<ArtifactMetadata> artifactsWithOutConflicts =
                     new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
-                repositoryMerger.merge( metadataRepository, sourceRepositoryId, targetRepositoryId,
+                merger.merge( metadataRepository, sourceRepositoryId, targetRepositoryId,
                                         artifactsWithOutConflicts );
                 for ( ArtifactMetadata metadata : sourceArtifacts )
                 {
@@ -207,7 +224,7 @@ public class DefaultMergeRepositoriesService
         }
     }
 
-    private void mergeWithOutSnapshots( MetadataRepository metadataRepository, List<ArtifactMetadata> sourceArtifacts,
+    private void mergeWithOutSnapshots( RepositoryMerger merger, MetadataRepository metadataRepository, List<ArtifactMetadata> sourceArtifacts,
                                         String sourceRepoId, String repoid )
         throws RepositoryMergerException
     {
@@ -228,6 +245,6 @@ public class DefaultMergeRepositoriesService
         sourceArtifacts.removeAll( artifactsWithOutSnapshots );
 
         Filter<ArtifactMetadata> artifactListWithOutSnapShots = new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
-        repositoryMerger.merge( metadataRepository, sourceRepoId, repoid, artifactListWithOutSnapShots );
+        merger.merge( metadataRepository, sourceRepoId, repoid, artifactListWithOutSnapShots );
     }
 }
diff --git a/archiva-modules/plugins/metadata-store-jcr/pom.xml b/archiva-modules/plugins/metadata-store-jcr/pom.xml
index 98a730d..8a1a88d 100644
--- a/archiva-modules/plugins/metadata-store-jcr/pom.xml
+++ b/archiva-modules/plugins/metadata-store-jcr/pom.xml
@@ -117,11 +117,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.archiva.maven</groupId>
-      <artifactId>archiva-maven-repository</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.assertj</groupId>
       <artifactId>assertj-core</artifactId>
       <scope>test</scope>
diff --git a/archiva-modules/plugins/stage-repository-merge/pom.xml b/archiva-modules/plugins/stage-repository-merge/pom.xml
index 90ed772..a7ebf5a 100644
--- a/archiva-modules/plugins/stage-repository-merge/pom.xml
+++ b/archiva-modules/plugins/stage-repository-merge/pom.xml
@@ -47,20 +47,6 @@
       <artifactId>archiva-repository-layer</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.archiva.maven</groupId>
-      <artifactId>archiva-maven-repository</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>log4j</groupId>
-          <artifactId>log4j</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>commons-logging</groupId>
-          <artifactId>commons-logging-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-model</artifactId>
     </dependency>
@@ -85,22 +71,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-http</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>commons-logging</groupId>
-          <artifactId>commons-logging</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-http-lightweight</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-test-utils</artifactId>
       <version>${project.version}</version>
diff --git a/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java b/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java
index 9ad3ee6..6a31d9b 100644
--- a/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java
+++ b/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java
@@ -22,11 +22,14 @@ package org.apache.archiva.stagerepository.merge;
 import org.apache.archiva.metadata.model.ArtifactMetadata;
 import org.apache.archiva.metadata.repository.MetadataRepository;
 import org.apache.archiva.filter.Filter;
+import org.apache.archiva.repository.RepositoryType;
 
 import java.util.List;
 
 public interface RepositoryMerger
 {
+    boolean supportsRepository( RepositoryType type );
+
     void merge( MetadataRepository metadataRepository, String sourceRepoId, String targetRepoId )
         throws RepositoryMergerException;
 


[archiva] 02/02: Trying to fix merge test error on build server

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva.git

commit 36249f664600be844e3204276d957f23767f83f0
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sat Aug 31 18:59:37 2019 +0200

    Trying to fix merge test error on build server
---
 .../rest/services/DefaultMergeRepositoriesService.java    |  2 +-
 .../archiva/rest/services/AbstractArchivaRestTest.java    | 15 +++++++++++----
 .../apache/archiva/rest/services/BrowseServiceTest.java   |  2 +-
 .../rest/services/MergeRepositoriesServiceTest.java       |  5 ++---
 4 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
index 95cbdc9..7bd45f0 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
@@ -71,7 +71,7 @@ public class DefaultMergeRepositoriesService
         }
         catch ( MetadataRepositoryException e )
         {
-            e.printStackTrace( );
+            log.error( "Error while creating repository session {}", e.getMessage( ), e );
         }
         try
         {
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
index 82a8fe7..4848c7f 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
@@ -553,7 +553,7 @@ public abstract class AbstractArchivaRestTest
 
     }
 
-    protected void createAndIndexRepo( String testRepoId, Path srcRepoPath, boolean stageNeeded )
+    protected void createAndIndexRepo( String testRepoId, Path srcRepoPath, Path stagedSrcRepoPath, boolean stageNeeded )
         throws ArchivaRestServiceException, IOException, RedbackServiceException
     {
         if ( getManagedRepositoriesService( authorizationHeader ).getManagedRepository( testRepoId ) != null )
@@ -572,10 +572,17 @@ public abstract class AbstractArchivaRestTest
         }
 
         Path repoPath = getAppserverBase().resolve( "data" ).resolve( "repositories" ).resolve( testRepoId);
+        Path stagedRepoPath = getAppserverBase().resolve( "data" ).resolve( "repositories" ).resolve( testRepoId + "-stage");
 
         FileUtils.deleteQuietly(repoPath.toFile());
         FileUtils.copyDirectory(srcRepoPath.toFile(), repoPath.toFile());
 
+        if (stagedSrcRepoPath!=null) {
+            FileUtils.deleteQuietly(stagedRepoPath.toFile());
+            FileUtils.copyDirectory(stagedSrcRepoPath.toFile(), stagedRepoPath.toFile());
+
+        }
+
         managedRepository.setLocation( repoPath.toAbsolutePath().toString() );
         String suffix = Long.toString( new Date().getTime() );
         Path baseDir = Files.createTempDirectory( "archiva-test-index" ).toAbsolutePath();
@@ -607,14 +614,14 @@ public abstract class AbstractArchivaRestTest
     protected void createAndIndexRepo( String testRepoId, Path srcRepoPath )
         throws Exception
     {
-        createAndIndexRepo( testRepoId, srcRepoPath, false );
+        createAndIndexRepo( testRepoId, srcRepoPath, null, false );
         scanRepo( testRepoId );
     }
 
-    protected void createStagedNeededRepo( String testRepoId, Path srcRepoPath, boolean scan )
+    protected void createStagedNeededRepo( String testRepoId, Path srcRepoPath, Path stagedSrcRepoPath, boolean scan )
         throws Exception
     {
-        createAndIndexRepo( testRepoId, srcRepoPath, true );
+        createAndIndexRepo( testRepoId, srcRepoPath, stagedSrcRepoPath, true );
         if ( scan )
         {
             scanRepo( testRepoId );
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
index f852872..350d849 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
@@ -509,7 +509,7 @@ public class BrowseServiceTest
         }
 
         createAndIndexRepo( TEST_REPO_ID, getProjectDirectory().resolve( "src/test/repo-with-osgi" ),
-                            false );
+                            null, false );
 
         waitForScanToComplete( TEST_REPO_ID );
     }
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/MergeRepositoriesServiceTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/MergeRepositoriesServiceTest.java
index aaa601e..60b4b51 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/MergeRepositoriesServiceTest.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/MergeRepositoriesServiceTest.java
@@ -144,8 +144,7 @@ public class MergeRepositoriesServiceTest
         // FileUtils.copyDirectory( Paths.get( System.getProperty( "basedir" ), "src/test/repo-with-osgi" ).toFile(), repo.toFile() );
 
         Path srcRepo = getProjectDirectory().resolve(  "src/test/repo-with-osgi" );
-        createStagedNeededRepo( TEST_REPOSITORY, srcRepo , true );
-        FileUtils.copyDirectory( getProjectDirectory().resolve("src/test/repo-with-osgi-stage" ).toFile(),
-                                 repoStage.toFile() );
+        createStagedNeededRepo( TEST_REPOSITORY, srcRepo , getProjectDirectory().resolve("src/test/repo-with-osgi-stage" ),  true );
+
     }
 }