Skip to content

Commit f20839b

Browse files
committed
WIP - Port each dependency to specific exclude transitive cmr
1 parent a373082 commit f20839b

File tree

10 files changed

+156
-137
lines changed

10 files changed

+156
-137
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/ElasticsearchJavaBasePlugin.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.elasticsearch.gradle.internal.test.MutedTestPlugin;
1717
import org.elasticsearch.gradle.internal.test.TestUtil;
1818
import org.elasticsearch.gradle.test.SystemPropertyCommandLineArgumentProvider;
19-
import org.elasticsearch.gradle.util.GradleUtils;
2019
import org.gradle.api.JavaVersion;
2120
import org.gradle.api.Plugin;
2221
import org.gradle.api.Project;
@@ -26,8 +25,6 @@
2625
import org.gradle.api.plugins.JavaBasePlugin;
2726
import org.gradle.api.plugins.JavaPluginExtension;
2827
import org.gradle.api.provider.Provider;
29-
import org.gradle.api.tasks.SourceSet;
30-
import org.gradle.api.tasks.SourceSetContainer;
3128
import org.gradle.api.tasks.compile.AbstractCompile;
3229
import org.gradle.api.tasks.compile.CompileOptions;
3330
import org.gradle.api.tasks.compile.GroovyCompile;
@@ -67,7 +64,6 @@ public void apply(Project project) {
6764
project.getPluginManager().apply(ElasticsearchTestBasePlugin.class);
6865
project.getPluginManager().apply(PrecommitTaskPlugin.class);
6966
project.getPluginManager().apply(MutedTestPlugin.class);
70-
7167
configureConfigurations(project);
7268
configureCompile(project);
7369
configureInputNormalization(project);

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/ElasticsearchJavaModulePathPlugin.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -76,18 +76,13 @@ void configureCompileModulePath(Project project) {
7676
it.extendsFrom(compileClasspath);
7777
it.setCanBeResolved(true);
7878
it.setCanBeConsumed(false); // we don't want this configuration used by dependent projects
79-
it.attributes(
80-
attrs -> {
81-
attrs.attribute(
82-
LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE,
83-
project.getObjects().named(LibraryElements.class, LibraryElements.CLASSES)
84-
);
85-
attrs.attribute(
86-
Usage.USAGE_ATTRIBUTE,
87-
project.getObjects().named(Usage.class, Usage.JAVA_API)
88-
);
89-
}
90-
);
79+
it.attributes(attrs -> {
80+
attrs.attribute(
81+
LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE,
82+
project.getObjects().named(LibraryElements.class, LibraryElements.CLASSES)
83+
);
84+
attrs.attribute(Usage.USAGE_ATTRIBUTE, project.getObjects().named(Usage.class, Usage.JAVA_API));
85+
});
9186
}).getIncoming().artifactView(it -> {
9287
it.componentFilter(cf -> {
9388
var visited = new HashSet<ComponentIdentifier>();

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/rules/DependencyRemovalByNameRule.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ public DependencyRemovalByNameRule(String... modulesToRemove) {
2525
@Override
2626
public void execute(ComponentMetadataContext context) {
2727
context.getDetails().allVariants(variants -> {
28-
variants.withDependencies(dependencies -> {
29-
dependencies.removeIf(metadata -> modulesToRemove.contains(metadata.getName()));
30-
});
28+
variants.withDependencies(dependencies -> { dependencies.removeIf(metadata -> modulesToRemove.contains(metadata.getName())); });
3129
});
3230
}
3331
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/rules/ExcludeTransitivesRule.java

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,22 @@
99

1010
package org.elasticsearch.gradle.internal.dependencies.rules;
1111

12-
import org.elasticsearch.gradle.internal.DependencyContext;
1312
import org.gradle.api.artifacts.ComponentMetadataContext;
1413
import org.gradle.api.artifacts.ComponentMetadataRule;
15-
import org.gradle.api.artifacts.VariantMetadata;
16-
import org.gradle.api.attributes.Attribute;
17-
import org.gradle.api.internal.artifacts.repositories.resolver.VariantMetadataAdapter;
1814

1915
//@CacheableRule
2016
public abstract class ExcludeTransitivesRule implements ComponentMetadataRule {
2117

22-
2318
@Override
2419
public void execute(ComponentMetadataContext context) {
2520
context.getDetails().allVariants(variant -> {
2621
variant.withDependencies(dependencies -> {
2722
// Exclude all transitive dependencies
28-
if(dependencies.isEmpty()) {
23+
if (dependencies.isEmpty() == false) {
2924
System.out.println(context.getDetails().getId().getGroup() + ":" + context.getDetails().getId().getName());
3025
}
3126
dependencies.clear();
32-
// dependencies.removeIf(p -> {
33-
// System.out.println("p.getName() = " + p.getName());
34-
// return true;
35-
// });
3627
});
3728
});
3829
}
39-
//
40-
// private boolean isCodeQuality(VariantMetadata variant) {
41-
// // System.out.println("CodeQualityRule#context#variantName = " + ((VariantMetadataAdapter)variant).variantName);
42-
// System.out.println("ExcludeTransitivesRule#context#isCodeQuality = " + ((VariantMetadataAdapter) variant).toString());
43-
// try {
44-
// java.lang.reflect.Field field = VariantMetadataAdapter.class.getDeclaredField("variantName");
45-
// field.setAccessible(true);
46-
// Object variantName = field.get(variant);
47-
// System.out.println("ExcludeTransitivesRule#context#variantName = " + variantName);
48-
// } catch (Exception e) {
49-
// System.out.println("Failed to access variantName: " + e.getMessage());
50-
// }
51-
// DependencyContext attribute = variant.getAttributes().getAttribute(DependencyContext.CONTEXT_ATTRIBUTE);
52-
// return attribute != null && DependencyContext.CODE_QUALITY.equals(attribute.getName());
53-
// }
54-
5530
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/rules/Log4jRule.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ public abstract class Log4jRule implements ComponentMetadataRule {
1818
@Override
1919
public void execute(ComponentMetadataContext context) {
2020
context.getDetails().withVariant("apiElements", variantMetadata -> {
21-
variantMetadata.withDependencies(
22-
deps -> {
23-
deps.add("org.jspecify:jspecify:1.0.0");
24-
deps.add("com.github.spotbugs:spotbugs-annotations:4.9.3");
25-
deps.add("com.google.errorprone:error_prone_annotations:2.38.0");
26-
}
27-
);
21+
variantMetadata.withDependencies(deps -> {
22+
deps.add("org.jspecify:jspecify:1.0.0");
23+
deps.add("com.github.spotbugs:spotbugs-annotations:4.9.3");
24+
deps.add("com.google.errorprone:error_prone_annotations:2.38.0");
25+
});
2826
});
2927
}
3028
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/rules/SpotlessRule2.java

Lines changed: 0 additions & 71 deletions
This file was deleted.

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/CheckstylePrecommitPlugin.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,11 @@ public void execute(Task task) {
9494
CheckstyleExtension checkstyle = project.getExtensions().getByType(CheckstyleExtension.class);
9595
checkstyle.getConfigDirectory().set(checkstyleDir);
9696
Configuration configuration = project.getConfigurations().getByName("checkstyle");
97-
configuration.getAttributes().attribute(
98-
DependencyContext.CONTEXT_ATTRIBUTE,
99-
project.getObjects().named(DependencyContext.class, DependencyContext.CODE_QUALITY)
100-
);
97+
configuration.getAttributes()
98+
.attribute(
99+
DependencyContext.CONTEXT_ATTRIBUTE,
100+
project.getObjects().named(DependencyContext.class, DependencyContext.CODE_QUALITY)
101+
);
101102
DependencyHandler dependencies = project.getDependencies();
102103
Provider<String> conventionsDependencyProvider = project.provider(
103104
() -> "org.elasticsearch:build-conventions:" + project.getVersion()

build-tools/src/main/java/org/elasticsearch/gradle/util/GradleUtils.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
import org.gradle.api.Task;
1515
import org.gradle.api.UnknownTaskException;
1616
import org.gradle.api.artifacts.Configuration;
17-
import org.gradle.api.artifacts.ModuleDependency;
18-
import org.gradle.api.artifacts.ProjectDependency;
1917
import org.gradle.api.plugins.JavaBasePlugin;
2018
import org.gradle.api.plugins.JavaPlugin;
2119
import org.gradle.api.plugins.JavaPluginExtension;

0 commit comments

Comments
 (0)