Search in sources :

Example 16 with ProjectDependency

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)));
}
Also used : DependencyHandler(org.gradle.api.artifacts.dsl.DependencyHandler) SourceSet(org.gradle.api.tasks.SourceSet) ConfigurationContainer(org.gradle.api.artifacts.ConfigurationContainer) ProjectDependency(org.gradle.api.artifacts.ProjectDependency) ProjectTestFixtures(org.gradle.internal.component.external.model.ProjectTestFixtures)

Example 17 with ProjectDependency

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);
}
Also used : ModuleVersionIdentifier(org.gradle.api.artifacts.ModuleVersionIdentifier) DependencyConstraint(org.gradle.api.artifacts.DependencyConstraint) DefaultProjectDependencyConstraint(org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependencyConstraint) ProjectDependency(org.gradle.api.artifacts.ProjectDependency) DefaultProjectDependencyConstraint(org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependencyConstraint)

Example 18 with ProjectDependency

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);
        }
    }
}
Also used : Task(org.gradle.api.Task) ProjectInternal(org.gradle.api.internal.project.ProjectInternal) ProjectDependency(org.gradle.api.artifacts.ProjectDependency)

Aggregations

ProjectDependency (org.gradle.api.artifacts.ProjectDependency)18 Dependency (org.gradle.api.artifacts.Dependency)7 ModuleDependency (org.gradle.api.artifacts.ModuleDependency)6 EtaDependency (com.typelead.gradle.eta.api.EtaDependency)4 Configuration (org.gradle.api.artifacts.Configuration)4 DependencyConstraint (org.gradle.api.artifacts.DependencyConstraint)4 ModuleVersionIdentifier (org.gradle.api.artifacts.ModuleVersionIdentifier)4 EtaProjectDependency (com.typelead.gradle.eta.api.EtaProjectDependency)3 DefaultEtaConfiguration (com.typelead.gradle.eta.internal.DefaultEtaConfiguration)3 ArrayList (java.util.ArrayList)3 List (java.util.List)3 InvalidUserDataException (org.gradle.api.InvalidUserDataException)3 Project (org.gradle.api.Project)3 PublishArtifact (org.gradle.api.artifacts.PublishArtifact)3 UsageContext (org.gradle.api.internal.component.UsageContext)3 DefaultMavenDependency (org.gradle.api.publish.maven.internal.dependencies.DefaultMavenDependency)3 File (java.io.File)2 Collectors (java.util.stream.Collectors)2 Action (org.gradle.api.Action)2 ConfigurationContainer (org.gradle.api.artifacts.ConfigurationContainer)2