Browse Source

Moving mavenmerge class to archiva-maven-repository module

feature/storage_refactoring
Martin Stockhammer 4 years ago
parent
commit
f1ae6b4145
39 changed files with 62 additions and 54 deletions
  1. 10
    0
      archiva-modules/archiva-maven/archiva-maven-repository/pom.xml
  2. 7
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
  3. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/configuration/StubConfiguration.java
  4. 3
    1
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java
  5. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/spring-context-merge.xml
  6. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar
  7. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom
  8. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml
  9. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml
  10. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt
  11. 0
    0
      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
  12. 0
    0
      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
  13. 0
    0
      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
  14. 0
    0
      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
  15. 0
    0
      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
  16. 0
    0
      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
  17. 0
    0
      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
  18. 0
    0
      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
  19. 0
    0
      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
  20. 0
    0
      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
  21. 0
    0
      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
  22. 0
    0
      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
  23. 0
    0
      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
  24. 0
    0
      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
  25. 0
    0
      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
  26. 0
    0
      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
  27. 0
    0
      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
  28. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml
  29. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5
  30. 0
    0
      archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1
  31. 0
    0
      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
  32. 0
    0
      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
  33. 0
    0
      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
  34. 0
    0
      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
  35. 4
    0
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
  36. 35
    18
      archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java
  37. 0
    5
      archiva-modules/plugins/metadata-store-jcr/pom.xml
  38. 0
    30
      archiva-modules/plugins/stage-repository-merge/pom.xml
  39. 3
    0
      archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java

+ 10
- 0
archiva-modules/archiva-maven/archiva-maven-repository/pom.xml View File

@@ -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>

archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java → archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java View File

@@ -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;
@@ -101,6 +102,12 @@ public class Maven2RepositoryMerger
this.configuration = configuration;
}

@Override
public boolean supportsRepository( RepositoryType type )
{
return RepositoryType.MAVEN.equals( type );
}

@Override
public void merge( MetadataRepository metadataRepository, String sourceRepoId, String targetRepoId )
throws RepositoryMergerException

archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/configuration/StubConfiguration.java → archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/configuration/StubConfiguration.java View File


archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java → archiva-modules/archiva-maven/archiva-maven-repository/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java View File

@@ -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;

archiva-modules/plugins/stage-repository-merge/src/test/resources/spring-context.xml → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/spring-context-merge.xml View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.jar View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/archiva-1.2.1.pom View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/1.2.1/maven-metadata.xml View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/target-repo/org/apache/archiva/archiva/maven-metadata.xml View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/invalid-artifact.txt View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


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 → 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 View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5 → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.md5 View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1 → archiva-modules/archiva-maven/archiva-maven-repository/src/test/resources/test-repository-with-conflict-artifacts/com/example/test/test-artifact/maven-metadata.xml.sha1 View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.jar → 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 View File


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 → 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 View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8-jdk15.pom → 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 View File


archiva-modules/plugins/stage-repository-merge/src/test/resources/test-repository-with-conflict-artifacts/org/testng/testng/5.8/testng-5.8.pom.sha1 → 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 View File


+ 4
- 0
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml View File

@@ -157,6 +157,10 @@
<groupId>org.apache.archiva</groupId>
<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>

+ 35
- 18
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultMergeRepositoriesService.java View File

@@ -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 );
}
}

+ 0
- 5
archiva-modules/plugins/metadata-store-jcr/pom.xml View File

@@ -116,11 +116,6 @@
<artifactId>generic-metadata-support</artifactId>
<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>

+ 0
- 30
archiva-modules/plugins/stage-repository-merge/pom.xml View File

@@ -46,20 +46,6 @@
<groupId>org.apache.archiva</groupId>
<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>
@@ -84,22 +70,6 @@
<artifactId>log4j-slf4j-impl</artifactId>
<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>

+ 3
- 0
archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java View File

@@ -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;


Loading…
Cancel
Save