Search in sources :

Example 11 with ArtifactRepository

use of org.apache.maven.artifact.repository.ArtifactRepository in project maven-dependency-plugin by apache.

the class TestGetMojo method testParseRepository.

/**
 * Test parsing of the remote repositories parameter
 *
 * @throws Exception in case of errors
 */
public void testParseRepository() throws Exception {
    ArtifactRepository repo;
    ArtifactRepositoryPolicy policy = null;
    repo = mojo.parseRepository("central::default::http://repo1.maven.apache.org/maven2", policy);
    assertEquals("central", repo.getId());
    assertEquals(DefaultRepositoryLayout.class, repo.getLayout().getClass());
    assertEquals("http://repo1.maven.apache.org/maven2", repo.getUrl());
    try {
        repo = mojo.parseRepository("central::legacy::http://repo1.maven.apache.org/maven2", policy);
        fail("Exception expected: legacy repository not supported anymore");
    } catch (MojoFailureException e) {
    }
    repo = mojo.parseRepository("central::::http://repo1.maven.apache.org/maven2", policy);
    assertEquals("central", repo.getId());
    assertEquals(DefaultRepositoryLayout.class, repo.getLayout().getClass());
    assertEquals("http://repo1.maven.apache.org/maven2", repo.getUrl());
    repo = mojo.parseRepository("http://repo1.maven.apache.org/maven2", policy);
    assertEquals("temp", repo.getId());
    assertEquals(DefaultRepositoryLayout.class, repo.getLayout().getClass());
    assertEquals("http://repo1.maven.apache.org/maven2", repo.getUrl());
    try {
        mojo.parseRepository("::::http://repo1.maven.apache.org/maven2", policy);
        fail("Exception expected");
    } catch (MojoFailureException e) {
    // expected
    }
    try {
        mojo.parseRepository("central::http://repo1.maven.apache.org/maven2", policy);
        fail("Exception expected");
    } catch (MojoFailureException e) {
    // expected
    }
}
Also used : ArtifactRepositoryPolicy(org.apache.maven.artifact.repository.ArtifactRepositoryPolicy) MojoFailureException(org.apache.maven.plugin.MojoFailureException) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository)

Example 12 with ArtifactRepository

use of org.apache.maven.artifact.repository.ArtifactRepository in project maven-dependency-plugin by apache.

the class ListRepositoriesMojo method doExecute.

/**
 * Displays a list of the repositories used by this build.
 *
 * @throws MojoExecutionException with a message if an error occurs.
 */
@Override
protected void doExecute() throws MojoExecutionException {
    try {
        CollectorResult collectResult = dependencyCollector.collectDependencies(session.getProjectBuildingRequest(), getProject().getModel());
        this.getLog().info("Repositories used by this build:");
        for (ArtifactRepository repo : collectResult.getRemoteRepositories()) {
            this.getLog().info(repo.toString());
        }
    } catch (DependencyCollectorException e) {
        throw new MojoExecutionException("Unable to resolve artifacts", e);
    }
}
Also used : CollectorResult(org.apache.maven.shared.dependencies.collect.CollectorResult) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) DependencyCollectorException(org.apache.maven.shared.dependencies.collect.DependencyCollectorException) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository)

Example 13 with ArtifactRepository

use of org.apache.maven.artifact.repository.ArtifactRepository in project archiva by apache.

the class LegacyToDefaultConverter method copyPom.

@SuppressWarnings("unchecked")
private boolean copyPom(Artifact artifact, ArtifactRepository targetRepository, FileTransaction transaction) throws ArtifactConversionException {
    Artifact pom = artifactFactory.createProjectArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
    pom.setBaseVersion(artifact.getBaseVersion());
    ArtifactRepository repository = artifact.getRepository();
    Path file = Paths.get(repository.getBasedir(), repository.pathOf(pom));
    boolean result = true;
    if (Files.exists(file)) {
        Path targetFile = Paths.get(targetRepository.getBasedir(), targetRepository.pathOf(pom));
        String contents = null;
        boolean checksumsValid = false;
        try {
            if (testChecksums(artifact, file)) {
                checksumsValid = true;
            }
            // Even if the checksums for the POM are invalid we should still convert the POM
            contents = org.apache.archiva.common.utils.FileUtils.readFileToString(file, Charset.defaultCharset());
        } catch (IOException e) {
            throw new ArtifactConversionException(Messages.getString("unable.to.read.source.pom", e.getMessage()), // $NON-NLS-1$
            e);
        }
        if (// $NON-NLS-1$
        checksumsValid && contents.indexOf("modelVersion") >= 0) {
            // v4 POM
            boolean matching = false;
            if (!force && Files.exists(targetFile)) {
                String targetContents = org.apache.archiva.common.utils.FileUtils.readFileToString(targetFile, Charset.defaultCharset());
                matching = targetContents.equals(contents);
            }
            if (force || !matching) {
                transaction.createFile(contents, targetFile, digesters);
            }
        } else {
            // v3 POM
            try (StringReader stringReader = new StringReader(contents)) {
                try (StringWriter writer = new StringWriter()) {
                    org.apache.maven.model.v3_0_0.io.xpp3.MavenXpp3Reader v3Reader = new org.apache.maven.model.v3_0_0.io.xpp3.MavenXpp3Reader();
                    org.apache.maven.model.v3_0_0.Model v3Model = v3Reader.read(stringReader);
                    if (doRelocation(artifact, v3Model, targetRepository, transaction)) {
                        Artifact relocatedPom = artifactFactory.createProjectArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
                        targetFile = Paths.get(targetRepository.getBasedir(), targetRepository.pathOf(relocatedPom));
                    }
                    Model v4Model = translator.translate(v3Model);
                    translator.validateV4Basics(v4Model, v3Model.getGroupId(), v3Model.getArtifactId(), v3Model.getVersion(), v3Model.getPackage());
                    MavenXpp3Writer xpp3Writer = new MavenXpp3Writer();
                    xpp3Writer.write(writer, v4Model);
                    transaction.createFile(writer.toString(), targetFile, digesters);
                    List<String> warnings = translator.getWarnings();
                    for (String message : warnings) {
                        addWarning(artifact, message);
                    }
                } catch (XmlPullParserException e) {
                    addWarning(artifact, // $NON-NLS-1$
                    Messages.getString("invalid.source.pom", e.getMessage()));
                    result = false;
                } catch (IOException e) {
                    throw new ArtifactConversionException(Messages.getString("unable.to.write.converted.pom"), // $NON-NLS-1$
                    e);
                } catch (PomTranslationException e) {
                    addWarning(artifact, // $NON-NLS-1$
                    Messages.getString("invalid.source.pom", e.getMessage()));
                    result = false;
                }
            }
        }
    } else {
        // $NON-NLS-1$
        addWarning(artifact, Messages.getString("warning.missing.pom"));
    }
    return result;
}
Also used : Path(java.nio.file.Path) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository) IOException(java.io.IOException) Artifact(org.apache.maven.artifact.Artifact) StringWriter(java.io.StringWriter) StringReader(java.io.StringReader) Model(org.apache.maven.model.Model) XmlPullParserException(org.codehaus.plexus.util.xml.pull.XmlPullParserException) PomTranslationException(org.apache.maven.model.converter.PomTranslationException) MavenXpp3Writer(org.apache.maven.model.io.xpp3.MavenXpp3Writer)

Example 14 with ArtifactRepository

use of org.apache.maven.artifact.repository.ArtifactRepository in project archiva by apache.

the class LegacyToDefaultConverter method validateMetadata.

private boolean validateMetadata(Artifact artifact) throws ArtifactConversionException {
    ArtifactRepository repository = artifact.getRepository();
    boolean result = true;
    RepositoryMetadata repositoryMetadata = new ArtifactRepositoryMetadata(artifact);
    Path file = Paths.get(repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata(repositoryMetadata));
    if (Files.exists(file)) {
        Metadata metadata = readMetadata(file);
        result = validateMetadata(metadata, repositoryMetadata, artifact);
    }
    repositoryMetadata = new SnapshotArtifactRepositoryMetadata(artifact);
    file = Paths.get(repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata(repositoryMetadata));
    if (Files.exists(file)) {
        Metadata metadata = readMetadata(file);
        result = result && validateMetadata(metadata, repositoryMetadata, artifact);
    }
    return result;
}
Also used : Path(java.nio.file.Path) ArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata) RepositoryMetadata(org.apache.maven.artifact.repository.metadata.RepositoryMetadata) SnapshotArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata) ArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata) RepositoryMetadata(org.apache.maven.artifact.repository.metadata.RepositoryMetadata) Metadata(org.apache.maven.artifact.repository.metadata.Metadata) SnapshotArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata) SnapshotArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository) ArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata) SnapshotArtifactRepositoryMetadata(org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata)

Example 15 with ArtifactRepository

use of org.apache.maven.artifact.repository.ArtifactRepository in project archiva by apache.

the class DefaultLegacyRepositoryConverter method convertLegacyRepository.

@Override
public void convertLegacyRepository(Path legacyRepositoryDirectory, Path repositoryDirectory, List<String> fileExclusionPatterns) throws RepositoryConversionException {
    try {
        String defaultRepositoryUrl = PathUtil.toUrl(repositoryDirectory);
        BasicManagedRepository legacyRepository = new BasicManagedRepository("legacy", "Legacy Repository", repositoryDirectory.getParent());
        legacyRepository.setLocation(legacyRepositoryDirectory.toAbsolutePath().toUri());
        legacyRepository.setLayout("legacy");
        ArtifactRepository repository = artifactRepositoryFactory.createArtifactRepository("default", defaultRepositoryUrl, defaultLayout, null, null);
        legacyConverterConsumer.setExcludes(fileExclusionPatterns);
        legacyConverterConsumer.setDestinationRepository(repository);
        List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>(1);
        knownConsumers.add(legacyConverterConsumer);
        List<InvalidRepositoryContentConsumer> invalidConsumers = Collections.emptyList();
        List<String> ignoredContent = new ArrayList<String>(Arrays.asList(RepositoryScanner.IGNORABLE_CONTENT));
        repoScanner.scan(legacyRepository, knownConsumers, invalidConsumers, ignoredContent, RepositoryScanner.FRESH_SCAN);
    } catch (RepositoryScannerException e) {
        throw new RepositoryConversionException("Error convering legacy repository.", e);
    }
}
Also used : BasicManagedRepository(org.apache.archiva.repository.BasicManagedRepository) KnownRepositoryContentConsumer(org.apache.archiva.consumers.KnownRepositoryContentConsumer) ArrayList(java.util.ArrayList) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository) RepositoryScannerException(org.apache.archiva.repository.scanner.RepositoryScannerException) RepositoryConversionException(org.apache.archiva.converter.RepositoryConversionException) InvalidRepositoryContentConsumer(org.apache.archiva.consumers.InvalidRepositoryContentConsumer)

Aggregations

ArtifactRepository (org.apache.maven.artifact.repository.ArtifactRepository)108 File (java.io.File)46 Artifact (org.apache.maven.artifact.Artifact)26 MavenArtifactRepository (org.apache.maven.artifact.repository.MavenArtifactRepository)26 ArrayList (java.util.ArrayList)23 MavenProject (org.apache.maven.project.MavenProject)20 ArtifactRepositoryPolicy (org.apache.maven.artifact.repository.ArtifactRepositoryPolicy)17 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)15 IOException (java.io.IOException)13 DefaultRepositoryLayout (org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout)13 DefaultArtifact (org.apache.maven.artifact.DefaultArtifact)11 Properties (java.util.Properties)10 InvalidRepositoryException (org.apache.maven.artifact.InvalidRepositoryException)9 DefaultArtifactRepository (org.apache.maven.artifact.repository.DefaultArtifactRepository)9 Model (org.apache.maven.model.Model)9 DefaultArtifactHandler (org.apache.maven.artifact.handler.DefaultArtifactHandler)8 MojoFailureException (org.apache.maven.plugin.MojoFailureException)8 DefaultProjectBuildingRequest (org.apache.maven.project.DefaultProjectBuildingRequest)8 ProjectBuildingRequest (org.apache.maven.project.ProjectBuildingRequest)8 MavenProjectResourcesStub (org.apache.maven.plugin.resources.remote.stub.MavenProjectResourcesStub)7