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