本文整理汇总了Java中org.sonatype.aether.resolution.DependencyRequest类的典型用法代码示例。如果您正苦于以下问题:Java DependencyRequest类的具体用法?Java DependencyRequest怎么用?Java DependencyRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DependencyRequest类属于org.sonatype.aether.resolution包,在下文中一共展示了DependencyRequest类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getArtifactsWithDep
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
/**
*
* @param dependency
* @param excludes list of pattern can either be of the form groupId:artifactId
* @return
* @throws Exception
*/
public List<ArtifactResult> getArtifactsWithDep(String dependency,
Collection<String> excludes) throws Exception {
Artifact artifact = new DefaultArtifact(inferScalaVersion(dependency));
DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter( JavaScopes.COMPILE );
PatternExclusionsDependencyFilter exclusionFilter =
new PatternExclusionsDependencyFilter(inferScalaVersion(excludes));
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
synchronized (repos) {
for (RemoteRepository repo : repos) {
collectRequest.addRepository(repo);
}
}
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest,
DependencyFilterUtils.andFilter(exclusionFilter, classpathFlter));
return system.resolveDependencies(session, dependencyRequest).getArtifactResults();
}
示例2: fetchArtifactWithDep
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
private List<ArtifactResult> fetchArtifactWithDep(Dependency dep)
throws DependencyResolutionException, ArtifactResolutionException {
Artifact artifact = new DefaultArtifact(dep.getGroupArtifactVersion());
DependencyFilter classpathFilter = DependencyFilterUtils
.classpathFilter(JavaScopes.COMPILE);
PatternExclusionsDependencyFilter exclusionFilter = new PatternExclusionsDependencyFilter(
dep.getExclusions());
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new org.sonatype.aether.graph.Dependency(artifact,
JavaScopes.COMPILE));
collectRequest.addRepository(mavenCentral);
collectRequest.addRepository(mavenLocal);
for (Repository repo : repositories) {
RemoteRepository rr = new RemoteRepository(repo.getId(), "default", repo.getUrl());
rr.setPolicy(repo.isSnapshot(), null);
collectRequest.addRepository(rr);
}
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest,
DependencyFilterUtils.andFilter(exclusionFilter, classpathFilter));
return system.resolveDependencies(session, dependencyRequest).getArtifactResults();
}
示例3: getArtifactsWithDep
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
/**
* @param dependency
* @param excludes list of pattern can either be of the form groupId:artifactId
* @return
* @throws Exception
*/
@Override
public List<ArtifactResult> getArtifactsWithDep(String dependency,
Collection<String> excludes) throws RepositoryException {
Artifact artifact = new DefaultArtifact(dependency);
DependencyFilter classpathFilter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
PatternExclusionsDependencyFilter exclusionFilter =
new PatternExclusionsDependencyFilter(excludes);
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
synchronized (repos) {
for (RemoteRepository repo : repos) {
collectRequest.addRepository(repo);
}
}
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest,
DependencyFilterUtils.andFilter(exclusionFilter, classpathFilter));
try {
return system.resolveDependencies(session, dependencyRequest).getArtifactResults();
} catch (NullPointerException | DependencyResolutionException ex) {
throw new RepositoryException(
String.format("Cannot fetch dependencies for %s", dependency), ex);
}
}
示例4: getArtifactsWithDep
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
/**
* @param dependency
* @param excludes list of pattern can either be of the form groupId:artifactId
* @return
* @throws Exception
*/
@Override
public List<ArtifactResult> getArtifactsWithDep(String dependency,
Collection<String> excludes) throws Exception {
Artifact artifact = new DefaultArtifact(inferScalaVersion(dependency));
DependencyFilter classpathFilter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
PatternExclusionsDependencyFilter exclusionFilter =
new PatternExclusionsDependencyFilter(inferScalaVersion(excludes));
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
synchronized (repos) {
for (RemoteRepository repo : repos) {
collectRequest.addRepository(repo);
}
}
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest,
DependencyFilterUtils.andFilter(exclusionFilter, classpathFilter));
return system.resolveDependencies(session, dependencyRequest).getArtifactResults();
}
示例5: resolveArtifacts
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
private List<Artifact> resolveArtifacts(DependencyRequest dependencyRequest)
{
DependencyResult dependencyResult;
try {
dependencyResult = repositorySystem.resolveDependencies(repositorySystemSession, dependencyRequest);
}
catch (DependencyResolutionException e) {
dependencyResult = e.getResult();
}
List<ArtifactResult> artifactResults = dependencyResult.getArtifactResults();
List<Artifact> artifacts = new ArrayList<>(artifactResults.size());
for (ArtifactResult artifactResult : artifactResults) {
if (artifactResult.isMissing()) {
artifacts.add(artifactResult.getRequest().getArtifact());
}
else {
artifacts.add(artifactResult.getArtifact());
}
}
return Collections.unmodifiableList(artifacts);
}
示例6: resolve
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
/**
* List of transitive dependencies of the artifact.
* @param root The artifact to work with
* @param scope The scope to work with ("runtime", "test", etc.)
* @param filter The dependency filter to work with
* @return The list of dependencies
* @throws DependencyResolutionException If can't fetch it
*/
public List<Artifact> resolve(final Artifact root,
final String scope, final DependencyFilter filter)
throws DependencyResolutionException {
final List<Artifact> deps = new LinkedList<Artifact>();
final RepositorySystem system = new RepositorySystemBuilder().build();
deps.addAll(
this.fetch(
system,
this.session(system),
new DependencyRequest(
this.request(new Dependency(root, scope)),
filter
)
)
);
return deps;
}
示例7: fetch
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
/**
* Fetch dependencies.
* Catch of NPE is required because sonatype even when it can't resolve
* given artifact tries to get its root and execute a method on it,
* which is not possible and results in NPE. Moreover sonatype library
* is not developed since 2011 so this bug won't be fixed.
* @param system The repository system
* @param session The session
* @param dreq Dependency request
* @return The list of dependencies
* @throws DependencyResolutionException If can't fetch it
*/
@SuppressWarnings("PMD.AvoidCatchingGenericException")
private List<Artifact> fetch(final RepositorySystem system,
final RepositorySystemSession session, final DependencyRequest dreq)
throws DependencyResolutionException {
final List<Artifact> deps = new LinkedList<Artifact>();
try {
Collection<ArtifactResult> results;
synchronized (this.lrepo) {
results = system.resolveDependencies(session, dreq)
.getArtifactResults();
}
for (final ArtifactResult res : results) {
deps.add(res.getArtifact());
}
// @checkstyle IllegalCatch (1 line)
} catch (final Exception ex) {
throw new DependencyResolutionException(
new DependencyResult(dreq),
new IllegalArgumentException(
Logger.format(
"failed to load '%s' from %[list]s into %s",
dreq.getCollectRequest().getRoot(),
Aether.reps(dreq.getCollectRequest().getRepositories()),
session.getLocalRepositoryManager()
.getRepository()
.getBasedir()
),
ex
)
);
}
return deps;
}
示例8: collectDependenciesIntoArtifacts
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
private List<Artifact> collectDependenciesIntoArtifacts(CollectRequest collectRequest)
throws PlexusContainerException, ComponentLookupException, DependencyCollectionException, ArtifactResolutionException, DependencyResolutionException {
RepositorySystem repositorySystem = newRepositorySystem();
RepositorySystemSession session = newSession(repositorySystem);
DependencyNode node = repositorySystem.collectDependencies(session, collectRequest).getRoot();
DependencyFilter filter = new ScopeDependencyFilter();
DependencyRequest request = new DependencyRequest(node, filter);
repositorySystem.resolveDependencies(session, request);
// PathRecordingDependencyVisitor will give every path, which may help in building a hierarchical class loader
PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
node.accept(nlg);
return nlg.getArtifacts(false);
}
示例9: main
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
public static void main( String[] args )
throws Exception
{
System.out.println( "------------------------------------------------------------" );
System.out.println( ResolveTest.class.getSimpleName() );
RepositorySystem system = Maven.repositorySystem();
RepositorySystemSession session = Maven.repositorySystemSession(system);
Artifact artifact = new DefaultArtifact( "org.springframework:spring-orm:2.5.6" );
Artifact artifact2 = new DefaultArtifact("org.springframework:spring-webmvc:3.2.2.RELEASE");
RemoteRepository repo = Maven.central();
DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter( JavaScopes.COMPILE );
CollectRequest collectRequest = new CollectRequest();
//collectRequest.setRoot( new Dependency( artifact, JavaScopes.COMPILE ) );
collectRequest.addDependency(new Dependency(artifact, JavaScopes.COMPILE));
collectRequest.addDependency(new Dependency(artifact2, JavaScopes.COMPILE));
collectRequest.addRepository( repo );
DependencyRequest dependencyRequest = new DependencyRequest( collectRequest, classpathFlter );
DependencyResult result = system.resolveDependencies( session, dependencyRequest );
//List<ArtifactResult> artifactResults = result.getArtifactResults();
//System.out.println(result.getRoot().getClass());
//System.out.println(result.getRoot().getDependency());
//result.getRoot().accept(new TreePrinter());
//PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
//result.getRoot().accept(nlg);
//System.out.println(nlg.getArtifacts(false));
//for ( ArtifactResult artifactResult : artifactResults )
//{
// System.out.println( artifactResult.getArtifact() + " resolved to " + artifactResult.getArtifact().getFile() );
//}
//new NearestVersionConflictResolver().transformGraph(result.getRoot(), new MyDependencyGraphTransformationContext(session)).accept(new TreePrinter());
new VersionResolver().resolve(result.getRoot());
}
示例10: getClasspathFromMavenProject
import org.sonatype.aether.resolution.DependencyRequest; //导入依赖的package包/类
public static List<String> getClasspathFromMavenProject(File projectPom, File localRepoFolder, boolean isRunwayEnvironment) throws DependencyResolutionException, IOException, XmlPullParserException
{
MavenProject proj = loadProject(projectPom);
PropertyReplacer propReplacer = new PropertyReplacer(proj);
List<Repository> repos = proj.getRepositories();
List<String> classpath = new ArrayList<String>();
RepositorySystem system = Booter.newRepositorySystem();
RepositorySystemSession session = Booter.newRepositorySystemSession( system, localRepoFolder );
RemoteRepository centralRepo = Booter.newCentralRepository();
DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter( JavaScopes.COMPILE );
List<org.apache.maven.model.Dependency> dependencies = proj.getDependencies();
Iterator<org.apache.maven.model.Dependency> it = dependencies.iterator();
while (it.hasNext()) {
org.apache.maven.model.Dependency depend = it.next();
Artifact artifact = new DefaultArtifact(propReplacer.replace(depend.getGroupId()), propReplacer.replace(depend.getArtifactId()), propReplacer.replace(depend.getClassifier()), propReplacer.replace(depend.getType()), propReplacer.replace(depend.getVersion()));
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot( new Dependency( artifact, JavaScopes.COMPILE ) );
collectRequest.addRepository( centralRepo );
for (Repository repo : repos) {
collectRequest.addRepository(new RemoteRepository(propReplacer.replace(repo.getId()), propReplacer.replace(repo.getLayout()), propReplacer.replace(repo.getUrl())));
}
try {
DependencyRequest dependencyRequest = new DependencyRequest( collectRequest, classpathFlter );
List<ArtifactResult> artifactResults =
system.resolveDependencies( session, dependencyRequest ).getArtifactResults();
for ( ArtifactResult artifactResult : artifactResults )
{
Artifact art = artifactResult.getArtifact();
if (isRunwayEnvironment && art.getGroupId().equals("com.runwaysdk") && (
art.getArtifactId().equals("runwaysdk-client") ||
art.getArtifactId().equals("runwaysdk-common") ||
art.getArtifactId().equals("runwaysdk-server")
)) {
continue;
}
classpath.add(art.getFile().getAbsolutePath());
}
}
catch (DependencyResolutionException e) {
// Is Maven ignoring this? I'm confused.
log.error(e);
e.printStackTrace();
}
}
if (log.isTraceEnabled()) {
String cpath = "";
for (Iterator<String> i = classpath.iterator(); i.hasNext();) {
cpath = cpath + ", " + i.next();
}
log.trace("Resolved pom [" + projectPom.getAbsolutePath() + "] classpath to [" + cpath + "]");
}
return classpath;
}