@Override public ModelSource resolveModel( String groupId, String artifactId, String version ) throws UnresolvableModelException { 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 ); } File pomFile = pomArtifact.getFile(); return new FileModelSource( pomFile ); }
private boolean attachedArtifactComparison( Artifact requested, Artifact attached ) { // // We are taking as much as we can from the DefaultArtifact.equals(). The requested artifact has no file so // we want to remove that from the comparison. // return requested.getArtifactId().equals( attached.getArtifactId() ) && requested.getGroupId().equals( attached.getGroupId() ) && requested.getVersion().equals( attached.getVersion() ) && requested.getExtension().equals( attached.getExtension() ) && requested.getClassifier().equals( attached.getClassifier() ); }
private static String getId( Artifact artifact ) { return getId( artifact.getGroupId(), artifact.getArtifactId(), artifact.getExtension(), artifact.getClassifier(), artifact.getBaseVersion() ); }
public static Object getKey( Artifact artifact ) { return artifact.getGroupId() + ':' + artifact.getArtifactId() + ':' + artifact.getBaseVersion(); }
public static Object getKey( Artifact artifact ) { return artifact.getGroupId() + ':' + artifact.getArtifactId(); }
public Path getVersionJar(String version) throws ArtifactResolutionException { Artifact versionArtifact = new DefaultArtifact(groupId, artifactId, "jar", version.toString()); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(versionArtifact); 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));
if (!dependency2.getArtifact().isSnapshot()) { if (dependency2.getArtifact().getFile() != null) { bimServerDependencies.add(new org.bimserver.plugins.Dependency(dependency2.getArtifact().getFile().toPath())); loadDependencies(dependency2.getArtifact().getFile().toPath(), depDelLoader); } else { ArtifactRequest request = new ArtifactRequest(); request.setArtifact(dependency2.getArtifact()); request.setRepositories(mavenPluginRepository.getRepositories()); 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())); loadDependencies(resolveArtifact.getArtifact().getFile().toPath(), depDelLoader); } else { if ((!"test".equals(dependency2.getScope()) && !dependency2.getArtifact().isSnapshot())) { 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())); loadDependencies(resolveArtifact.getArtifact().getFile().toPath(), depDelLoader); } else { Path jarFile = Paths.get(artifact.getFile().getAbsolutePath()); Artifact versionArtifact = new DefaultArtifact(artifact.getGroupId(), artifact.getArtifactId(), "pom", artifact.getVersion());
/** * 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); REPOSITORY_SYSTEM.resolveDependencies(session, dependencyRequest); node.accept(nlg); for (Artifact cur : nlg.getArtifacts(false)) { urls.add(cur.getFile());
public boolean accept( DependencyNode node, List<DependencyNode> parents ) { Dependency dependency = node.getDependency(); if ( dependency != null ) { org.eclipse.aether.artifact.Artifact a = dependency.getArtifact(); String key = ArtifactUtils.key( a.getGroupId(), a.getArtifactId(), a.getVersion() ); return !keys.contains( key ); } return false; }
ArtifactRequest pomRequest = new ArtifactRequest(); pomRequest.setArtifact( pomArtifact ); pomRequest.setRepositories( config.repositories ); ArtifactResult pomResult = repoSystem.resolveArtifact( config.session, pomRequest ); pomArtifact = pomResult.getArtifact(); localProject = pomResult.getRepository() instanceof WorkspaceRepository; if ( e.getResults().get( 0 ).isMissing() && allowStubModel ) "Error resolving project artifact: " + e.getMessage(), e ); File pomFile = pomArtifact.getFile(); artifact.selectVersion( pomArtifact.getVersion() ); artifact.setFile( pomFile ); artifact.setResolved( true );
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;
private Set<DependencyDescriptor> getDependencies(Artifact inputArtifact, Map<ArtifactIdentifier, String> assignedNamesByModule, Map<ArtifactIdentifier, Path> modularizedJars) throws MojoExecutionException { Set<DependencyDescriptor> dependencies = new LinkedHashSet<>(); for ( DependencyNode dependency : artifactResolutionHelper.getCompilationDependencies( inputArtifact ) ) { Artifact artifact = dependency.getDependency().getArtifact(); // use the version of the dependency as used within the current project's build, if present String versionFromProject = getVersionFromProject( artifact ); if ( versionFromProject != null ) { artifact = new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getClassifier(), artifact.getExtension(), versionFromProject ); } Artifact resolvedDependency = artifactResolutionHelper.resolveArtifact( artifact ); String assignedModuleName = getAssignedModuleName( assignedNamesByModule, new ArtifactIdentifier( resolvedDependency ) ); Path modularized = getModularizedJar( modularizedJars, new ArtifactIdentifier( resolvedDependency ) ); dependencies.add( new DependencyDescriptor( modularized != null ? modularized : resolvedDependency.getFile().toPath(), dependency.getDependency().isOptional(), assignedModuleName ) ); } return dependencies; }
ArtifactRequest artifactRequest = new ArtifactRequest(); artifactRequest.setArtifact( RepositoryUtils.toArtifact( artifact ) ); artifactRequest.setRepositories( RepositoryUtils.toRepos( remoteRepositories ) ); artifact.setFile( new File( lrm.getRepository().getBasedir(), path ) ); result = repoSystem.resolveArtifact( session, artifactRequest ); if ( e.getCause() instanceof org.eclipse.aether.transfer.ArtifactNotFoundException ) throw new ArtifactNotFoundException( e.getMessage(), artifact, remoteRepositories, e ); throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e ); artifact.selectVersion( result.getArtifact().getVersion() ); artifact.setFile( result.getArtifact().getFile() ); artifact.setResolved( true );
Artifact toArtifact(final ArtifactResult ar) { if (ar == null) return null; final Artifact artifact = new org.apache.maven.artifact.DefaultArtifact( ar.getArtifact().getGroupId(), ar.getArtifact().getArtifactId(), ar.getArtifact().getVersion(), null, "jar", ar.getArtifact().getClassifier(), null); if (ar.getRequest().getDependencyNode() != null && ar.getRequest().getDependencyNode().getDependency() != null) { artifact.setScope(ar.getRequest().getDependencyNode().getDependency().getScope()); artifact.setOptional(ar.getRequest().getDependencyNode().getDependency().isOptional()); } if (artifact.getScope() == null || artifact.getScope().isEmpty()) artifact.setScope("compile"); artifact.setFile(ar.getArtifact().getFile()); return artifact; }
public static Dependency convertToDependency(ResourceFactory factory, DependencyNode node) { org.eclipse.aether.graph.Dependency artifactDependency = node.getDependency(); Artifact artifact = artifactDependency.getArtifact(); File file = artifact.getFile(); @SuppressWarnings("unchecked") FileResource<?> artifactResource = factory.create(FileResource.class, file); Dependency d = DependencyBuilder.create().setArtifactId(artifact.getArtifactId()) .setGroupId(artifact.getGroupId()).setVersion(artifact.getBaseVersion()) .setPackaging(artifact.getExtension()).setArtifact(artifactResource) .setOptional(artifactDependency.isOptional()) .setClassifier(artifact.getClassifier()) .setScopeType(artifactDependency.getScope()); return d; }
public String getLatestVersionString() { Artifact lastArt = new DefaultArtifact(groupId, artifactId, "jar", "LATEST"); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(lastArt); request.setRepositories(mavenPluginRepository.getRepositories()); try { ArtifactResult resolveArtifact = mavenPluginRepository.getSystem().resolveArtifact(mavenPluginRepository.getSession(), request); return resolveArtifact.getArtifact().getVersion(); } catch (ArtifactResolutionException e1) { e1.printStackTrace(); } return null; }
public static org.apache.maven.artifact.Artifact toArtifact( Artifact artifact ) { if ( artifact == null ) { return null; } ArtifactHandler handler = newHandler( artifact ); /* * NOTE: From Artifact.hasClassifier(), an empty string and a null both denote "no classifier". However, some * plugins only check for null, so be sure to nullify an empty classifier. */ org.apache.maven.artifact.Artifact result = new org.apache.maven.artifact.DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), null, artifact.getProperty( ArtifactProperties.TYPE, artifact.getExtension() ), nullify( artifact.getClassifier() ), handler ); result.setFile( artifact.getFile() ); result.setResolved( artifact.getFile() != null ); List<String> trail = new ArrayList<>( 1 ); trail.add( result.getId() ); result.setDependencyTrail( trail ); return result; }
VersionResult versionResult = versionResolver.resolveVersion( session, versionRequest ); a = a.setVersion( versionResult.getVersion() ); versionResult = versionResolver.resolveVersion( session, versionRequest ); pomArtifact = pomArtifact.setVersion( versionResult.getVersion() ); if ( !visited.add( a.getGroupId() + ':' + a.getArtifactId() + ':' + a.getBaseVersion() ) ) new ArtifactRequest( pomArtifact, request.getRepositories(), request.getRequestContext() ); resolveRequest.setTrace( trace ); resolveResult = artifactResolver.resolveArtifact( session, resolveRequest ); pomArtifact = resolveResult.getArtifact(); result.setRepository( resolveResult.getRepository() ); if ( e.getCause() instanceof ArtifactNotFoundException ) missingDescriptor( session, trace, a, (Exception) e.getCause() ); if ( ( getPolicy( session, a, request ) & ArtifactDescriptorPolicy.IGNORE_MISSING ) != 0 ) versionRangeResolver, remoteRepositoryManager, request.getRepositories() ) ); if ( resolveResult.getRepository() instanceof WorkspaceRepository ) modelRequest.setPomFile( pomArtifact.getFile() ); modelRequest.setModelSource( new FileModelSource( pomArtifact.getFile() ) );