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 <[email protected]>
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;
 

Reply via email to