Skip to content

Commit 75f896d

Browse files
authored
Remove ComponentArtifactResolveState.resolveArtifactsWithType (#35071)
2 parents 81d705b + ca8e7bb commit 75f896d

File tree

5 files changed

+30
-44
lines changed

5 files changed

+30
-44
lines changed

platforms/software/dependency-management/src/main/java/org/gradle/api/internal/artifacts/query/DefaultArtifactResolutionQuery.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
import org.gradle.internal.component.external.model.DefaultModuleComponentIdentifier;
4848
import org.gradle.internal.component.external.model.ImmutableCapabilities;
4949
import org.gradle.internal.component.model.ComponentArtifactMetadata;
50-
import org.gradle.internal.component.model.ComponentArtifactResolveState;
50+
import org.gradle.internal.component.model.ComponentArtifactResolveMetadata;
5151
import org.gradle.internal.component.model.DefaultComponentOverrideMetadata;
5252
import org.gradle.internal.resolve.resolver.ArtifactResolver;
5353
import org.gradle.internal.resolve.resolver.ComponentMetaDataResolver;
@@ -193,31 +193,33 @@ private ComponentIdentifier validateComponentIdentifier(ComponentIdentifier comp
193193
private ComponentArtifactsResult buildComponentResult(ComponentIdentifier componentId, ComponentMetaDataResolver componentMetaDataResolver, ArtifactResolver artifactResolver) {
194194
BuildableComponentResolveResult moduleResolveResult = new DefaultBuildableComponentResolveResult();
195195
componentMetaDataResolver.resolve(componentId, DefaultComponentOverrideMetadata.EMPTY, moduleResolveResult);
196-
ComponentArtifactResolveState componentState = moduleResolveResult.getState().prepareForArtifactResolution();
197-
DefaultComponentArtifactsResult componentResult = new DefaultComponentArtifactsResult(componentState.getId());
196+
ComponentArtifactResolveMetadata component = moduleResolveResult.getState().prepareForArtifactResolution().getArtifactMetadata();
197+
DefaultComponentArtifactsResult componentResult = new DefaultComponentArtifactsResult(component.getId());
198198
for (Class<? extends Artifact> artifactType : artifactTypes) {
199-
moduleResolveResult.getModuleVersionId();
200-
addArtifacts(componentResult, artifactType, componentState, artifactResolver);
199+
addArtifacts(componentResult, artifactType, component, artifactResolver);
201200
}
202201
return componentResult;
203202
}
204203

205-
private <T extends Artifact> void addArtifacts(DefaultComponentArtifactsResult artifacts, Class<T> type, ComponentArtifactResolveState componentState, ArtifactResolver artifactResolver) {
204+
private <T extends Artifact> void addArtifacts(
205+
DefaultComponentArtifactsResult artifacts,
206+
Class<T> type,
207+
ComponentArtifactResolveMetadata component,
208+
ArtifactResolver artifactResolver
209+
) {
206210
BuildableArtifactSetResolveResult artifactSetResolveResult = new DefaultBuildableArtifactSetResolveResult();
207-
componentState.resolveArtifactsWithType(artifactResolver, convertType(type), artifactSetResolveResult);
211+
ArtifactType artifactType = componentTypeRegistry.getComponentRegistration(componentType).getArtifactType(type);
212+
artifactResolver.resolveArtifactsWithType(component, artifactType, artifactSetResolveResult);
208213

209214
for (ComponentArtifactMetadata artifactMetaData : artifactSetResolveResult.getResult()) {
210215
BuildableArtifactResolveResult resolveResult = new DefaultBuildableArtifactResolveResult();
211-
artifactResolver.resolveArtifact(componentState.getArtifactMetadata(), artifactMetaData, resolveResult);
216+
artifactResolver.resolveArtifact(component, artifactMetaData, resolveResult);
212217
try {
213-
artifacts.addArtifact(externalResolverFactory.verifiedArtifact(new DefaultResolvedArtifactResult(artifactMetaData.getId(), ImmutableAttributes.EMPTY, ImmutableCapabilities.EMPTY, Describables.of(componentState.getId().getDisplayName()), type, resolveResult.getResult().getFile())));
218+
artifacts.addArtifact(externalResolverFactory.verifiedArtifact(new DefaultResolvedArtifactResult(artifactMetaData.getId(), ImmutableAttributes.EMPTY, ImmutableCapabilities.EMPTY, Describables.of(component.getId().getDisplayName()), type, resolveResult.getResult().getFile())));
214219
} catch (Exception e) {
215220
artifacts.addArtifact(new DefaultUnresolvedArtifactResult(artifactMetaData.getId(), type, e));
216221
}
217222
}
218223
}
219224

220-
private <T extends Artifact> ArtifactType convertType(Class<T> requestedType) {
221-
return componentTypeRegistry.getComponentRegistration(componentType).getArtifactType(requestedType);
222-
}
223225
}

platforms/software/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/resolver/ExternalResourceResolverDescriptorParseContext.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.gradle.api.internal.component.ArtifactType;
2727
import org.gradle.internal.component.external.model.ModuleComponentArtifactIdentifier;
2828
import org.gradle.internal.component.model.ComponentArtifactMetadata;
29-
import org.gradle.internal.component.model.ComponentArtifactResolveState;
29+
import org.gradle.internal.component.model.ComponentArtifactResolveMetadata;
3030
import org.gradle.internal.component.model.DefaultComponentOverrideMetadata;
3131
import org.gradle.internal.component.model.MutableModuleSources;
3232
import org.gradle.internal.hash.ChecksumService;
@@ -74,18 +74,23 @@ public LocallyAvailableExternalResource getMetaDataArtifact(ModuleComponentSelec
7474
return getMetaDataArtifact((ModuleComponentIdentifier) idResolveResult.getId(), artifactType);
7575
}
7676

77-
private LocallyAvailableExternalResource resolveMetaDataArtifactFile(ModuleComponentIdentifier moduleComponentIdentifier, ComponentMetaDataResolver componentResolver,
78-
ArtifactResolver artifactResolver, ArtifactType artifactType) {
77+
private LocallyAvailableExternalResource resolveMetaDataArtifactFile(
78+
ModuleComponentIdentifier moduleComponentIdentifier,
79+
ComponentMetaDataResolver componentResolver,
80+
ArtifactResolver artifactResolver,
81+
ArtifactType artifactType
82+
) {
7983
BuildableComponentResolveResult moduleVersionResolveResult = new DefaultBuildableComponentResolveResult();
8084
componentResolver.resolve(moduleComponentIdentifier, DefaultComponentOverrideMetadata.EMPTY, moduleVersionResolveResult);
8185

8286
BuildableArtifactSetResolveResult moduleArtifactsResolveResult = new DefaultBuildableArtifactSetResolveResult();
83-
ComponentArtifactResolveState artifactResolveState = moduleVersionResolveResult.getState().prepareForArtifactResolution();
84-
artifactResolveState.resolveArtifactsWithType(artifactResolver, artifactType, moduleArtifactsResolveResult);
87+
ComponentArtifactResolveMetadata artifactMetadata = moduleVersionResolveResult.getState().prepareForArtifactResolution().getArtifactMetadata();
88+
artifactResolver.resolveArtifactsWithType(artifactMetadata, artifactType, moduleArtifactsResolveResult);
8589

8690
BuildableArtifactResolveResult artifactResolveResult = new DefaultBuildableArtifactResolveResult();
8791
ComponentArtifactMetadata artifactMetaData = moduleArtifactsResolveResult.getResult().iterator().next();
88-
artifactResolver.resolveArtifact(artifactResolveState.getArtifactMetadata(), artifactMetaData, artifactResolveResult);
92+
artifactResolver.resolveArtifact(artifactMetadata, artifactMetaData, artifactResolveResult);
93+
8994
File file = artifactResolveResult.getResult().getFile();
9095
LocallyAvailableExternalResource resource = fileResourceRepository.resource(file);
9196
ComponentArtifactIdentifier id = artifactMetaData.getId();

platforms/software/dependency-management/src/main/java/org/gradle/internal/component/model/AbstractComponentGraphResolveState.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,9 @@
2121
import org.gradle.api.internal.artifacts.result.DefaultResolvedVariantResult;
2222
import org.gradle.api.internal.attributes.AttributeDesugaring;
2323
import org.gradle.api.internal.capabilities.ImmutableCapability;
24-
import org.gradle.api.internal.component.ArtifactType;
2524
import org.gradle.internal.Describables;
2625
import org.gradle.internal.component.external.model.DefaultImmutableCapability;
2726
import org.gradle.internal.component.external.model.ImmutableCapabilities;
28-
import org.gradle.internal.resolve.resolver.ArtifactResolver;
29-
import org.gradle.internal.resolve.result.BuildableArtifactSetResolveResult;
3027
import org.jspecify.annotations.Nullable;
3128

3229
import java.util.concurrent.ConcurrentHashMap;
@@ -81,11 +78,6 @@ public ComponentArtifactResolveState prepareForArtifactResolution() {
8178
return this;
8279
}
8380

84-
@Override
85-
public void resolveArtifactsWithType(ArtifactResolver artifactResolver, ArtifactType artifactType, BuildableArtifactSetResolveResult result) {
86-
artifactResolver.resolveArtifactsWithType(getArtifactMetadata(), artifactType, result);
87-
}
88-
8981
@Override
9082
public ImmutableCapability getDefaultCapability() {
9183
return implicitCapability;

platforms/software/dependency-management/src/main/java/org/gradle/internal/component/model/ComponentArtifactResolveState.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717
package org.gradle.internal.component.model;
1818

1919
import org.gradle.api.artifacts.component.ComponentIdentifier;
20-
import org.gradle.api.internal.component.ArtifactType;
21-
import org.gradle.internal.resolve.resolver.ArtifactResolver;
22-
import org.gradle.internal.resolve.result.BuildableArtifactSetResolveResult;
2320

2421
/**
2522
* State for a component instance that is used to perform artifact resolution.
@@ -37,15 +34,12 @@
3734
* <p>Instances of this type are created using {@link ComponentGraphResolveState#prepareForArtifactResolution()}.</p>
3835
*/
3936
public interface ComponentArtifactResolveState {
37+
4038
ComponentIdentifier getId();
4139

4240
/**
4341
* Metadata for this component's artifacts.
4442
*/
4543
ComponentArtifactResolveMetadata getArtifactMetadata();
4644

47-
/**
48-
* Discovers the set of artifacts belonging to this component, with the type specified. Does not download the artifacts. Any failures are packaged up in the result.
49-
*/
50-
void resolveArtifactsWithType(ArtifactResolver artifactResolver, ArtifactType artifactType, BuildableArtifactSetResolveResult result);
5145
}

platforms/software/dependency-management/src/test/groovy/org/gradle/api/internal/artifacts/query/DefaultArtifactResolutionQueryTest.groovy

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package org.gradle.api.internal.artifacts.query
1818

19-
import org.gradle.api.artifacts.ModuleVersionIdentifier
2019
import org.gradle.api.artifacts.component.ComponentIdentifier
2120
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
2221
import org.gradle.api.artifacts.result.ArtifactResolutionResult
@@ -31,8 +30,6 @@ import org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ExternalModuleCom
3130
import org.gradle.api.internal.component.ComponentTypeRegistration
3231
import org.gradle.api.internal.component.ComponentTypeRegistry
3332
import org.gradle.internal.component.external.model.DefaultModuleComponentIdentifier
34-
import org.gradle.internal.component.model.ComponentArtifactResolveState
35-
import org.gradle.internal.component.model.ComponentGraphResolveMetadata
3633
import org.gradle.internal.component.model.ComponentGraphResolveState
3734
import org.gradle.internal.component.model.ComponentGraphSpecificResolveState
3835
import org.gradle.internal.component.model.ComponentOverrideMetadata
@@ -129,15 +126,11 @@ class DefaultArtifactResolutionQueryTest extends Specification {
129126
1 * externalResolverFactory.createResolvers(_, _, _, _, _, _) >> repositoryChain
130127
1 * repositoryChain.artifactResolver >> artifactResolver
131128
1 * repositoryChain.componentResolver >> componentMetaDataResolver
132-
def state = Mock(ComponentGraphResolveState)
133-
134-
def metadata = Mock(ComponentGraphResolveMetadata)
135-
_ * state.getMetadata() >> metadata
136-
_ * state.prepareForArtifactResolution() >> Mock(ComponentArtifactResolveState)
137-
_ * metadata.getModuleVersionId() >> Mock(ModuleVersionIdentifier)
138-
139129
numberOfComponentsToResolve * componentMetaDataResolver.resolve(_, _, _) >> { ComponentIdentifier componentId, ComponentOverrideMetadata requestMetaData, BuildableComponentResolveResult resolveResult ->
140-
resolveResult.resolved(state, Stub(ComponentGraphSpecificResolveState))
130+
resolveResult.resolved(
131+
Stub(ComponentGraphResolveState),
132+
Stub(ComponentGraphSpecificResolveState)
133+
)
141134
}
142135
}
143136

0 commit comments

Comments
 (0)