private Set<String> getCompileArtifactsForAgp2x() { Set<String> compileLibs = new HashSet<>(); Configuration configuration = project.getConfigurations().getByName("compile"); if (configuration.isCanBeResolved()) { ResolvableDependencies incoming = configuration.getIncoming(); ResolutionResult resolutionResult = incoming.getResolutionResult(); Set<ResolvedComponentResult> components = resolutionResult.getAllComponents(); for (ResolvedComponentResult result : components) { ModuleVersionIdentifier identifier = result.getModuleVersion(); if (identifier != null && !"unspecified".equals(identifier.getVersion())) { compileLibs.add( String.join(":", identifier.getGroup(), identifier.getName(), identifier.getVersion())); } } } return compileLibs; }
int indent) { ModuleVersionIdentifier moduleVersion = resolvedComponentResult.getModuleVersion(); if (configDependencies.getChecker().excluded(moduleVersion)) { return; List<JarInfo> nestedJars = Lists.newArrayList(); Set<? extends DependencyResult> dependencies = resolvedComponentResult.getDependencies(); for (DependencyResult dependencyResult : dependencies) { if (dependencyResult instanceof ResolvedDependencyResult) { ComponentIdentifier id = resolvedComponentResult.getId(); String gradlePath = (id instanceof ProjectComponentIdentifier) ? ((ProjectComponentIdentifier) id).getProjectPath() : null;
static Set<String> getResolvedModuleIdentifiers(Project project) { return project.getConfigurations().stream() .filter(Configuration::isCanBeResolved) .flatMap(configuration -> { try { ResolutionResult resolutionResult = configuration.getIncoming().getResolutionResult(); return resolutionResult .getAllComponents() .stream() .map(result -> result.getId()) .filter(cid -> !cid.equals(resolutionResult.getRoot().getId())) // remove the project .filter(cid -> cid instanceof ModuleComponentIdentifier) .map(mcid -> ((ModuleComponentIdentifier) mcid).getModuleIdentifier()) .map(mid -> mid.getGroup() + ":" + mid.getName()); } catch (Exception e) { throw new RuntimeException(String.format("Error during resolution of the dependency graph of " + "configuration %s", configuration), e); } }) .collect(Collectors.toSet()); } }
for (ResolvedComponentResult resolvedComponent : resolvedComponents) { if (!(resolvedComponent .getId() instanceof ProjectComponentIdentifier) && resolvedComponent .getModuleVersion().getGroup() != null && resolvedComponent.getModuleVersion() .getName() != null) { String id = resolvedComponent.getModuleVersion() .getGroup() + ":" + resolvedComponent.getModuleVersion().getName(); Exclusions exclusions = this.exclusionsCache.get(id); if (exclusions != null) { pomReferences.add(new PomReference(new Coordinates(resolvedComponent.getModuleVersion().getGroup(), resolvedComponent.getModuleVersion().getName(), resolvedComponent.getModuleVersion().getVersion())));
Set<ComponentIdentifier> seen, Set<ResolvedComponentResult> dependencies) { for (DependencyResult d : root.getDependencies()) { if (!(d instanceof ResolvedDependencyResult)) { throw new GradleException("Unresolved dependency found for " + d.toString()); ComponentIdentifier id = component.getId();
private Set<DependencyCandidate> determineIncludedComponents(ResolvedComponentResult root, Map<String, Exclusions> pomExclusionsById) { LinkedList<Node> queue = new LinkedList<Node>(); queue.add(new Node(root, getId(root), new HashSet<String>())); Set<ResolvedComponentResult> seen = new HashSet<ResolvedComponentResult>(); Set<DependencyCandidate> includedComponents = new HashSet<DependencyCandidate>(); while (!queue.isEmpty()) { Node node = queue.remove(); includedComponents.add(new DependencyCandidate(node.component.getModuleVersion() .getGroup(), node.component.getModuleVersion().getName())); for (DependencyResult dependency : node.component.getDependencies()) { if (dependency instanceof ResolvedDependencyResult) { handleResolvedDependency((ResolvedDependencyResult) dependency, node, pomExclusionsById, queue, seen); } else if (dependency instanceof UnresolvedDependencyResult) { handleUnresolvedDependency((UnresolvedDependencyResult) dependency, node, includedComponents); } } } return includedComponents; }
.getResolutionResult().getRoot().getDependencies();
int indent) { ModuleVersionIdentifier moduleVersion = resolvedComponentResult.getModuleVersion(); if (configDependencies.getChecker().checkForExclusion(moduleVersion)) { return; ComponentIdentifier id = resolvedComponentResult.getId(); String gradlePath = (id instanceof ProjectComponentIdentifier) ? ((ProjectComponentIdentifier) id).getProjectPath() : null; Set<? extends DependencyResult> dependencies = resolvedComponentResult.getDependencies(); List<DependencyNode> transitiveDependencies = Lists.newArrayListWithExpectedSize(dependencies.size()); ComponentIdentifier identifier = selected.getId(); if (identifier instanceof ProjectComponentIdentifier) { String projectPath =
idMap.put(depResult.getFrom().getId(), depResult.getFrom().getModuleVersion());
Set<ComponentIdentifier> seen, Set<ResolvedComponentResult> dependencies) { for (DependencyResult d : root.getDependencies()) { if (!(d instanceof ResolvedDependencyResult)) { throw new GradleException("Unresolved dependency found for " + d.toString()); ComponentIdentifier id = component.getId();
.getResolutionResult().getRoot().getDependencies(); .getResolutionResult().getRoot().getDependencies();
private String getId(ResolvedComponentResult component) { return component.getModuleVersion().getGroup() + ":" + component.getModuleVersion() .getName(); }
resolutionResult.getAllComponents()) { ArtifactVersion version = ArtifactVersion.Companion.fromGradleRefOrNull( resolvedComponentResult.getId().toString()); if (version != null) { resolvedVersions.put(version.getArtifact(), version);
@Override public void execute(DependencyResult dependencyResult) { if (dependencyResult instanceof ResolvedDependencyResult) { ResolvedDependencyResult resolved = (ResolvedDependencyResult) dependencyResult; excludedDependencies.add(new DependencyCandidate(resolved.getSelected() .getModuleVersion().getGroup(), resolved.getSelected() .getModuleVersion().getName())); } else if (dependencyResult instanceof UnresolvedDependencyResult) { DependencyCandidate dependencyCandidate = toDependencyCandidate((UnresolvedDependencyResult) dependencyResult); if (dependencyCandidate != null) { excludedDependencies.add(dependencyCandidate); } } } });
resolutionResult.getAllComponents()) { ArtifactVersion version = ArtifactVersion.Companion.fromGradleRefOrNull( resolvedComponentResult.getId().toString()); if (version != null) { resolvedVersions.put(version.getArtifact(), version);
if (!idToFileMap.containsKey(d.getModuleVersion())) { logger.warn("***** WARNING Missing resolved artifact for " + d); } else { files.add(idToFileMap.get(d.getModuleVersion()));
@Override public void execute(DependencyResult result) { if (result instanceof ResolvedDependencyResult) { ResolvedDependencyResult resolvedResult = (ResolvedDependencyResult) result; ComponentSelector requested = resolvedResult.getRequested(); if (requested instanceof ModuleComponentSelector) { ModuleComponentSelector requestedSelector = (ModuleComponentSelector) requested; String requestedVersion = requestedSelector.getVersion(); ComponentIdentifier selected = resolvedResult.getSelected().getId(); if (selected instanceof ProjectComponentIdentifier) { ProjectComponentIdentifier selectedProjectComponent = (ProjectComponentIdentifier) selected; ProjectInternal selectedProject = projectFinder.getProject(selectedProjectComponent.getProjectPath()); Object selectedVersionObject = selectedProject.getVersion(); if (selectedVersionObject != null) { String selectedVersion = selectedVersionObject.toString(); if (!matchVersion(requestedVersion, selectedVersion)) { String conflict = String.format("Configuration \"%s\" in project \"%s\" requests version %s of project \"%s\", but its current version (%s) does not fulfill that request", configuration.getName(), getProject().getPath(), requestedVersion, selectedProject.getPath(), selectedVersion); versionConflicts.add(conflict); } } } } } } });
if (!idToFileMap.containsKey(d.getModuleVersion())) { logger.warn("***** WARNING Missing resolved artifact for " + d); } else { files.add(idToFileMap.get(d.getModuleVersion()));