use of org.gradle.internal.component.external.descriptor.Artifact in project gradle by gradle.
the class IvyModuleDescriptorConverter method addDependency.
private void addDependency(List<IvyDependencyMetadata> result, DependencyDescriptor dependencyDescriptor) {
ModuleRevisionId revisionId = dependencyDescriptor.getDependencyRevisionId();
ModuleVersionSelector requested = DefaultModuleVersionSelector.newSelector(revisionId.getOrganisation(), revisionId.getName(), revisionId.getRevision());
ListMultimap<String, String> configMappings = ArrayListMultimap.create();
for (Map.Entry<String, List<String>> entry : readConfigMappings(dependencyDescriptor).entrySet()) {
configMappings.putAll(entry.getKey(), entry.getValue());
}
List<Artifact> artifacts = Lists.newArrayList();
for (DependencyArtifactDescriptor ivyArtifact : dependencyDescriptor.getAllDependencyArtifacts()) {
IvyArtifactName ivyArtifactName = new DefaultIvyArtifactName(ivyArtifact.getName(), ivyArtifact.getType(), ivyArtifact.getExt(), (String) ivyArtifact.getExtraAttributes().get(CLASSIFIER));
artifacts.add(new Artifact(ivyArtifactName, Sets.newHashSet(ivyArtifact.getConfigurations())));
}
List<Exclude> excludes = Lists.newArrayList();
for (ExcludeRule excludeRule : dependencyDescriptor.getAllExcludeRules()) {
excludes.add(forIvyExclude(excludeRule));
}
result.add(new IvyDependencyMetadata(requested, dependencyDescriptor.getDynamicConstraintDependencyRevisionId().getRevision(), false, dependencyDescriptor.isChanging(), dependencyDescriptor.isTransitive(), configMappings, artifacts, excludes));
}
use of org.gradle.internal.component.external.descriptor.Artifact in project gradle by gradle.
the class IvyDependencyDescriptor method getConfigurationArtifacts.
public ImmutableList<IvyArtifactName> getConfigurationArtifacts(ConfigurationMetadata fromConfiguration) {
if (dependencyArtifacts.isEmpty()) {
return ImmutableList.of();
}
Collection<String> includedConfigurations = fromConfiguration.getHierarchy();
ImmutableList.Builder<IvyArtifactName> artifacts = ImmutableList.builder();
for (Artifact depArtifact : dependencyArtifacts) {
Set<String> artifactConfigurations = depArtifact.getConfigurations();
if (include(artifactConfigurations, includedConfigurations)) {
IvyArtifactName ivyArtifactName = depArtifact.getArtifactName();
artifacts.add(ivyArtifactName);
}
}
return artifacts.build();
}
use of org.gradle.internal.component.external.descriptor.Artifact in project gradle by gradle.
the class RealisedIvyModuleResolveMetadataSerializationHelper method readDependencyArtifactDescriptors.
private List<Artifact> readDependencyArtifactDescriptors(Decoder decoder) throws IOException {
int size = decoder.readSmallInt();
List<Artifact> result = Lists.newArrayListWithCapacity(size);
for (int i = 0; i < size; i++) {
IvyArtifactName ivyArtifactName = new DefaultIvyArtifactName(decoder.readString(), decoder.readString(), decoder.readNullableString(), decoder.readNullableString());
result.add(new Artifact(ivyArtifactName, readStringSet(decoder)));
}
return result;
}
use of org.gradle.internal.component.external.descriptor.Artifact in project gradle by gradle.
the class RealisedIvyModuleResolveMetadataSerializationHelper method writeArtifacts.
private void writeArtifacts(Encoder encoder, List<Artifact> artifacts) throws IOException {
encoder.writeSmallInt(artifacts.size());
for (Artifact artifact : artifacts) {
IvyArtifactName artifactName = artifact.getArtifactName();
encoder.writeString(artifactName.getName());
encoder.writeString(artifactName.getType());
encoder.writeNullableString(artifactName.getExtension());
encoder.writeNullableString(artifactName.getClassifier());
writeStringSet(encoder, artifact.getConfigurations());
}
}
use of org.gradle.internal.component.external.descriptor.Artifact in project gradle by gradle.
the class RealisedIvyModuleResolveMetadataSerializationHelper method readIvyDependency.
private IvyDependencyDescriptor readIvyDependency(Decoder decoder) throws IOException {
ModuleComponentSelector requested = getComponentSelectorSerializer().read(decoder);
SetMultimap<String, String> configMappings = readDependencyConfigurationMapping(decoder);
List<Artifact> artifacts = readDependencyArtifactDescriptors(decoder);
List<Exclude> excludes = readDependencyExcludes(decoder);
String dynamicConstraintVersion = decoder.readString();
boolean changing = decoder.readBoolean();
boolean transitive = decoder.readBoolean();
boolean optional = decoder.readBoolean();
return new IvyDependencyDescriptor(requested, dynamicConstraintVersion, changing, transitive, optional, configMappings, artifacts, excludes);
}
Aggregations