diff options
author | Kristóf Marussy <kristof@marussy.com> | 2024-07-10 19:11:53 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2024-07-10 19:11:53 +0200 |
commit | 3943d64bb73e6863ecb9b5d921bc05b0c3fe4ad9 (patch) | |
tree | ec54d2123a32cafbf75e00c23fef0b03ed4cdf9e /subprojects | |
parent | feat: generator facade timeout and non-existent objects (diff) | |
download | refinery-3943d64bb73e6863ecb9b5d921bc05b0c3fe4ad9.tar.gz refinery-3943d64bb73e6863ecb9b5d921bc05b0c3fe4ad9.tar.zst refinery-3943d64bb73e6863ecb9b5d921bc05b0c3fe4ad9.zip |
build: pin transitive dependencies
Make sure we don't duplicate dependency versions.
org.ow2.asm:asm is still duplicated, because Xtext needs 9.7 but JaCoCo needs
9.6 instead. This only affects the jacocoAnt configuration of our Java projects.
Diffstat (limited to 'subprojects')
3 files changed, 13 insertions, 13 deletions
diff --git a/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/RefineryJavaPlugin.java b/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/RefineryJavaPlugin.java index 434010d5..4107695e 100644 --- a/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/RefineryJavaPlugin.java +++ b/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/RefineryJavaPlugin.java | |||
@@ -7,6 +7,7 @@ package tools.refinery.gradle.plugins; | |||
7 | 7 | ||
8 | import org.gradle.api.Plugin; | 8 | import org.gradle.api.Plugin; |
9 | import org.gradle.api.Project; | 9 | import org.gradle.api.Project; |
10 | import org.gradle.api.artifacts.Configuration; | ||
10 | import org.gradle.api.component.AdhocComponentWithVariants; | 11 | import org.gradle.api.component.AdhocComponentWithVariants; |
11 | import org.gradle.api.component.ConfigurationVariantDetails; | 12 | import org.gradle.api.component.ConfigurationVariantDetails; |
12 | import org.gradle.api.internal.tasks.JvmConstants; | 13 | import org.gradle.api.internal.tasks.JvmConstants; |
@@ -24,6 +25,7 @@ import tools.refinery.gradle.plugins.internal.Versions; | |||
24 | 25 | ||
25 | import java.lang.reflect.InvocationTargetException; | 26 | import java.lang.reflect.InvocationTargetException; |
26 | import java.lang.reflect.Method; | 27 | import java.lang.reflect.Method; |
28 | import java.util.Map; | ||
27 | 29 | ||
28 | public class RefineryJavaPlugin implements Plugin<Project> { | 30 | public class RefineryJavaPlugin implements Plugin<Project> { |
29 | private static final String JUNIT_API = "org.junit.jupiter:junit-jupiter-api"; | 31 | private static final String JUNIT_API = "org.junit.jupiter:junit-jupiter-api"; |
@@ -97,15 +99,17 @@ public class RefineryJavaPlugin implements Plugin<Project> { | |||
97 | dependencies.enforcedPlatform(artifact) : dependencies.platform(artifact); | 99 | dependencies.enforcedPlatform(artifact) : dependencies.platform(artifact); |
98 | })); | 100 | })); |
99 | 101 | ||
102 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, | ||
103 | SLF4J_LOG4J, extension.getUseSlf4JLog4J()); | ||
100 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, | 104 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, |
101 | SLF4J_LOG4J, extension.getUseSlf4JLog4J()); | 105 | SLF4J_LOG4J, extension.getUseSlf4JLog4J()); |
102 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, | 106 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, |
103 | SLF4J_LOG4J, extension.getUseSlf4JLog4J().map(value -> | 107 | SLF4J_LOG4J, extension.getUseSlf4JLog4J().map(value -> |
104 | Boolean.TRUE.equals(value) && target.getPlugins().hasPlugin(ApplicationPlugin.class))); | 108 | Boolean.TRUE.equals(value) && target.getPlugins().hasPlugin(ApplicationPlugin.class))); |
105 | 109 | ||
106 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, | 110 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, |
107 | SLF4J_SIMPLE, extension.getUseSlf4JSimple()); | 111 | SLF4J_SIMPLE, extension.getUseSlf4JSimple()); |
108 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME, | 112 | RefineryPluginUtils.addConditionalDependency(dependencies, JavaPlugin.RUNTIME_ONLY_CONFIGURATION_NAME, |
109 | SLF4J_SIMPLE, extension.getUseSlf4JSimple().map(value -> | 113 | SLF4J_SIMPLE, extension.getUseSlf4JSimple().map(value -> |
110 | Boolean.TRUE.equals(value) && target.getPlugins().hasPlugin(ApplicationPlugin.class))); | 114 | Boolean.TRUE.equals(value) && target.getPlugins().hasPlugin(ApplicationPlugin.class))); |
111 | 115 | ||
@@ -197,10 +201,12 @@ public class RefineryJavaPlugin implements Plugin<Project> { | |||
197 | } | 201 | } |
198 | 202 | ||
199 | private static void excludeLog4J(Project project) { | 203 | private static void excludeLog4J(Project project) { |
200 | RefineryPluginUtils.excludeLog4J(project, JavaPlugin.TEST_RUNTIME_CLASSPATH_CONFIGURATION_NAME); | 204 | project.getConfigurations().withType(Configuration.class, configuration -> { |
201 | if (project.getPlugins().hasPlugin(ApplicationPlugin.class)) { | 205 | if (configuration.getName().endsWith("Classpath")) { |
202 | RefineryPluginUtils.excludeLog4J(project, JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME); | 206 | configuration.exclude(Map.of("group", "log4j", "module", "log4j")); |
203 | } | 207 | configuration.exclude(Map.of("group", "ch.qos.reload4j", "module", "reload4j")); |
208 | } | ||
209 | }); | ||
204 | } | 210 | } |
205 | 211 | ||
206 | private static void configureJunitPlatform(Project project) { | 212 | private static void configureJunitPlatform(Project project) { |
diff --git a/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/internal/RefineryPluginUtils.java b/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/internal/RefineryPluginUtils.java index 35ebdae4..0004f249 100644 --- a/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/internal/RefineryPluginUtils.java +++ b/subprojects/gradle-plugins/src/main/java/tools/refinery/gradle/plugins/internal/RefineryPluginUtils.java | |||
@@ -12,7 +12,6 @@ import org.gradle.api.artifacts.dsl.DependencyHandler; | |||
12 | import org.gradle.api.provider.Provider; | 12 | import org.gradle.api.provider.Provider; |
13 | 13 | ||
14 | import java.util.List; | 14 | import java.util.List; |
15 | import java.util.Map; | ||
16 | 15 | ||
17 | public final class RefineryPluginUtils { | 16 | public final class RefineryPluginUtils { |
18 | public static final String VERSION_PROPERTY = "tools.refinery.version"; | 17 | public static final String VERSION_PROPERTY = "tools.refinery.version"; |
@@ -26,11 +25,6 @@ public final class RefineryPluginUtils { | |||
26 | throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly."); | 25 | throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly."); |
27 | } | 26 | } |
28 | 27 | ||
29 | public static void excludeLog4J(Project project, String configurationName) { | ||
30 | var testRuntimeClasspath = project.getConfigurations().getByName(configurationName); | ||
31 | testRuntimeClasspath.exclude(Map.of("group", "log4j", "module", "log4j")); | ||
32 | } | ||
33 | |||
34 | public static void withShadowPlugin(Project project, Action<? super Project> action) { | 28 | public static void withShadowPlugin(Project project, Action<? super Project> action) { |
35 | // Method parameter in Gradle API uses raw type. | 29 | // Method parameter in Gradle API uses raw type. |
36 | @SuppressWarnings("rawtypes") | 30 | @SuppressWarnings("rawtypes") |
diff --git a/subprojects/versions/build.gradle.kts b/subprojects/versions/build.gradle.kts index 8137a32d..054158cb 100644 --- a/subprojects/versions/build.gradle.kts +++ b/subprojects/versions/build.gradle.kts | |||
@@ -17,7 +17,7 @@ mavenArtifact { | |||
17 | } | 17 | } |
18 | 18 | ||
19 | val refineryVersion = "refinery" | 19 | val refineryVersion = "refinery" |
20 | val interpreterVersion = "refineryInterpreter" | 20 | val interpreterVersion = "refinery-interpreter" |
21 | val interpreterGroup = property("tools.refinery.interpreter.group").toString() | 21 | val interpreterGroup = property("tools.refinery.interpreter.group").toString() |
22 | val shadowVersion = "shadow" | 22 | val shadowVersion = "shadow" |
23 | 23 | ||