use of org.eclipse.aether.repository.RemoteRepository in project kie-soup by kiegroup.
the class MavenRepositoryTest method testProxy.
@Test
public void testProxy() {
MavenRepositoryMock.setCustomSettingsFileName("settings_custom.xml");
final MavenRepository repo = new MavenRepositoryMock(Aether.getAether());
final Collection<RemoteRepository> remoteRepos = repo.getRemoteRepositoriesForRequest();
final Set<RemoteRepository> testServerRepos = remoteRepos.stream().filter(r -> r.getId().equals("test-server")).collect(Collectors.toSet());
assertEquals(2, testServerRepos.size());
for (RemoteRepository remoteRepository : testServerRepos) {
assertNotNull(remoteRepository.getProxy());
}
}
use of org.eclipse.aether.repository.RemoteRepository in project kie-soup by kiegroup.
the class MavenRepository method getArtifactDependecies.
public List<DependencyDescriptor> getArtifactDependecies(String artifactName) {
Artifact artifact = new DefaultArtifact(artifactName);
CollectRequest collectRequest = new CollectRequest();
Dependency root = new Dependency(artifact, "");
collectRequest.setRoot(root);
for (RemoteRepository repo : remoteRepositoriesForRequest) {
collectRequest.addRepository(repo);
}
CollectResult collectResult;
try {
collectResult = aether.getSystem().collectDependencies(aether.getSession(), collectRequest);
} catch (DependencyCollectionException e) {
throw new RuntimeException(e);
}
CollectDependencyVisitor visitor = new CollectDependencyVisitor();
collectResult.getRoot().accept(visitor);
List<DependencyDescriptor> descriptors = new ArrayList<DependencyDescriptor>();
for (DependencyNode node : visitor.getDependencies()) {
// skip root to not add artifact as dependency
if (node.getDependency().equals(root)) {
continue;
}
descriptors.add(new DependencyDescriptor(node.getDependency().getArtifact()));
}
return descriptors;
}
use of org.eclipse.aether.repository.RemoteRepository in project kie-soup by kiegroup.
the class MavenRepository method resolveVersion.
public Version resolveVersion(String artifactName) {
Artifact artifact = new DefaultArtifact(artifactName);
VersionRangeRequest versionRequest = new VersionRangeRequest();
versionRequest.setArtifact(artifact);
for (RemoteRepository repo : remoteRepositoriesForRequest) {
versionRequest.addRepository(repo);
}
try {
VersionRangeResult versionRangeResult = aether.getSystem().resolveVersionRange(aether.getSession(), versionRequest);
return versionRangeResult.getHighestVersion();
} catch (VersionRangeResolutionException e) {
if (log.isDebugEnabled()) {
log.debug("Unable to resolve version range for artifact: " + artifactName, e);
} else {
log.warn("Unable to resolve version range for artifact: " + artifactName);
}
return null;
}
}
use of org.eclipse.aether.repository.RemoteRepository in project kie-soup by kiegroup.
the class Aether method newLocalRepository.
private RemoteRepository newLocalRepository() {
File m2RepoDir = new File(localRepoDir);
try {
if (!m2RepoDir.exists()) {
log.info("The local repository directory " + localRepoDir + " doesn't exist. Creating it.");
m2RepoDir.mkdirs();
}
String localRepositoryUrl = m2RepoDir.toURI().toURL().toExternalForm();
return new RemoteRepository.Builder("local", "default", localRepositoryUrl).build();
} catch (Exception e) {
try {
log.warn("Cannot use directory " + localRepoDir + " as local repository.", e);
localRepoDir = IoUtils.getTmpDirectory().getAbsolutePath();
log.warn("Using the temporary directory " + localRepoDir + " as local repository");
m2RepoDir = new File(localRepoDir);
String localRepositoryUrl = m2RepoDir.toURI().toURL().toExternalForm();
return new RemoteRepository.Builder("local", "default", localRepositoryUrl).build();
} catch (Exception e1) {
log.warn("Cannot create a local repository in " + localRepoDir, e1);
}
}
return null;
}
use of org.eclipse.aether.repository.RemoteRepository in project maven by apache.
the class DefaultArtifactDeployer method deploy.
public void deploy(File source, Artifact artifact, ArtifactRepository deploymentRepository, ArtifactRepository localRepository) throws ArtifactDeploymentException {
RepositorySystemSession session = LegacyLocalRepositoryManager.overlay(localRepository, legacySupport.getRepositorySession(), repoSystem);
DeployRequest request = new DeployRequest();
request.setTrace(RequestTrace.newChild(null, legacySupport.getSession().getCurrentProject()));
org.eclipse.aether.artifact.Artifact mainArtifact = RepositoryUtils.toArtifact(artifact);
mainArtifact = mainArtifact.setFile(source);
request.addArtifact(mainArtifact);
String versionKey = artifact.getGroupId() + ':' + artifact.getArtifactId();
String snapshotKey = null;
if (artifact.isSnapshot()) {
snapshotKey = versionKey + ':' + artifact.getBaseVersion();
request.addMetadata(relatedMetadata.get(snapshotKey));
}
request.addMetadata(relatedMetadata.get(versionKey));
for (ArtifactMetadata metadata : artifact.getMetadataList()) {
if (metadata instanceof ProjectArtifactMetadata) {
org.eclipse.aether.artifact.Artifact pomArtifact = new SubArtifact(mainArtifact, "", "pom");
pomArtifact = pomArtifact.setFile(((ProjectArtifactMetadata) metadata).getFile());
request.addArtifact(pomArtifact);
} else if (metadata instanceof SnapshotArtifactRepositoryMetadata || metadata instanceof ArtifactRepositoryMetadata) {
// eaten, handled by repo system
} else {
request.addMetadata(new MetadataBridge(metadata));
}
}
RemoteRepository remoteRepo = RepositoryUtils.toRepo(deploymentRepository);
/*
* NOTE: This provides backward-compat with maven-deploy-plugin:2.4 which bypasses the repository factory when
* using an alternative deployment location.
*/
if (deploymentRepository instanceof DefaultArtifactRepository && deploymentRepository.getAuthentication() == null) {
RemoteRepository.Builder builder = new RemoteRepository.Builder(remoteRepo);
builder.setAuthentication(session.getAuthenticationSelector().getAuthentication(remoteRepo));
builder.setProxy(session.getProxySelector().getProxy(remoteRepo));
remoteRepo = builder.build();
}
request.setRepository(remoteRepo);
DeployResult result;
try {
result = repoSystem.deploy(session, request);
} catch (DeploymentException e) {
throw new ArtifactDeploymentException(e.getMessage(), e);
}
for (Object metadata : result.getMetadata()) {
if (metadata.getClass().getName().endsWith(".internal.VersionsMetadata")) {
relatedMetadata.put(versionKey, (MergeableMetadata) metadata);
}
if (snapshotKey != null && metadata.getClass().getName().endsWith(".internal.RemoteSnapshotMetadata")) {
relatedMetadata.put(snapshotKey, (MergeableMetadata) metadata);
}
}
artifact.setResolvedVersion(result.getArtifacts().iterator().next().getVersion());
}
Aggregations