public ModelSource resolveModel( String groupId, String artifactId, String version ) throws UnresolvableModelException { File pomFile = null; if ( modelPool != null ) { pomFile = modelPool.get( groupId, artifactId, version ); } if ( pomFile == null ) { Artifact pomArtifact = new DefaultArtifact( groupId, artifactId, "", "pom", version ); try { ArtifactRequest request = new ArtifactRequest( pomArtifact, repositories, context ); request.setTrace( trace ); pomArtifact = resolver.resolveArtifact( session, request ).getArtifact(); } catch ( ArtifactResolutionException e ) { throw new UnresolvableModelException( e.getMessage(), groupId, artifactId, version, e ); } pomFile = pomArtifact.getFile(); } return new FileModelSource( pomFile ); }
int i = 0; for (final String coordinate : hadoopDependencyCoordinates) { final DefaultArtifact artifact = new DefaultArtifact(coordinate); final File hadoopDependencyDir = new File(rootHadoopDependenciesDir, artifact.getArtifactId()); final File versionDir = new File(hadoopDependencyDir, artifact.getVersion());
public Path getVersionPom(String version) throws ArtifactResolutionException { Artifact pomArtifact = new DefaultArtifact(groupId, artifactId, "pom", version.toString()); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(pomArtifact); request.setRepositories(mavenPluginRepository.getRepositories()); ArtifactResult resolveArtifact = mavenPluginRepository.getSystem().resolveArtifact(mavenPluginRepository.getSession(), request); return resolveArtifact.getArtifact().getFile().toPath(); }
private MavenPluginVersion createMavenVersion(Version version) throws ArtifactDescriptorException, FileNotFoundException, IOException, ArtifactResolutionException, XmlPullParserException { ArtifactDescriptorRequest descriptorRequest = new ArtifactDescriptorRequest(); Artifact versionArtifact = new DefaultArtifact(groupId, artifactId, "pom", version.toString()); descriptorResult = mavenPluginRepository.getSystem().readArtifactDescriptor(mavenPluginRepository.getSession(), descriptorRequest); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(descriptorResult.getArtifact()); request.setRepositories(mavenPluginRepository.getRepositories()); ArtifactResult resolveArtifact = mavenPluginRepository.getSystem().resolveArtifact(mavenPluginRepository.getSession(), request); File pomFile = resolveArtifact.getArtifact().getFile(); MavenXpp3Reader mavenreader = new MavenXpp3Reader(); DefaultArtifactVersion artifactVersion = new DefaultArtifactVersion(dependency.getArtifact().getVersion()); mavenPluginVersion.addDependency(new MavenDependency(dependency.getArtifact(), artifactVersion));
continue; Dependency dependency2 = new Dependency(new DefaultArtifact(depend.getGroupId() + ":" + depend.getArtifactId() + ":jar:" + depend.getVersion()), "compile"); DelegatingClassLoader depDelLoader = new DelegatingClassLoader(previous); request.setRepositories(mavenPluginRepository.getLocalRepositories()); try { ArtifactResult resolveArtifact = mavenPluginRepository.getSystem().resolveArtifact(mavenPluginRepository.getSession(), request); if (resolveArtifact.getArtifact().getFile() != null) { bimServerDependencies.add(new org.bimserver.plugins.Dependency(resolveArtifact.getArtifact().getFile().toPath())); descriptorRequest.setArtifact(dependency2.getArtifact()); descriptorRequest.setRepositories(mavenPluginRepository.getRepositories()); ArtifactDescriptorResult descriptorResult = mavenPluginRepository.getSystem().readArtifactDescriptor(mavenPluginRepository.getSession(), descriptorRequest); Artifact versionArtifact = new DefaultArtifact(artifact.getGroupId(), artifact.getArtifactId(), "pom", artifact.getVersion()); ArtifactRequest request = new ArtifactRequest();
/** * Resolves the rootArtifact {@value #JAR_EXTENSION} output {@link File}s to be added to class loader. * * @param rootArtifact {@link Artifact} being classified * @return {@link File} to be added to class loader */ private File resolveRootArtifactFile(Artifact rootArtifact) { final DefaultArtifact jarArtifact = new DefaultArtifact(rootArtifact.getGroupId(), rootArtifact.getArtifactId(), JAR_EXTENSION, JAR_EXTENSION, rootArtifact.getVersion()); try { return dependencyResolver.resolveArtifact(jarArtifact).getArtifact().getFile(); } catch (ArtifactResolutionException e) { logger.warn("'{}' rootArtifact output {} file couldn't be resolved", rootArtifact, JAR_EXTENSION); return null; } }
public List<File> createMavenGavRecursiveFiles(String artifactGav, String... excludes) throws MalformedURLException, DependencyCollectionException, DependencyResolutionException { Artifact artifact = new DefaultArtifact(artifactGav); if (artifact.getVersion() == null) { throw new IllegalArgumentException("Null version"); versionScheme.parseVersion(artifact.getVersion()); } catch (InvalidVersionSpecificationException e) { throw new IllegalArgumentException(e); versionScheme.parseVersionRange(artifact.getVersion()); throw new IllegalArgumentException(artifact.getVersion() + " is a version range. A specific version is needed"); } catch (InvalidVersionSpecificationException expected) { artifactResult = REPOSITORY_SYSTEM.resolveArtifact(session, artifactRequest); } catch (ArtifactResolutionException e) { throw new RuntimeException(e); urls.add(artifactResult.getArtifact().getFile()); collectRequest.setRoot(new Dependency(artifact, "compile")); for (RemoteRepository remoteRepo : remoteRepositories) { collectRequest.addRepository(remoteRepo); DependencyNode node = REPOSITORY_SYSTEM.collectDependencies(session, collectRequest).getRoot(); DependencyFilter filter = new ExclusionsDependencyFilter(Arrays.asList(excludes)); DependencyRequest dependencyRequest = new DependencyRequest(node, filter); REPOSITORY_SYSTEM.resolveDependencies(session, dependencyRequest);
Optional<String> classifier = artifactCoordsSplit.length > 2 ? of(artifactCoordsSplit[2]) : empty(); if (rootArtifact.getGroupId().equals(groupId) && rootArtifact.getArtifactId().equals(artifactId)) { logger.debug("'{}' artifact coordinates matched with rootArtifact '{}', resolving version from rootArtifact", artifactCoords, rootArtifact); final DefaultArtifact artifact = new DefaultArtifact(groupId, artifactId, JAR_EXTENSION, rootArtifact.getVersion()); logger.debug("'{}' artifact coordinates resolved to: '{}'", artifactCoords, artifact); return of(new Dependency(artifact, COMPILE));
/** * Parses dependency parameter and build {@link Dependency} object. * * @param dependency string representation of dependency parameter * @return Dependency object */ public static Dependency parseDependency(String dependency) { List<String> dependencyAndExclusions = Arrays.asList(dependency.split("\\^")); Collection<Exclusion> exclusions = new ArrayList<>(); for (int idx = 1 ; idx < dependencyAndExclusions.size() ; idx++) { exclusions.add(AetherUtils.createExclusion(dependencyAndExclusions.get(idx))); } Artifact artifact = new DefaultArtifact(dependencyAndExclusions.get(0)); return new Dependency(artifact, JavaScopes.COMPILE, false, exclusions); }
public static Artifact toPomArtifact( Artifact artifact ) { Artifact pomArtifact = artifact; if ( pomArtifact.getClassifier().length() > 0 || !"pom".equals( pomArtifact.getExtension() ) ) { pomArtifact = new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), "pom", artifact.getVersion() ); } return pomArtifact; }
public File createMavenGavFile(String artifactGav) throws MalformedURLException { Artifact artifact = new DefaultArtifact(artifactGav); if (artifact.getVersion() == null) { throw new IllegalArgumentException("Null version"); versionScheme.parseVersion(artifact.getVersion()); } catch (InvalidVersionSpecificationException e) { throw new IllegalArgumentException(e); versionScheme.parseVersionRange(artifact.getVersion()); throw new IllegalArgumentException(artifact.getVersion() + " is a version range. A specific version is needed"); } catch (InvalidVersionSpecificationException expected) { ArtifactRequest artifactRequest = new ArtifactRequest(); artifactRequest.setArtifact(artifact); for (RemoteRepository remoteRepo : remoteRepositories) { artifactRequest.addRepository(remoteRepo); artifactResult = REPOSITORY_SYSTEM.resolveArtifact(session, artifactRequest); } catch (ArtifactResolutionException e) { throw new RuntimeException(e); File file = artifactResult.getArtifact().getFile().getAbsoluteFile(); return file;
/** * this method resolves maven artifact from all configured repositories using the maven coordinates * * @param artifact - the maven coordinates of the artifact * @return {@link Optional} {@link File} pointing to the resolved artifact in local repository */ protected Optional<File> resolveArtifact(String artifact) { ArtifactRequest artifactRequest = new ArtifactRequest(); artifactRequest.setArtifact(new org.eclipse.aether.artifact.DefaultArtifact(artifact)); try { ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession, artifactRequest); if (artifactResult.isResolved()) { getLog().debug("Resolved :" + artifactResult.getArtifact().getArtifactId()); return Optional.of(artifactResult.getArtifact().getFile()); } else { getLog().error("Unable to resolve:" + artifact); } } catch (ArtifactResolutionException e) { getLog().error("Unable to resolve:" + artifact); } return Optional.empty(); }
private File resolve(final String group, final String artifact, final String version, final String classifier) { final DefaultArtifact art = new DefaultArtifact(group, artifact, classifier, "jar", version); final ArtifactRequest artifactRequest = new ArtifactRequest().setArtifact(art).setRepositories(remoteRepositories); final LocalRepositoryManager lrm = session.getLocalRepositoryManager(); art.setFile(new File(lrm.getRepository().getBasedir(), lrm.getPathForLocalArtifact(artifactRequest.getArtifact()))); try { final ArtifactResult result = repositorySystem.resolveArtifact(session, artifactRequest); if (result.isMissing()) { throw new IllegalStateException("Can't find commons-cli, please add it to the pom."); } return result.getArtifact().getFile(); } catch (final ArtifactResolutionException e) { throw new IllegalStateException(e.getMessage(), e); } }
exclusionsPatterns.add(rootArtifact.getGroupId() + MAVEN_COORDINATES_SEPARATOR + rootArtifact.getArtifactId() + MAVEN_COORDINATES_SEPARATOR + "*" + MAVEN_COORDINATES_SEPARATOR + "*" + MAVEN_COORDINATES_SEPARATOR + rootArtifact.getVersion()); if (toTransform.getScope().equals(TEST) && !MULE_PLUGIN_CLASSIFIER.equals(toTransform.getArtifact().getClassifier())) { if (TESTS_CLASSIFIER.equals(toTransform.getArtifact().getClassifier())) { return toTransform.setScope(COMPILE).setExclusions(singleton(new Exclusion("*", "*", "*", "*"))); TEST, directDependencies, managedDependencies); final Dependency rootTestDependency = new Dependency(new DefaultArtifact(rootArtifact.getGroupId(), rootArtifact.getArtifactId(), TESTS_CLASSIFIER, JAR_EXTENSION,
@Override public Path resolve(ArtifactCoords coords) throws ArtifactException { final ArtifactRequest request = new ArtifactRequest(); request.setArtifact(new DefaultArtifact(coords.getGroupId(), coords.getArtifactId(), coords.getClassifier(), coords.getExtension(), coords.getVersion())); final ArtifactResult result; try { result = repoSystem.resolveArtifact(session, request); } catch (org.eclipse.aether.resolution.ArtifactResolutionException e) { throw new ArtifactException(FpMavenErrors.artifactResolution(coords), e); } if (!result.isResolved()) { throw new ArtifactException(FpMavenErrors.artifactResolution(coords)); } if (result.isMissing()) { throw new ArtifactException(FpMavenErrors.artifactMissing(coords)); } return Paths.get(result.getArtifact().getFile().toURI()); }
/** * Provides the path to the form elements plug-in. Uses the Maven repository to obtain the plugin. * * @return the path to the form elements plug-in */ @Named("form-element-path.hpi") @Provides public File getFormElementsPathFile(RepositorySystem repositorySystem, RepositorySystemSession repositorySystemSession) { ArtifactResolverUtil resolverUtil = new ArtifactResolverUtil(repositorySystem, repositorySystemSession); String version = System.getenv("FORM_ELEMENT_PATH_VERSION"); version = version == null ? "1.8" : version; ArtifactResult resolvedArtifact = resolverUtil.resolve(new DefaultArtifact("org.jenkins-ci.plugins", "form-element-path", "hpi", version)); return resolvedArtifact.getArtifact().getFile(); }
public static void main( String[] args ) throws Exception { System.out.println( "------------------------------------------------------------" ); System.out.println( ResolveTransitiveDependencies.class.getSimpleName() ); RepositorySystem system = Booter.newRepositorySystem(); RepositorySystemSession session = Booter.newRepositorySystemSession( system ); Artifact artifact = new DefaultArtifact( "org.eclipse.aether:aether-impl:1.0.0.v20140518" ); DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter( JavaScopes.COMPILE ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( new Dependency( artifact, JavaScopes.COMPILE ) ); collectRequest.setRepositories( Booter.newRepositories( system, session ) ); DependencyRequest dependencyRequest = new DependencyRequest( collectRequest, classpathFlter ); List<ArtifactResult> artifactResults = system.resolveDependencies( session, dependencyRequest ).getArtifactResults(); for ( ArtifactResult artifactResult : artifactResults ) { System.out.println( artifactResult.getArtifact() + " resolved to " + artifactResult.getArtifact().getFile() ); } }
private void installDependency(String groupId, String artifactId, String version, RepositorySystemSession session) throws DependencyResolutionException{ logger.info("Installing and Loading Dependency : {} - {} - {} ", groupId , artifactId, version); Dependency dependency = new Dependency( new DefaultArtifact(groupId, artifactId, "", "jar", version ), "compile" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://central.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); system.resolveDependencies(session, dependencyRequest ).getRoot(); }
public List<Artifact> getDependencies(String groupId, String artifactId, String extension, String version) throws Exception { Artifact artifact = new DefaultArtifact(groupId, artifactId, extension, version); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency( artifact, "")); collectRequest.setRepositories(Collections.emptyList()); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE)); DependencyResult dependencyResult = system.resolveDependencies(session, dependencyRequest); List<Artifact> dependencies = new ArrayList<>(); for (ArtifactResult artifactResult : dependencyResult.getArtifactResults()) { if (!artifactResult.isResolved()) { throw new Exception("Could not resolve artifact " + artifactResult.getRequest().getArtifact()); } dependencies.add(artifactResult.getArtifact()); } return dependencies; }
private static boolean resolve(final RepositorySystemSession session, final Artifact artifact) { final ArtifactRequest artifactRequest = new ArtifactRequest(); final org.eclipse.aether.artifact.Artifact jarArtifact = new org.eclipse.aether.artifact.DefaultArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getClassifier(), "jar", artifact.getVersion()); artifactRequest.setArtifact(jarArtifact); try { ArtifactResult result = Aether.getAether().getSystem().resolveArtifact(session, artifactRequest); return result != null && result.isResolved(); } catch (final Exception are) { log.info(are.getMessage(), are); return false; } }