public Path findMavenArtifact( final Artifact artifact) throws MavenArtifactNotFoundException { final ArtifactResult result; try { result = this.repositorySystem.resolveArtifact( this.repositorySystemSession, new ArtifactRequest().setArtifact(artifact)); } catch (ArtifactResolutionException ex) { throw new MavenArtifactNotFoundException(artifact, this.givenLocalMavenRepositoryPath, this.absoluteLocalMavenRepositoryPath, ex); } return result.getArtifact().getFile().toPath(); }
public static RepositorySystemSession newRepositorySystemSession( RepositorySystem system, String localRepoPath) { DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); LocalRepository localRepo = new LocalRepository(new File(localRepoPath).getAbsolutePath()); session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); return session; }
&& session.getConfigProperties().get( DependencyManagerUtils.CONFIG_PROP_VERBOSE ) == null ) DefaultRepositorySystemSession verbose = new DefaultRepositorySystemSession( session ); verbose.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, Boolean.TRUE ); session = verbose; Collection<Exclusion> exclusions = dependency != null ? dependency.getExclusions() : null; org.eclipse.aether.graph.Dependency dep = RepositoryUtils.toDependency( artifact, exclusions ); if ( !JavaScopes.SYSTEM.equals( dep.getScope() ) && dep.getArtifact().getFile() != null ) art = art.setFile( null ).setVersion( art.getBaseVersion() ); dep = dep.setArtifact( art ); node = repoSystem.collectDependencies( session, collect ).getRoot(); result.setDependencyGraph( node ); process( result, repoSystem.resolveDependencies( session, depRequest ).getArtifactResults() );
DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session ); pluginSession.setArtifactDescriptorPolicy( new SimpleArtifactDescriptorPolicy( true, false ) ); ArtifactDescriptorResult result = repoSystem.readArtifactDescriptor( pluginSession, request ); if ( requiredMavenVersion != null ) Map<String, String> props = new LinkedHashMap<>( pluginArtifact.getProperties() ); props.put( "requiredMavenVersion", requiredMavenVersion ); pluginArtifact = pluginArtifact.setProperties( props ); ArtifactRequest request = new ArtifactRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT ); request.setTrace( trace ); pluginArtifact = repoSystem.resolveArtifact( session, request ).getArtifact();
ChainedDependencyGraphTransformer.newInstance( session.getDependencyGraphTransformer(), transformer ); DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session ); pluginSession.setDependencySelector( selector ); pluginSession.setDependencyGraphTransformer( transformer ); node = repoSystem.collectDependencies( pluginSession, request ).getRoot(); repoSystem.resolveDependencies( session, depRequest );
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));
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;
continue; 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 { ArtifactResult resolveArtifact = mavenPluginRepository.getSystem().resolveArtifact(mavenPluginRepository.getSession(), request); descriptorRequest.setArtifact(dependency2.getArtifact()); descriptorRequest.setRepositories(mavenPluginRepository.getRepositories()); ArtifactDescriptorResult descriptorResult = mavenPluginRepository.getSystem().readArtifactDescriptor(mavenPluginRepository.getSession(), descriptorRequest); collectRequest.setManagedDependencies(descriptorResult.getManagedDependencies()); collectRequest.setRepositories(descriptorResult.getRepositories()); DependencyNode node = mavenPluginRepository.getSystem().collectDependencies(mavenPluginRepository.getSession(), collectRequest).getRoot(); CollectResult collectResult = mavenPluginRepository.getSystem().collectDependencies(mavenPluginRepository.getSession(), collectRequest); mavenPluginRepository.getSystem().resolveDependencies(mavenPluginRepository.getSession(), dependencyRequest); } catch (DependencyResolutionException e) { ArtifactResult resolveArtifact = mavenPluginRepository.getSystem().resolveArtifact(mavenPluginRepository.getSession(), newRequest);
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 ); }
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 ) File pomFile = pomArtifact.getFile(); artifact.selectVersion( pomArtifact.getVersion() ); artifact.setFile( pomFile ); artifact.setResolved( true );
ArtifactRequest artifactRequest = new ArtifactRequest(); artifactRequest.setArtifact( RepositoryUtils.toArtifact( artifact ) ); artifactRequest.setRepositories( RepositoryUtils.toRepos( remoteRepositories ) ); String path = lrm.getPathForLocalArtifact( artifactRequest.getArtifact() ); artifact.setFile( new File( lrm.getRepository().getBasedir(), path ) ); result = repoSystem.resolveArtifact( session, artifactRequest ); artifact.selectVersion( result.getArtifact().getVersion() ); artifact.setFile( result.getArtifact().getFile() ); artifact.setResolved( true );
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; }
private void installArtifactLocally(final String groupId, final String artifactId, final String version) throws Exception { Artifact pomArtifact = new DefaultArtifact(groupId, artifactId, "pom", version); final Path pom = getPom(groupId, artifactId, version); pomArtifact = pomArtifact.setFile(pom.toFile()); final InstallRequest installRequest = new InstallRequest(); installRequest.addArtifact(pomArtifact); final DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator(); RepositorySystem system = locator.getService(RepositorySystem.class); final DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); final LocalRepository localRepo = new LocalRepository(m2Folder); session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); system.install(session, installRequest); }
protected void uploadArtifact(String groupId, String artifactId, String version, String extension, String classifier, File artifactFile, String repositoryUrl) throws Exception { DefaultServiceLocator defaultServiceLocator = MavenRepositorySystemUtils.newServiceLocator(); defaultServiceLocator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class); defaultServiceLocator.addService(TransporterFactory.class, FileTransporterFactory.class); defaultServiceLocator.addService(TransporterFactory.class, HttpTransporterFactory.class); RepositorySystem repositorySystem = defaultServiceLocator.getService(RepositorySystem.class); DefaultRepositorySystemSession repositorySystemSession = MavenRepositorySystemUtils.newSession(); LocalRepository localRepository = new LocalRepository(System.getProperty("user.home") + "/.m2/repository"); LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager(repositorySystemSession, localRepository); repositorySystemSession.setLocalRepositoryManager(localRepositoryManager); repositorySystemSession.setTransferListener(new ConsoleTransferListener(System.out)); repositorySystemSession.setRepositoryListener(new ConsoleRepositoryListener(System.out)); RemoteRepository remoteRepository = new RemoteRepository.Builder("sdeployer", "default", repositoryUrl).build(); Artifact artifact; if (classifier != null) { artifact = new DefaultArtifact(groupId, artifactId, classifier, extension, version); } else { artifact = new DefaultArtifact(groupId, artifactId, extension, version); } artifact = artifact.setFile(artifactFile); InstallRequest installRequest = new InstallRequest(); installRequest.addArtifact(artifact); repositorySystem.install(repositorySystemSession, installRequest); DeployRequest deployRequest = new DeployRequest(); deployRequest.addArtifact(artifact); deployRequest.setRepository(remoteRepository); repositorySystem.deploy(repositorySystemSession, deployRequest); }
public static DefaultRepositorySystemSession newRepositorySystemSession(RepositorySystem system) { DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); LocalRepository localRepo = new LocalRepository("target/local-repo"); session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); session.setTransferListener(new ConsoleTransferListener()); session.setRepositoryListener(new ConsoleRepositoryListener()); // uncomment to generate dirty trees // session.setDependencyGraphTransformer( null ); return session; }
public static void main( String[] args ) throws Exception { RepositorySystem repoSystem = newRepositorySystem(); RepositorySystemSession session = newSession( repoSystem ); DefaultArtifact artifact = new DefaultArtifact( "org.apache.maven:maven-profile:2.2.1" ); Dependency dependency = new Dependency( artifact , "compile"); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://repo1.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyNode node = repoSystem.collectDependencies( session, collectRequest ).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot( node ); repoSystem.resolveDependencies( session, dependencyRequest ); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept( nlg ); System.out.println( nlg.getClassPath() ); }
public String getRepository(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.getRepository().toString(); }
final Artifact artifact = new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), "", "pom", dependency.getVersion() ); versionRangeRequest.setTrace( trace ); final VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest );
session.setCache( request.getRepositoryCache() ); configProps.putAll( request.getUserProperties() ); session.setOffline( request.isOffline() ); session.setChecksumPolicy( request.getGlobalChecksumPolicy() ); if ( request.isNoSnapshotUpdates() ) session.setArtifactTypeRegistry( RepositoryUtils.newArtifactTypeRegistry( artifactHandlerManager ) ); LocalRepository localRepo = new LocalRepository( request.getLocalRepository().getBasedir() ); session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) ); session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
/** * Deploys a file as artifact to a remote repository. * * @param spec <groupId>:<artifactId>[:<extension>[:<classifier>]]:<version> * @param file artifact file * @throws DeploymentException */ public void deploy(String spec, File file) throws DeploymentException { DeployRequest request = new DeployRequest(); Artifact artifact = new DefaultArtifact(spec); artifact.setFile(file); request.setArtifacts(ImmutableList.of(artifact)); repositorySystem.deploy(session, request); }