Merge branch '3.4.x' into 3.5.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details

Closes gh-46644
This commit is contained in:
Andy Wilkinson 2025-08-01 06:58:17 +01:00
commit 94a90851c5
1 changed files with 1 additions and 25 deletions

View File

@ -20,17 +20,12 @@ import java.io.File;
import java.util.List;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.stream.Stream;
import org.gradle.api.Action;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.Task;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.DependencyConstraint;
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
import org.gradle.api.artifacts.dsl.DependencyConstraintHandler;
import org.gradle.api.artifacts.result.ResolvedArtifactResult;
import org.gradle.api.attributes.Attribute;
import org.gradle.api.attributes.AttributeContainer;
import org.gradle.api.file.FileCollection;
@ -297,26 +292,7 @@ final class JavaPluginAction implements PluginApplicationAction {
productionRuntimeClasspath.setExtendsFrom(runtimeClasspath.getExtendsFrom());
productionRuntimeClasspath.setCanBeResolved(runtimeClasspath.isCanBeResolved());
productionRuntimeClasspath.setCanBeConsumed(runtimeClasspath.isCanBeConsumed());
productionRuntimeClasspath.getDependencyConstraints()
.addAllLater(project.getProviders().provider(() -> constraintsFrom(runtimeClasspath, project)));
}
private Iterable<DependencyConstraint> constraintsFrom(Configuration configuration, Project project) {
DependencyConstraintHandler constraints = project.getDependencies().getConstraints();
return resolvedArtifactsOf(configuration).map((artifact) -> artifact.getId().getComponentIdentifier())
.filter(ModuleComponentIdentifier.class::isInstance)
.map(ModuleComponentIdentifier.class::cast)
.map(this::asConstraintNotation)
.map(constraints::create)
.toList();
}
private Stream<ResolvedArtifactResult> resolvedArtifactsOf(Configuration configuration) {
return configuration.getIncoming().getArtifacts().getArtifacts().stream();
}
private String asConstraintNotation(ModuleComponentIdentifier identifier) {
return "%s:%s:%s".formatted(identifier.getGroup(), identifier.getModule(), identifier.getVersion());
productionRuntimeClasspath.shouldResolveConsistentlyWith(runtimeClasspath);
}
private void configureDevelopmentOnlyConfiguration(Project project) {