Ensure that check for unnecessary exclusions runs on classpath change
Closes gh-37307
This commit is contained in:
parent
5bbd4bba91
commit
0b3a5f2489
|
@ -38,6 +38,8 @@ import org.gradle.api.artifacts.ModuleDependency;
|
||||||
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
|
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
|
||||||
import org.gradle.api.artifacts.dsl.DependencyHandler;
|
import org.gradle.api.artifacts.dsl.DependencyHandler;
|
||||||
import org.gradle.api.artifacts.result.ResolvedArtifactResult;
|
import org.gradle.api.artifacts.result.ResolvedArtifactResult;
|
||||||
|
import org.gradle.api.file.FileCollection;
|
||||||
|
import org.gradle.api.tasks.Classpath;
|
||||||
import org.gradle.api.tasks.Input;
|
import org.gradle.api.tasks.Input;
|
||||||
import org.gradle.api.tasks.TaskAction;
|
import org.gradle.api.tasks.TaskAction;
|
||||||
|
|
||||||
|
@ -61,6 +63,8 @@ public class CheckClasspathForUnnecessaryExclusions extends DefaultTask {
|
||||||
|
|
||||||
private final ConfigurationContainer configurations;
|
private final ConfigurationContainer configurations;
|
||||||
|
|
||||||
|
private Configuration classpath;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CheckClasspathForUnnecessaryExclusions(DependencyHandler dependencyHandler,
|
public CheckClasspathForUnnecessaryExclusions(DependencyHandler dependencyHandler,
|
||||||
ConfigurationContainer configurations) {
|
ConfigurationContainer configurations) {
|
||||||
|
@ -72,11 +76,17 @@ public class CheckClasspathForUnnecessaryExclusions extends DefaultTask {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setClasspath(Configuration classpath) {
|
public void setClasspath(Configuration classpath) {
|
||||||
|
this.classpath = classpath;
|
||||||
this.exclusionsByDependencyId.clear();
|
this.exclusionsByDependencyId.clear();
|
||||||
this.dependencyById.clear();
|
this.dependencyById.clear();
|
||||||
classpath.getAllDependencies().all(this::processDependency);
|
classpath.getAllDependencies().all(this::processDependency);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Classpath
|
||||||
|
public FileCollection getClasspath() {
|
||||||
|
return this.classpath;
|
||||||
|
}
|
||||||
|
|
||||||
private void processDependency(Dependency dependency) {
|
private void processDependency(Dependency dependency) {
|
||||||
if (dependency instanceof ModuleDependency) {
|
if (dependency instanceof ModuleDependency) {
|
||||||
processDependency((ModuleDependency) dependency);
|
processDependency((ModuleDependency) dependency);
|
||||||
|
|
Loading…
Reference in New Issue