Search in sources :

Example 16 with Capability

use of org.gradle.api.capabilities.Capability in project gradle by gradle.

the class LastCandidateCapabilityResolver method resolve.

@Override
public void resolve(CapabilitiesConflictHandler.ResolutionDetails details) {
    Collection<? extends Capability> capabilityVersions = details.getCapabilityVersions();
    CapabilitiesConflictHandler.CandidateDetails single = null;
    for (Capability capabilityVersion : capabilityVersions) {
        Collection<? extends CapabilitiesConflictHandler.CandidateDetails> candidates = details.getCandidates(capabilityVersion);
        int size = candidates.size();
        if (size >= 1) {
            if (size == 1 && single == null) {
                single = candidates.iterator().next();
            } else {
                // not a single candidate
                return;
            }
        }
    }
    if (single != null) {
        single.select();
    }
}
Also used : Capability(org.gradle.api.capabilities.Capability)

Example 17 with Capability

use of org.gradle.api.capabilities.Capability in project gradle by gradle.

the class ComponentSelectorSerializer method writeCapabilities.

private void writeCapabilities(Encoder encoder, Collection<Capability> capabilities) throws IOException {
    encoder.writeSmallInt(capabilities.size());
    for (Capability capability : capabilities) {
        encoder.writeString(capability.getGroup());
        encoder.writeString(capability.getName());
        encoder.writeNullableString(capability.getVersion());
    }
}
Also used : ImmutableCapability(org.gradle.internal.component.external.model.ImmutableCapability) Capability(org.gradle.api.capabilities.Capability)

Example 18 with Capability

use of org.gradle.api.capabilities.Capability in project gradle by gradle.

the class ComponentSelectorSerializer method readCapabilities.

private List<Capability> readCapabilities(Decoder decoder) throws IOException {
    int size = decoder.readSmallInt();
    if (size == 0) {
        return Collections.emptyList();
    }
    ImmutableList.Builder<Capability> builder = ImmutableList.builderWithExpectedSize(size);
    for (int i = 0; i < size; i++) {
        builder.add(new ImmutableCapability(decoder.readString(), decoder.readString(), decoder.readNullableString()));
    }
    return builder.build();
}
Also used : ImmutableCapability(org.gradle.internal.component.external.model.ImmutableCapability) Capability(org.gradle.api.capabilities.Capability) ImmutableList(com.google.common.collect.ImmutableList) ImmutableCapability(org.gradle.internal.component.external.model.ImmutableCapability) ImmutableVersionConstraint(org.gradle.api.internal.artifacts.ImmutableVersionConstraint) VersionConstraint(org.gradle.api.artifacts.VersionConstraint) DefaultImmutableVersionConstraint(org.gradle.api.internal.artifacts.dependencies.DefaultImmutableVersionConstraint)

Example 19 with Capability

use of org.gradle.api.capabilities.Capability in project gradle by gradle.

the class ResolvedVariantResultSerializer method read.

@Override
public ResolvedVariantResult read(Decoder decoder) throws IOException {
    int index = decoder.readSmallInt();
    if (index == -1) {
        return null;
    }
    if (index == read.size()) {
        ComponentIdentifier owner = componentIdentifierSerializer.read(decoder);
        String variantName = decoder.readString();
        AttributeContainer attributes = attributeContainerSerializer.read(decoder);
        List<Capability> capabilities = readCapabilities(decoder);
        read.add(null);
        ResolvedVariantResult externalVariant = read(decoder);
        DefaultResolvedVariantResult result = new DefaultResolvedVariantResult(owner, Describables.of(variantName), attributes, capabilities, externalVariant);
        this.read.set(index, result);
        return result;
    }
    return read.get(index);
}
Also used : Capability(org.gradle.api.capabilities.Capability) DefaultResolvedVariantResult(org.gradle.api.internal.artifacts.result.DefaultResolvedVariantResult) DefaultResolvedVariantResult(org.gradle.api.internal.artifacts.result.DefaultResolvedVariantResult) ResolvedVariantResult(org.gradle.api.artifacts.result.ResolvedVariantResult) ComponentIdentifier(org.gradle.api.artifacts.component.ComponentIdentifier) AttributeContainer(org.gradle.api.attributes.AttributeContainer)

Example 20 with Capability

use of org.gradle.api.capabilities.Capability in project gradle by gradle.

the class AbstractRealisedModuleResolveMetadataSerializationHelper method writeCapabilities.

private void writeCapabilities(Encoder encoder, List<? extends Capability> capabilities) throws IOException {
    encoder.writeSmallInt(capabilities.size());
    for (Capability capability : capabilities) {
        boolean shadowed = capability instanceof ShadowedCapability;
        if (shadowed) {
            ShadowedCapability shadowedCapability = (ShadowedCapability) capability;
            encoder.writeNullableString(shadowedCapability.getAppendix());
            capability = shadowedCapability.getShadowedCapability();
        } else {
            encoder.writeNullableString(null);
        }
        encoder.writeString(capability.getGroup());
        encoder.writeString(capability.getName());
        encoder.writeString(capability.getVersion());
    }
}
Also used : Capability(org.gradle.api.capabilities.Capability)

Aggregations

Capability (org.gradle.api.capabilities.Capability)21 ImmutableCapability (org.gradle.internal.component.external.model.ImmutableCapability)7 VersionConstraint (org.gradle.api.artifacts.VersionConstraint)3 DefaultImmutableVersionConstraint (org.gradle.api.internal.artifacts.dependencies.DefaultImmutableVersionConstraint)3 ShadowedCapability (org.gradle.internal.component.external.model.ShadowedCapability)3 ImmutableList (com.google.common.collect.ImmutableList)2 DependencyConstraint (org.gradle.api.artifacts.DependencyConstraint)2 ModuleDependency (org.gradle.api.artifacts.ModuleDependency)2 ProjectDependency (org.gradle.api.artifacts.ProjectDependency)2 AttributeContainer (org.gradle.api.attributes.AttributeContainer)2 DefaultResolvedVariantResult (org.gradle.api.internal.artifacts.result.DefaultResolvedVariantResult)2 ImmutableAttributes (org.gradle.api.internal.attributes.ImmutableAttributes)2 UsageContext (org.gradle.api.internal.component.UsageContext)2 DisplayName (org.gradle.internal.DisplayName)2 DefaultShadowedCapability (org.gradle.internal.component.external.model.DefaultShadowedCapability)2 ProjectDerivedCapability (org.gradle.internal.component.external.model.ProjectDerivedCapability)2 Nullable (javax.annotation.Nullable)1 InvalidUserCodeException (org.gradle.api.InvalidUserCodeException)1 Configuration (org.gradle.api.artifacts.Configuration)1 ConfigurationContainer (org.gradle.api.artifacts.ConfigurationContainer)1