use of org.gradle.internal.component.external.model.ExternalDependencyDescriptor in project gradle by gradle.
the class RealisedMavenModuleResolveMetadataSerializationHelper method writeDependencies.
@Override
protected void writeDependencies(Encoder encoder, ConfigurationMetadata configuration, Map<ExternalDependencyDescriptor, Integer> deduplicationDependencyCache) throws IOException {
List<? extends DependencyMetadata> dependencies = configuration.getDependencies();
encoder.writeSmallInt(dependencies.size());
for (DependencyMetadata dependency : dependencies) {
if (dependency instanceof ForcedDependencyMetadataWrapper) {
ForcedDependencyMetadataWrapper wrapper = (ForcedDependencyMetadataWrapper) dependency;
dependency = wrapper.unwrap();
if (wrapper.isForce()) {
encoder.writeByte(FORCED_DEPENDENCY_METADATA);
}
}
if (dependency instanceof GradleDependencyMetadata) {
encoder.writeByte(GRADLE_DEPENDENCY_METADATA);
writeDependencyMetadata(encoder, (GradleDependencyMetadata) dependency);
} else if (dependency instanceof ConfigurationBoundExternalDependencyMetadata) {
ConfigurationBoundExternalDependencyMetadata dependencyMetadata = (ConfigurationBoundExternalDependencyMetadata) dependency;
ExternalDependencyDescriptor dependencyDescriptor = dependencyMetadata.getDependencyDescriptor();
if (dependencyDescriptor instanceof MavenDependencyDescriptor) {
encoder.writeByte(MAVEN_DEPENDENCY_METADATA);
writeMavenDependency(encoder, (MavenDependencyDescriptor) dependencyDescriptor, deduplicationDependencyCache);
} else {
throw new IllegalStateException("Unknown type of dependency descriptor: " + dependencyDescriptor.getClass());
}
encoder.writeNullableString(dependency.getReason());
}
}
}
use of org.gradle.internal.component.external.model.ExternalDependencyDescriptor in project gradle by gradle.
the class ModuleComponentResolveMetadataSerializer method write.
@Override
public void write(Encoder encoder, ModuleComponentResolveMetadata value) throws Exception {
AbstractRealisedModuleComponentResolveMetadata transformed = assertRealized(value);
HashMap<ExternalDependencyDescriptor, Integer> deduplicationDependencyCache = Maps.newHashMap();
delegate.write(encoder, transformed, deduplicationDependencyCache);
writeOwners(encoder, value.getPlatformOwners());
if (transformed instanceof RealisedIvyModuleResolveMetadata) {
ivySerializationHelper.writeRealisedVariantsData(encoder, transformed);
ivySerializationHelper.writeRealisedConfigurationsData(encoder, transformed, deduplicationDependencyCache);
} else if (transformed instanceof RealisedMavenModuleResolveMetadata) {
mavenSerializationHelper.writeRealisedVariantsData(encoder, transformed);
mavenSerializationHelper.writeRealisedConfigurationsData(encoder, transformed, deduplicationDependencyCache);
} else {
throw new IllegalStateException("Unexpected realised module component resolve metadata type: " + transformed.getClass());
}
}
use of org.gradle.internal.component.external.model.ExternalDependencyDescriptor in project gradle by gradle.
the class DirectDependencyMetadataAdapter method getIvyArtifacts.
private List<IvyArtifactName> getIvyArtifacts() {
ModuleDependencyMetadata originalMetadata = getOriginalMetadata();
if (originalMetadata instanceof ConfigurationBoundExternalDependencyMetadata) {
ConfigurationBoundExternalDependencyMetadata externalMetadata = (ConfigurationBoundExternalDependencyMetadata) originalMetadata;
ExternalDependencyDescriptor descriptor = externalMetadata.getDependencyDescriptor();
if (descriptor instanceof MavenDependencyDescriptor) {
return fromMavenDescriptor((MavenDependencyDescriptor) descriptor);
}
if (descriptor instanceof IvyDependencyDescriptor) {
return fromIvyDescriptor((IvyDependencyDescriptor) descriptor);
}
} else if (originalMetadata instanceof GradleDependencyMetadata) {
return fromGradleMetadata((GradleDependencyMetadata) originalMetadata);
}
return Collections.emptyList();
}
use of org.gradle.internal.component.external.model.ExternalDependencyDescriptor in project gradle by gradle.
the class RealisedIvyModuleResolveMetadataSerializationHelper method writeDependencies.
@Override
protected void writeDependencies(Encoder encoder, ConfigurationMetadata configuration, Map<ExternalDependencyDescriptor, Integer> deduplicationDependencyCache) throws IOException {
List<? extends DependencyMetadata> dependencies = configuration.getDependencies();
encoder.writeSmallInt(dependencies.size());
for (DependencyMetadata dependency : dependencies) {
if (dependency instanceof GradleDependencyMetadata) {
encoder.writeByte(GRADLE_DEPENDENCY_METADATA);
writeDependencyMetadata(encoder, (GradleDependencyMetadata) dependency);
} else if (dependency instanceof ConfigurationBoundExternalDependencyMetadata) {
ConfigurationBoundExternalDependencyMetadata dependencyMetadata = (ConfigurationBoundExternalDependencyMetadata) dependency;
ExternalDependencyDescriptor dependencyDescriptor = dependencyMetadata.getDependencyDescriptor();
if (dependencyDescriptor instanceof IvyDependencyDescriptor) {
encoder.writeByte(IVY_DEPENDENCY_METADATA);
boolean addedByRule = configuration instanceof RealisedConfigurationMetadata && ((RealisedConfigurationMetadata) configuration).isAddedByRule();
writeIvyDependency(encoder, (IvyDependencyDescriptor) dependencyDescriptor, configuration.getName(), addedByRule);
} else {
throw new IllegalStateException("Unknown type of dependency descriptor: " + dependencyDescriptor.getClass());
}
encoder.writeNullableString(dependency.getReason());
}
}
}
Aggregations