use of org.gradle.api.artifacts.component.ModuleComponentIdentifier in project gradle by gradle.
the class RepositoryChainDependencyToComponentIdResolver method resolve.
public void resolve(DependencyMetadata dependency, ResolvedVersionConstraint resolvedVersionConstraint, BuildableComponentIdResolveResult result) {
ComponentSelector componentSelector = dependency.getSelector();
if (componentSelector instanceof ModuleComponentSelector) {
ModuleComponentSelector module = (ModuleComponentSelector) componentSelector;
if (resolvedVersionConstraint == null) {
// TODO:DAZ This shouldn't be required, but `ExternalResourceResolverDescriptorParseContext` does not provide a resolved constraint
VersionConstraint raw = module.getVersionConstraint();
resolvedVersionConstraint = new DefaultResolvedVersionConstraint(raw, versionSelectorScheme);
}
VersionSelector preferredSelector = resolvedVersionConstraint.getPreferredSelector();
if (preferredSelector.isDynamic()) {
dynamicRevisionResolver.resolve(toModuleDependencyMetadata(dependency), preferredSelector, resolvedVersionConstraint.getRejectedSelector(), result);
} else {
String version = resolvedVersionConstraint.getPreferredVersion();
ModuleComponentIdentifier id = new DefaultModuleComponentIdentifier(module.getGroup(), module.getModule(), version);
ModuleVersionIdentifier mvId = moduleIdentifierFactory.moduleWithVersion(module.getGroup(), module.getModule(), version);
result.resolved(id, mvId);
}
}
}
use of org.gradle.api.artifacts.component.ModuleComponentIdentifier in project gradle by gradle.
the class DefaultConfiguration method registerConsistentResolutionConstraint.
private Optional<DependencyConstraint> registerConsistentResolutionConstraint(ResolvedComponentResult result) {
if (result.getId() instanceof ModuleComponentIdentifier) {
ModuleVersionIdentifier moduleVersion = result.getModuleVersion();
DefaultDependencyConstraint constraint = DefaultDependencyConstraint.strictly(moduleVersion.getGroup(), moduleVersion.getName(), moduleVersion.getVersion());
constraint.because(consistentResolutionReason);
return Optional.of(constraint);
}
return Optional.empty();
}
use of org.gradle.api.artifacts.component.ModuleComponentIdentifier in project gradle by gradle.
the class GradlePomModuleDescriptorParser method doParseDescriptor.
@Override
protected ParseResult<MutableMavenModuleResolveMetadata> doParseDescriptor(DescriptorParseContext parserSettings, LocallyAvailableExternalResource resource, boolean validate) throws IOException, ParseException, SAXException {
PomReader pomReader = new PomReader(resource, moduleIdentifierFactory);
GradlePomModuleDescriptorBuilder mdBuilder = new GradlePomModuleDescriptorBuilder(pomReader, gradleVersionSelectorScheme, mavenVersionSelectorScheme);
doParsePom(parserSettings, mdBuilder, pomReader);
List<MavenDependencyDescriptor> dependencies = mdBuilder.getDependencies();
ModuleComponentIdentifier cid = mdBuilder.getComponentIdentifier();
MutableMavenModuleResolveMetadata metadata = metadataFactory.create(cid, dependencies);
metadata.setStatus(mdBuilder.getStatus());
if (pomReader.getRelocation() != null) {
metadata.setPackaging("pom");
metadata.setRelocated(true);
} else {
metadata.setPackaging(pomReader.getPackaging());
metadata.setRelocated(false);
}
return ParseResult.of(metadata, pomReader.hasGradleMetadataMarker());
}
use of org.gradle.api.artifacts.component.ModuleComponentIdentifier in project gradle by gradle.
the class RepositoryChainComponentMetaDataResolver method isFetchingMetadataCheap.
@Override
public boolean isFetchingMetadataCheap(ComponentIdentifier identifier) {
if (identifier instanceof ModuleComponentIdentifier) {
for (ModuleComponentRepository repository : repositories) {
ModuleComponentRepositoryAccess localAccess = repository.getLocalAccess();
MetadataFetchingCost fetchingCost = localAccess.estimateMetadataFetchingCost((ModuleComponentIdentifier) identifier);
if (fetchingCost.isFast()) {
return true;
} else if (fetchingCost.isExpensive()) {
return false;
}
}
}
return true;
}
use of org.gradle.api.artifacts.component.ModuleComponentIdentifier in project gradle by gradle.
the class PgpKeyGrouper method groupByModuleComponentId.
private void groupByModuleComponentId(Map.Entry<String, Collection<PgpEntry>> e, List<ModuleComponentIdentifier> moduleComponentIds) {
ModuleComponentIdentifier mci = moduleComponentIds.get(0);
verificationsBuilder.addTrustedKey(e.getKey(), mci.getGroup(), mci.getModule(), mci.getVersion(), null, false);
markKeyDeclaredGlobally(e);
}
Aggregations