|
1 | 1 | /*
|
2 |
| - * Copyright 2014-2023 the original author or authors. |
| 2 | + * Copyright 2014-2024 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
|
24 | 24 | import org.gradle.api.artifacts.Configuration;
|
25 | 25 | import org.gradle.api.artifacts.Dependency;
|
26 | 26 | import org.gradle.api.artifacts.DependencyResolveDetails;
|
| 27 | +import org.gradle.api.artifacts.ModuleVersionSelector; |
27 | 28 | import org.gradle.api.artifacts.ResolutionStrategy;
|
28 | 29 | import org.slf4j.Logger;
|
29 | 30 | import org.slf4j.LoggerFactory;
|
@@ -59,44 +60,44 @@ class VersionConfiguringAction implements Action<DependencyResolveDetails> {
|
59 | 60 |
|
60 | 61 | @Override
|
61 | 62 | public void execute(DependencyResolveDetails details) {
|
62 |
| - logger.debug("Processing dependency '{}'", details.getRequested()); |
63 |
| - if (isDependencyOnLocalProject(this.project, details)) { |
64 |
| - logger.debug("'{}' is a local project dependency. Dependency management has not been applied", |
65 |
| - details.getRequested()); |
| 63 | + ModuleVersionSelector target = details.getTarget(); |
| 64 | + logger.debug("Processing requested dependency '{}' with target '{}", details.getRequested(), target); |
| 65 | + if (isDependencyOnLocalProject(this.project, target)) { |
| 66 | + logger.debug("'{}' is a local project dependency. Dependency management has not been applied", target); |
66 | 67 | return;
|
67 | 68 | }
|
68 |
| - if (isDirectDependency(details) && Versions.isDynamic(details.getRequested().getVersion())) { |
| 69 | + if (isDirectDependency(target) && Versions.isDynamic(target.getVersion())) { |
69 | 70 | logger.debug("'{}' is a direct dependency and has a dynamic version. "
|
70 |
| - + "Dependency management has not been applied", details.getRequested()); |
| 71 | + + "Dependency management has not been applied", target); |
71 | 72 | return;
|
72 | 73 | }
|
73 |
| - String version = this.dependencyManagementContainer.getManagedVersion(this.configuration, |
74 |
| - details.getRequested().getGroup(), details.getRequested().getName()); |
| 74 | + String version = this.dependencyManagementContainer.getManagedVersion(this.configuration, target.getGroup(), |
| 75 | + target.getName()); |
75 | 76 | if (version != null) {
|
76 |
| - logger.debug("Using version '{}' for dependency '{}'", version, details.getRequested()); |
| 77 | + logger.debug("Using version '{}' for dependency '{}'", version, target); |
77 | 78 | details.useVersion(version);
|
78 | 79 | return;
|
79 | 80 | }
|
80 |
| - logger.debug("No dependency management for dependency '{}'", details.getRequested()); |
| 81 | + logger.debug("No dependency management for dependency '{}'", target); |
81 | 82 | }
|
82 | 83 |
|
83 |
| - private boolean isDirectDependency(DependencyResolveDetails details) { |
| 84 | + private boolean isDirectDependency(ModuleVersionSelector selector) { |
84 | 85 | if (this.directDependencies == null) {
|
85 | 86 | Set<String> directDependencies = new HashSet<>();
|
86 | 87 | for (Dependency dependency : this.configuration.getAllDependencies()) {
|
87 | 88 | directDependencies.add(dependency.getGroup() + ":" + dependency.getName());
|
88 | 89 | }
|
89 | 90 | this.directDependencies = directDependencies;
|
90 | 91 | }
|
91 |
| - return this.directDependencies.contains(getId(details)); |
| 92 | + return this.directDependencies.contains(getId(selector)); |
92 | 93 | }
|
93 | 94 |
|
94 |
| - private boolean isDependencyOnLocalProject(Project project, DependencyResolveDetails details) { |
95 |
| - return this.localProjects.getNames().contains(getId(details)); |
| 95 | + private boolean isDependencyOnLocalProject(Project project, ModuleVersionSelector selector) { |
| 96 | + return this.localProjects.getNames().contains(getId(selector)); |
96 | 97 | }
|
97 | 98 |
|
98 |
| - private String getId(DependencyResolveDetails details) { |
99 |
| - return details.getRequested().getGroup() + ":" + details.getRequested().getName(); |
| 99 | + private String getId(ModuleVersionSelector selector) { |
| 100 | + return selector.getGroup() + ":" + selector.getName(); |
100 | 101 | }
|
101 | 102 |
|
102 | 103 | ResolutionStrategy applyTo(Configuration c) {
|
|
0 commit comments