use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class DefaultDependencyHandler method testFixtures.
@Override
public Dependency testFixtures(Object notation) {
Dependency testFixturesDependency = create(notation);
if (testFixturesDependency instanceof ProjectDependency) {
ProjectDependency projectDependency = (ProjectDependency) testFixturesDependency;
projectDependency.capabilities(new ProjectTestFixtures(projectDependency.getDependencyProject()));
} else if (testFixturesDependency instanceof ModuleDependency) {
ModuleDependency moduleDependency = (ModuleDependency) testFixturesDependency;
moduleDependency.capabilities(capabilities -> capabilities.requireCapability(new ImmutableCapability(moduleDependency.getGroup(), moduleDependency.getName() + TEST_FIXTURES_CAPABILITY_APPENDIX, null)));
}
return testFixturesDependency;
}
use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class UnresolvableConfigurationResult method getChildren.
@Override
public Set<? extends RenderableDependency> getChildren() {
final DependencySet dependencies = configuration.getDependencies();
if (dependencies.isEmpty()) {
return Collections.emptySet();
}
Set<RenderableDependency> children = Sets.newLinkedHashSet();
for (final Dependency dependency : dependencies) {
children.add(new AbstractRenderableDependency() {
@Override
public Object getId() {
return dependency;
}
@Override
public String getName() {
String label;
if (dependency instanceof ProjectDependency) {
label = "project " + dependency.getName();
} else {
label = Joiner.on(":").join(Stream.of(dependency.getGroup(), dependency.getName(), dependency.getVersion()).filter(Objects::nonNull).collect(Collectors.toList()));
}
return label;
}
});
}
return children;
}
use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class DefaultIvyPublication method populateDependencies.
private void populateDependencies(Set<? extends UsageContext> usageContexts, PublicationWarningsCollector publicationWarningsCollector) {
for (UsageContext usageContext : usageContexts) {
publicationWarningsCollector.newContext(usageContext.getName());
for (ModuleDependency dependency : usageContext.getDependencies()) {
String confMapping = confMappingFor(usageContext, dependency);
if (!dependency.getAttributes().isEmpty()) {
publicationWarningsCollector.addUnsupported(String.format("%s:%s:%s declared with Gradle attributes", dependency.getGroup(), dependency.getName(), dependency.getVersion()));
}
if (dependency instanceof ProjectDependency) {
addProjectDependency((ProjectDependency) dependency, confMapping);
} else {
ExternalDependency externalDependency = (ExternalDependency) dependency;
if (platformSupport.isTargetingPlatform(dependency)) {
publicationWarningsCollector.addUnsupported(String.format("%s:%s:%s declared as platform", dependency.getGroup(), dependency.getName(), dependency.getVersion()));
}
if (!versionMappingInUse && externalDependency.getVersion() == null) {
publicationWarningsCollector.addUnsupported(String.format("%s:%s declared without version", externalDependency.getGroup(), externalDependency.getName()));
}
addExternalDependency(externalDependency, confMapping, ((AttributeContainerInternal) usageContext.getAttributes()).asImmutable());
}
}
if (!usageContext.getDependencyConstraints().isEmpty()) {
for (DependencyConstraint constraint : usageContext.getDependencyConstraints()) {
publicationWarningsCollector.addUnsupported(String.format("%s:%s:%s declared as a dependency constraint", constraint.getGroup(), constraint.getName(), constraint.getVersion()));
}
}
if (!usageContext.getCapabilities().isEmpty()) {
for (Capability capability : usageContext.getCapabilities()) {
publicationWarningsCollector.addVariantUnsupported(String.format("Declares capability %s:%s:%s which cannot be mapped to Ivy", capability.getGroup(), capability.getName(), capability.getVersion()));
}
}
}
}
use of org.gradle.api.artifacts.ProjectDependency in project gradle by gradle.
the class DefaultIvyPublication method from.
public void from(SoftwareComponent component) {
if (this.component != null) {
throw new InvalidUserDataException(String.format("Ivy publication '%s' cannot include multiple components", name));
}
this.component = (SoftwareComponentInternal) component;
configurations.maybeCreate("default");
Set<PublishArtifact> seenArtifacts = Sets.newHashSet();
Set<ModuleDependency> seenDependencies = Sets.newHashSet();
for (UsageContext usageContext : getSortedUsageContexts()) {
Usage usage = usageContext.getUsage();
String conf = mapUsage(usage);
configurations.maybeCreate(conf);
configurations.getByName("default").extend(conf);
for (PublishArtifact publishArtifact : usageContext.getArtifacts()) {
if (!seenArtifacts.contains(publishArtifact)) {
seenArtifacts.add(publishArtifact);
artifact(publishArtifact).setConf(conf);
}
}
for (ModuleDependency dependency : usageContext.getDependencies()) {
if (seenDependencies.add(dependency)) {
// TODO: When we support multiple components or configurable dependencies, we'll need to merge the confs of multiple dependencies with same id.
String confMapping = String.format("%s->%s", conf, dependency.getTargetConfiguration() == null ? Dependency.DEFAULT_CONFIGURATION : dependency.getTargetConfiguration());
if (dependency instanceof ProjectDependency) {
addProjectDependency((ProjectDependency) dependency, confMapping);
} else {
addExternalDependency((ExternalDependency) dependency, confMapping);
}
}
}
}
}
use of org.gradle.api.artifacts.ProjectDependency in project gradle-eta by typelead.
the class EtaBasePlugin method populateEtaConfiguration.
private void populateEtaConfiguration(final Configuration configuration) {
final DefaultEtaConfiguration etaConfiguration = ExtensionHelper.createExtension(configuration, ETA_CONFIGURATION_EXTENSION_NAME, DefaultEtaConfiguration.class, configuration, mavenRepository);
DomainObjectCollection<EtaDependency> dependencies = etaConfiguration.getDependencies();
configuration.getDependencies().all(dependency -> {
if (dependency instanceof ProjectDependency) {
final ProjectDependency projectDependency = (ProjectDependency) dependency;
dependencies.add(new DefaultEtaProjectDependency(projectDependency.getDependencyProject(), projectDependency.getTargetConfiguration()));
} else if (dependency instanceof EtaDependency) {
dependencies.add((EtaDependency) dependency);
}
});
}
Aggregations