Search in sources :

Example 1 with ConfigurationBoundExternalDependencyMetadata

use of org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata 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());
        }
    }
}
Also used : ForcedDependencyMetadataWrapper(org.gradle.internal.component.external.model.ForcedDependencyMetadataWrapper) GradleDependencyMetadata(org.gradle.internal.component.external.model.GradleDependencyMetadata) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata) ExternalDependencyDescriptor(org.gradle.internal.component.external.model.ExternalDependencyDescriptor) GradleDependencyMetadata(org.gradle.internal.component.external.model.GradleDependencyMetadata) DependencyMetadata(org.gradle.internal.component.model.DependencyMetadata) ModuleDependencyMetadata(org.gradle.internal.component.external.model.ModuleDependencyMetadata) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata)

Example 2 with ConfigurationBoundExternalDependencyMetadata

use of org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata in project gradle by gradle.

the class RealisedMavenModuleResolveMetadata method contextualize.

static ModuleDependencyMetadata contextualize(ConfigurationMetadata config, ModuleComponentIdentifier componentId, MavenDependencyDescriptor incoming) {
    ConfigurationBoundExternalDependencyMetadata dependency = new ConfigurationBoundExternalDependencyMetadata(config, componentId, incoming);
    dependency.alwaysUseAttributeMatching();
    return dependency;
}
Also used : ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata)

Example 3 with ConfigurationBoundExternalDependencyMetadata

use of org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata 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();
}
Also used : IvyDependencyDescriptor(org.gradle.internal.component.external.model.ivy.IvyDependencyDescriptor) GradleDependencyMetadata(org.gradle.internal.component.external.model.GradleDependencyMetadata) MavenDependencyDescriptor(org.gradle.internal.component.external.model.maven.MavenDependencyDescriptor) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata) ModuleDependencyMetadata(org.gradle.internal.component.external.model.ModuleDependencyMetadata) ExternalDependencyDescriptor(org.gradle.internal.component.external.model.ExternalDependencyDescriptor)

Example 4 with ConfigurationBoundExternalDependencyMetadata

use of org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata in project gradle by gradle.

the class RealisedIvyModuleResolveMetadata method withDependencies.

private IvyModuleResolveMetadata withDependencies(Map<IvyDependencyDescriptor, IvyDependencyDescriptor> transformed) {
    ImmutableList<IvyDependencyDescriptor> transformedDescriptors = ImmutableList.copyOf(transformed.values());
    Set<String> configurationNames = getConfigurationNames();
    Map<String, ConfigurationMetadata> transformedConfigurations = Maps.newHashMapWithExpectedSize(configurationNames.size());
    for (String name : configurationNames) {
        RealisedConfigurationMetadata configuration = (RealisedConfigurationMetadata) getConfiguration(name);
        List<? extends DependencyMetadata> dependencies = configuration.getDependencies();
        ImmutableList.Builder<ModuleDependencyMetadata> transformedConfigurationDependencies = ImmutableList.builder();
        for (DependencyMetadata dependency : dependencies) {
            if (dependency instanceof ConfigurationBoundExternalDependencyMetadata) {
                transformedConfigurationDependencies.add(((ConfigurationBoundExternalDependencyMetadata) dependency).withDescriptor(transformed.get(((ConfigurationBoundExternalDependencyMetadata) dependency).getDependencyDescriptor())));
            } else {
                transformedConfigurationDependencies.add((ModuleDependencyMetadata) dependency);
            }
        }
        transformedConfigurations.put(name, configuration.withDependencies(transformedConfigurationDependencies.build()));
    }
    return new RealisedIvyModuleResolveMetadata(this, transformedDescriptors, transformedConfigurations);
}
Also used : ImmutableList(com.google.common.collect.ImmutableList) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata) ModuleDependencyMetadata(org.gradle.internal.component.external.model.ModuleDependencyMetadata) ConfigurationMetadata(org.gradle.internal.component.model.ConfigurationMetadata) ModuleConfigurationMetadata(org.gradle.internal.component.model.ModuleConfigurationMetadata) RealisedConfigurationMetadata(org.gradle.internal.component.external.model.RealisedConfigurationMetadata) RealisedConfigurationMetadata(org.gradle.internal.component.external.model.RealisedConfigurationMetadata) DependencyMetadata(org.gradle.internal.component.model.DependencyMetadata) ModuleDependencyMetadata(org.gradle.internal.component.external.model.ModuleDependencyMetadata) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata)

Example 5 with ConfigurationBoundExternalDependencyMetadata

use of org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata 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());
        }
    }
}
Also used : GradleDependencyMetadata(org.gradle.internal.component.external.model.GradleDependencyMetadata) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata) ExternalDependencyDescriptor(org.gradle.internal.component.external.model.ExternalDependencyDescriptor) GradleDependencyMetadata(org.gradle.internal.component.external.model.GradleDependencyMetadata) DependencyMetadata(org.gradle.internal.component.model.DependencyMetadata) ModuleDependencyMetadata(org.gradle.internal.component.external.model.ModuleDependencyMetadata) ConfigurationBoundExternalDependencyMetadata(org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata) RealisedConfigurationMetadata(org.gradle.internal.component.external.model.RealisedConfigurationMetadata)

Aggregations

ConfigurationBoundExternalDependencyMetadata (org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata)6 ModuleDependencyMetadata (org.gradle.internal.component.external.model.ModuleDependencyMetadata)4 ExternalDependencyDescriptor (org.gradle.internal.component.external.model.ExternalDependencyDescriptor)3 GradleDependencyMetadata (org.gradle.internal.component.external.model.GradleDependencyMetadata)3 DependencyMetadata (org.gradle.internal.component.model.DependencyMetadata)3 RealisedConfigurationMetadata (org.gradle.internal.component.external.model.RealisedConfigurationMetadata)2 ImmutableList (com.google.common.collect.ImmutableList)1 ForcedDependencyMetadataWrapper (org.gradle.internal.component.external.model.ForcedDependencyMetadataWrapper)1 IvyDependencyDescriptor (org.gradle.internal.component.external.model.ivy.IvyDependencyDescriptor)1 MavenDependencyDescriptor (org.gradle.internal.component.external.model.maven.MavenDependencyDescriptor)1 ConfigurationMetadata (org.gradle.internal.component.model.ConfigurationMetadata)1 ModuleConfigurationMetadata (org.gradle.internal.component.model.ModuleConfigurationMetadata)1