private DependencyCandidate toDependencyCandidate( UnresolvedDependencyResult unresolved) { ComponentSelector attemptedSelector = unresolved.getAttempted(); if (!(attemptedSelector instanceof ModuleComponentSelector)) { return null; } ModuleComponentSelector attemptedModuleSelector = (ModuleComponentSelector) attemptedSelector; return new DependencyCandidate(attemptedModuleSelector .getGroup(), attemptedModuleSelector.getModule()); }
@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); } } } } } } });
@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); } } } } } } });
@Override public void execute(DependencySubstitution details) { // Skip components that are not external components if (!(details.getRequested() instanceof ModuleComponentSelector)) { return; } ModuleComponentSelector selector = (ModuleComponentSelector) details.getRequested(); if (modulesToProjectsMapping == null) { modulesToProjectsMapping = Maps.newTreeMap(); for (Project project : projects) { modulesToProjectsMapping.put(project.getGroup() + ":" + project.getName(), project); } logger.info("Modules to projects mapping: {}", modulesToProjectsMapping); } String id = selector.getGroup() + ":" + selector.getModule(); Project dependentProject = modulesToProjectsMapping.get(id); if (dependentProject != null) { logger.info("Replaced external dependency {} with {}", selector, dependentProject); details.useTarget(dependentProject); } } }
@Override public void execute(DependencySubstitution details) { // Skip components that are not external components if (!(details.getRequested() instanceof ModuleComponentSelector)) { return; } ModuleComponentSelector selector = (ModuleComponentSelector) details.getRequested(); if (modulesToProjectsMapping == null) { modulesToProjectsMapping = Maps.newTreeMap(); for (Project project : projects) { modulesToProjectsMapping.put(project.getGroup() + ":" + project.getName(), project); } logger.info("Modules to projects mapping: {}", modulesToProjectsMapping); } String id = selector.getGroup() + ":" + selector.getModule(); Project dependentProject = modulesToProjectsMapping.get(id); if (dependentProject != null) { logger.info("Replaced external dependency {} with {}", selector, dependentProject); details.useTarget(dependentProject); } } }