use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class JavaTestFixturesPlugin method createImplicitTestFixturesDependencies.
private void createImplicitTestFixturesDependencies(Project project, JavaPluginExtension extension) {
DependencyHandler dependencies = project.getDependencies();
dependencies.add(TEST_FIXTURES_API, dependencies.create(project));
SourceSet testSourceSet = findTestSourceSet(extension);
ProjectDependency testDependency = (ProjectDependency) dependencies.add(testSourceSet.getImplementationConfigurationName(), dependencies.create(project));
testDependency.capabilities(new ProjectTestFixtures(project));
// Overwrite what the Java plugin defines for test, in order to avoid duplicate classes
// see gradle/gradle#10872
ConfigurationContainer configurations = project.getConfigurations();
testSourceSet.setCompileClasspath(project.getObjects().fileCollection().from(configurations.getByName(TEST_COMPILE_CLASSPATH_CONFIGURATION_NAME)));
testSourceSet.setRuntimeClasspath(project.getObjects().fileCollection().from(testSourceSet.getOutput(), configurations.getByName(TEST_RUNTIME_CLASSPATH_CONFIGURATION_NAME)));
}
use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class ModuleMetadataSpecBuilder method dependencyConstraintFor.
private ModuleMetadataSpec.DependencyConstraint dependencyConstraintFor(DependencyConstraint dependencyConstraint, VariantVersionMappingStrategyInternal variantVersionMappingStrategy, String variant) {
String group;
String module;
String resolvedVersion = null;
String projectPath = null;
if (dependencyConstraint instanceof DefaultProjectDependencyConstraint) {
DefaultProjectDependencyConstraint dependency = (DefaultProjectDependencyConstraint) dependencyConstraint;
ProjectDependency projectDependency = dependency.getProjectDependency();
ModuleVersionIdentifier identifier = moduleIdentifierFor(projectDependency);
group = identifier.getGroup();
module = identifier.getName();
projectPath = projectDependency.getDependencyProject().getPath();
resolvedVersion = identifier.getVersion();
} else {
group = dependencyConstraint.getGroup();
module = dependencyConstraint.getName();
}
ModuleVersionIdentifier resolvedVersionId = variantVersionMappingStrategy != null ? variantVersionMappingStrategy.maybeResolveVersion(group, module, projectPath) : null;
String effectiveGroup = resolvedVersionId != null ? resolvedVersionId.getGroup() : group;
String effectiveModule = resolvedVersionId != null ? resolvedVersionId.getName() : module;
String effectiveVersion = resolvedVersionId != null ? resolvedVersionId.getVersion() : resolvedVersion;
return new ModuleMetadataSpec.DependencyConstraint(effectiveGroup, effectiveModule, versionFor(DefaultImmutableVersionConstraint.of(dependencyConstraint.getVersionConstraint()), effectiveVersion), dependencyAttributesFor(variant, dependencyConstraint.getGroup(), dependencyConstraint.getName(), dependencyConstraint.getAttributes()), isNotEmpty(dependencyConstraint.getReason()) ? dependencyConstraint.getReason() : null);
}
use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class TasksFromProjectDependencies method resolveProjectDependencies.
void resolveProjectDependencies(TaskDependencyResolveContext context, Set<ProjectDependency> projectDependencies) {
for (ProjectDependency projectDependency : projectDependencies) {
ProjectInternal dependencyProject = (ProjectInternal) projectDependency.getDependencyProject();
dependencyProject.getOwner().ensureTasksDiscovered();
Task nextTask = projectDependency.getDependencyProject().getTasks().findByName(taskName);
if (nextTask != null && context.getTask() != nextTask) {
context.add(nextTask);
}
}
}
Aggregations