java setroot()_Java DependencyRequest.setRoot方法代码示例

import org.eclipse.aether.resolution.DependencyRequest; //导入方法依赖的package包/类

/**

* Returns a filtered list of artifacts that the given (unresolved) artifact has as dependencies.

*

*

The first artifact is converted into the root dependency that is passed to

* {@link CollectRequest#CollectRequest(Dependency, List, List)}. The root dependency is used, among other things,

* to determine the managed dependencies. In other words, {@code unresolvedArtifacts} should not be treated as set,

* the order (and in particular, which element comes first) is significant.

*

* @param dependencyFilter filter for nodes in the dependency graph; may be null

* @param unresolvedArtifacts the artifacts that should be resolved, including their version-managed and merged

* transitive dependencies

* @param scope Scope of root node in the dependency graph. If {@code dependencyFilter} filters on the scope, then

* this should match the requested scope. Otherwise, this parameter will not have an effect. May be

* {@code null}.

* @return List of artifacts that the given (unresolved) artifact has as dependencies. The list only contains the

* artifacts of {@link DependencyNode} instances for that {@code dependencyFilter} returns {@code true}.

* Note that the returned list is inclusive of {@code unresolvedArtifact}.

* @throws NullPointerException if {@code unresolvedArtifact} is {@code null}

* @throws RepositoryException if one or more artifacts cannot be resolved

*/

public List resolveArtifacts(@Nullable DependencyFilter dependencyFilter,

List unresolvedArtifacts, @Nullable String scope) throws RepositoryException {

List dependencies = unresolvedArtifacts.stream()

.map(unresolved -> new Dependency(unresolved, scope))

.collect(Collectors.toList());

if (dependencies.isEmpty()) {

return Collections.emptyList();

}

CollectRequest collectRequest

= new CollectRequest(dependencies.get(0), dependencies.subList(1, dependencies.size()), remoteRepositories);

DependencyNode node = repositorySystem

.collectDependencies(repositorySystemSession, collectRequest)

.getRoot();

DependencyRequest dependencyRequest = new DependencyRequest();

dependencyRequest.setRoot(node);

// setFilter() allows null arguments.

dependencyRequest.setFilter(dependencyFilter);

repositorySystem.resolveDependencies(repositorySystemSession, dependencyRequest);

PreorderNodeListGenerator nodeListGenerator = new PreorderNodeListGenerator();

node.accept(nodeListGenerator);

return nodeListGenerator.getArtifacts(false);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值