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;
