diff options
8 files changed, 111 insertions, 33 deletions
diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/java-application.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/java-application.gradle.kts index 68a44f47..469ebf59 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/java-application.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/java-application.gradle.kts | |||
@@ -12,11 +12,6 @@ plugins { | |||
12 | id("tools.refinery.gradle.java-conventions") | 12 | id("tools.refinery.gradle.java-conventions") |
13 | } | 13 | } |
14 | 14 | ||
15 | // Use log4j-over-slf4j instead of log4j 1.x when running the application. | ||
16 | configurations.runtimeClasspath { | ||
17 | exclude(group = "log4j", module = "log4j") | ||
18 | } | ||
19 | |||
20 | val libs = the<LibrariesForLibs>() | 15 | val libs = the<LibrariesForLibs>() |
21 | 16 | ||
22 | dependencies { | 17 | dependencies { |
diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/java-conventions.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/java-conventions.gradle.kts index db0c87c5..620543a3 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/java-conventions.gradle.kts | |||
@@ -18,26 +18,29 @@ repositories { | |||
18 | mavenCentral() | 18 | mavenCentral() |
19 | } | 19 | } |
20 | 20 | ||
21 | // Use log4j-over-slf4j instead of log4j 1.x in the tests. | 21 | configurations.withType(Configuration::class) { |
22 | configurations.testRuntimeClasspath { | 22 | if (name.endsWith("Classpath")) { |
23 | exclude(group = "log4j", module = "log4j") | 23 | exclude(group = "log4j", module = "log4j") |
24 | exclude(group = "ch.qos.reload4j", module = "reload4j") | ||
25 | } | ||
24 | } | 26 | } |
25 | 27 | ||
26 | val libs = the<LibrariesForLibs>() | 28 | val libs = the<LibrariesForLibs>() |
27 | 29 | ||
28 | dependencies { | 30 | dependencies { |
29 | compileOnly(libs.jetbrainsAnnotations) | 31 | compileOnly(libs.jetbrainsAnnotations) |
32 | compileOnly(libs.slf4j.log4j) | ||
30 | testCompileOnly(libs.jetbrainsAnnotations) | 33 | testCompileOnly(libs.jetbrainsAnnotations) |
31 | testImplementation(libs.hamcrest) | 34 | testImplementation(libs.hamcrest) |
32 | testImplementation(libs.junit.api) | 35 | testImplementation(libs.junit.api) |
33 | testImplementation(enforcedPlatform(libs.junit.bom)) | 36 | testImplementation(enforcedPlatform(project(":refinery-bom-dependencies"))) |
34 | testRuntimeOnly(libs.junit.engine) | 37 | testRuntimeOnly(libs.junit.engine) |
35 | testRuntimeOnly(libs.junit.launcher) | 38 | testRuntimeOnly(libs.junit.launcher) |
39 | testRuntimeOnly(libs.slf4j.simple) | ||
36 | testImplementation(libs.junit.params) | 40 | testImplementation(libs.junit.params) |
37 | testImplementation(libs.mockito.core) | 41 | testImplementation(libs.mockito.core) |
38 | testImplementation(libs.mockito.junit) | 42 | testImplementation(libs.mockito.junit) |
39 | testImplementation(libs.slf4j.simple) | 43 | testImplementation(libs.slf4j.log4j) |
40 | testRuntimeOnly(libs.slf4j.log4j) | ||
41 | } | 44 | } |
42 | 45 | ||
43 | java { | 46 | java { |
diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/jmh.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/jmh.gradle.kts index fbbbba11..5dde7033 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/jmh.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/jmh.gradle.kts | |||
@@ -35,7 +35,10 @@ configurations["jmhRuntimeOnly"].extendsFrom(configurations.runtimeOnly.get(), c | |||
35 | val libs = the<LibrariesForLibs>() | 35 | val libs = the<LibrariesForLibs>() |
36 | 36 | ||
37 | dependencies { | 37 | dependencies { |
38 | jmhImplementation(enforcedPlatform(project(":refinery-bom-dependencies"))) | ||
38 | jmhImplementation(libs.jmh.core) | 39 | jmhImplementation(libs.jmh.core) |
40 | jmhImplementation(libs.slf4j.log4j) | ||
41 | jmhImplementation(libs.slf4j.simple) | ||
39 | jmhAnnotationProcessor(libs.jmh.annprocess) | 42 | jmhAnnotationProcessor(libs.jmh.annprocess) |
40 | } | 43 | } |
41 | 44 | ||
diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/mwe2.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/mwe2.gradle.kts index 91251b45..c20adb85 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/mwe2.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/mwe2.gradle.kts | |||
@@ -15,15 +15,19 @@ val mwe2: Configuration by configurations.creating { | |||
15 | isCanBeConsumed = false | 15 | isCanBeConsumed = false |
16 | isCanBeResolved = true | 16 | isCanBeResolved = true |
17 | extendsFrom(configurations.implementation.get()) | 17 | extendsFrom(configurations.implementation.get()) |
18 | // Exclude also here, because the name of this configuration doesn't end with {@code Classpath}, | ||
19 | // so it isn't caught by {@code tools.refinery.gradle.java-conventions}. | ||
18 | exclude(group = "log4j", module = "log4j") | 20 | exclude(group = "log4j", module = "log4j") |
21 | exclude(group = "ch.qos.reload4j", module = "reload4j") | ||
19 | } | 22 | } |
20 | 23 | ||
21 | val libs = the<LibrariesForLibs>() | 24 | val libs = the<LibrariesForLibs>() |
22 | 25 | ||
23 | dependencies { | 26 | dependencies { |
27 | mwe2(enforcedPlatform(project(":refinery-bom-dependencies"))) | ||
24 | mwe2(libs.mwe2.launch) | 28 | mwe2(libs.mwe2.launch) |
25 | mwe2(libs.slf4j.simple) | ||
26 | mwe2(libs.slf4j.log4j) | 29 | mwe2(libs.slf4j.log4j) |
30 | mwe2(libs.slf4j.simple) | ||
27 | } | 31 | } |
28 | 32 | ||
29 | eclipse.classpath.plusConfigurations += mwe2 | 33 | eclipse.classpath.plusConfigurations += mwe2 |
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f57f4597..3ef535e7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml | |||
@@ -3,35 +3,99 @@ | |||
3 | # SPDX-License-Identifier: EPL-2.0 | 3 | # SPDX-License-Identifier: EPL-2.0 |
4 | 4 | ||
5 | [versions] | 5 | [versions] |
6 | antlr = "3.2" # To retain Xtext compatibility, this mustn't be increased | ||
7 | apiguardian = "1.1.2" | ||
8 | asm = "9.7" | ||
9 | classgraph = "4.8.174" | ||
10 | eclipse-commands = "3.12.100" | ||
11 | eclipse-contenttype = "3.9.400" | ||
12 | eclipse-debug = "3.21.400" | ||
13 | eclipse-filesystem = "1.10.400" | ||
14 | eclipse-jobs = "3.15.300" | ||
15 | eclipse-osgi = "3.20.0" | ||
16 | eclipse-resources = "3.20.200" | ||
17 | eclipse-runtime = "3.31.100" | ||
18 | eclipse-text = "3.14.100" | ||
19 | eclipse-variables = "3.6.400" | ||
6 | eclipseCollections = "11.1.0" | 20 | eclipseCollections = "11.1.0" |
7 | ecore = "2.36.0" | 21 | ecore = "2.36.0" |
8 | ecoreCodegen = "2.38.0" | 22 | ecore-change = "2.16.0" |
9 | ecoreXmi = "2.37.0" | 23 | ecore-codegen = "2.38.0" |
24 | ecore-xmi = "2.37.0" | ||
25 | emf-codegen = "2.23.0" | ||
26 | emf-common = "2.30.0" | ||
27 | equinox-common = "3.19.100" | ||
28 | equinox-preferences = "3.11.100" | ||
29 | equinox-registry = "3.12.100" | ||
30 | errorprone = "2.28.0" | ||
31 | findbugs = "3.0.2" | ||
32 | guava = "33.2.1-jre" | ||
33 | guice = "7.0.0" | ||
10 | gson = "2.11.0" | 34 | gson = "2.11.0" |
11 | hamcrest = "2.2" | 35 | hamcrest = "2.2" |
36 | jakartaInject = "2.0.1" | ||
12 | jcommander = "1.83" | 37 | jcommander = "1.83" |
38 | jdt-core = "3.38.0" | ||
39 | jdt-debug = "3.21.400" | ||
40 | jdt-launching = "3.22.0" | ||
13 | jetbrainsAnnotations = "24.1.0" | 41 | jetbrainsAnnotations = "24.1.0" |
14 | jetty = "12.0.11" | 42 | jetty = "12.0.11" |
15 | jmh = "1.37" | 43 | jmh = "1.37" |
44 | jna = "5.14.0" | ||
16 | junit = "5.10.3" | 45 | junit = "5.10.3" |
46 | lsp4j = "0.23.1" | ||
17 | mockito = "5.12.0" | 47 | mockito = "5.12.0" |
18 | mwe = "1.12.0" | 48 | mwe = "1.12.0" |
19 | mwe2 = "2.18.0" | 49 | mwe2 = "2.18.0" |
50 | opentest4j = "1.3.0" | ||
20 | ortools = "9.10.4067" | 51 | ortools = "9.10.4067" |
21 | refineryZ3 = "4.12.6" | 52 | protobuf = "4.27.2" |
53 | refinery-z3 = "4.12.6" | ||
22 | slf4j = "2.0.13" | 54 | slf4j = "2.0.13" |
23 | xtext = "2.35.0" | 55 | xtext = "2.35.0" |
24 | xtextAntlrGenerator = "2.1.1" | 56 | xtext-generator-antlr = "2.1.1" |
25 | 57 | ||
26 | [libraries] | 58 | [libraries] |
59 | antlr = { group = "org.antlr", name = "antlr-runtime", version.ref = "antlr" } | ||
60 | apiguardian = { group = "org.apiguardian", name = "apiguardian-api", version.ref = "apiguardian" } | ||
61 | asm = { group = "org.ow2.asm", name = "asm", version.ref = "asm" } | ||
62 | asm-commons = { group = "org.ow2.asm", name = "asm-commons", version.ref = "asm" } | ||
63 | asm-tree = { group = "org.ow2.asm", name = "asm-tree", version.ref = "asm" } | ||
64 | classgraph = { group = "io.github.classgraph", name = "classgraph", version.ref = "classgraph" } | ||
65 | eclipse-commands = { group = "org.eclipse.platform", name = "org.eclipse.core.commands", version.ref = "eclipse-commands" } | ||
66 | eclipse-contenttype = { group = "org.eclipse.platform", name = "org.eclipse.core.contenttype", version.ref = "eclipse-contenttype" } | ||
67 | eclipse-debug = { group = "org.eclipse.platform", name = "org.eclipse.debug.core", version.ref = "eclipse-debug" } | ||
68 | eclipse-expressions = { group = "org.eclipse.platform", name = "org.eclipse.core.expressions", version.ref = "eclipse-contenttype" } | ||
69 | eclipse-filesystem = { group = "org.eclipse.platform", name = "org.eclipse.core.filesystem", version.ref = "eclipse-filesystem" } | ||
70 | eclipse-jobs = { group = "org.eclipse.platform", name = "org.eclipse.core.jobs", version.ref = "eclipse-jobs" } | ||
71 | eclipse-osgi = { group = "org.eclipse.platform", name = "org.eclipse.osgi", version.ref = "eclipse-osgi" } | ||
72 | eclipse-resources = { group = "org.eclipse.platform", name = "org.eclipse.core.resources", version.ref = "eclipse-resources" } | ||
73 | eclipse-runtime = { group = "org.eclipse.platform", name = "org.eclipse.core.runtime", version.ref = "eclipse-runtime" } | ||
74 | eclipse-text = { group = "org.eclipse.platform", name = "org.eclipse.text", version.ref = "eclipse-text" } | ||
75 | eclipse-variables = { group = "org.eclipse.platform", name = "org.eclipse.core.variables", version.ref = "eclipse-variables" } | ||
27 | eclipseCollections = { group = "org.eclipse.collections", name = "eclipse-collections-api", version.ref = "eclipseCollections" } | 76 | eclipseCollections = { group = "org.eclipse.collections", name = "eclipse-collections-api", version.ref = "eclipseCollections" } |
28 | eclipseCollections-impl = { group = "org.eclipse.collections", name = "eclipse-collections", version.ref = "eclipseCollections" } | 77 | eclipseCollections-impl = { group = "org.eclipse.collections", name = "eclipse-collections", version.ref = "eclipseCollections" } |
29 | ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version.ref = "ecore" } | 78 | ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version.ref = "ecore" } |
30 | ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version.ref = "ecoreCodegen" } | 79 | ecore-change = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.change", version.ref = "ecore-change" } |
31 | ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version.ref = "ecoreXmi" } | 80 | ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version.ref = "ecore-codegen" } |
81 | ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version.ref = "ecore-xmi" } | ||
82 | emf-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen", version.ref = "emf-codegen" } | ||
83 | emf-common = { group = "org.eclipse.emf", name = "org.eclipse.emf.common", version.ref = "emf-common" } | ||
84 | equinox-common = { group = "org.eclipse.platform", name = "org.eclipse.equinox.common", version.ref = "equinox-common" } | ||
85 | equinox-preferences = { group = "org.eclipse.platform", name = "org.eclipse.equinox.preferences", version.ref = "equinox-preferences" } | ||
86 | equinox-registry = { group = "org.eclipse.platform", name = "org.eclipse.equinox.registry", version.ref = "equinox-registry" } | ||
87 | errorprone-annotations = { group = "com.google.errorprone", name = "error_prone_annotations", version.ref = "errorprone" } | ||
88 | findbugs-jsr305 = { group = "com.google.code.findbugs", name = "jsr305", version.ref = "findbugs" } | ||
32 | gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } | 89 | gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } |
90 | guava = { group = "com.google.guava", name = "guava", version.ref = "guava" } | ||
91 | guice = { group = "com.google.inject", name = "guice", version.ref = "guice" } | ||
33 | hamcrest = { group = "org.hamcrest", name = "hamcrest", version.ref = "hamcrest" } | 92 | hamcrest = { group = "org.hamcrest", name = "hamcrest", version.ref = "hamcrest" } |
34 | jcommander = { group = "org.jcommander", name = "jcommander", version.ref = "jcommander" } | 93 | jcommander = { group = "org.jcommander", name = "jcommander", version.ref = "jcommander" } |
94 | jdt-core = { group = "org.eclipse.jdt", name = "org.eclipse.jdt.core", version.ref = "jdt-core" } | ||
95 | jdt-debug = { group = "org.eclipse.jdt", name = "org.eclipse.jdt.debug", version.ref = "jdt-debug" } | ||
96 | jdt-ecj = { group = "org.eclipse.jdt", name = "ecj", version.ref = "jdt-core" } | ||
97 | jdt-launching = { group = "org.eclipse.jdt", name = "org.eclipse.jdt.launching", version.ref = "jdt-launching" } | ||
98 | jakartaInject = { group = "jakarta.inject", name = "jakarta.inject-api", version.ref = "jakartaInject" } | ||
35 | jetbrainsAnnotations = { group = "org.jetbrains", name = "annotations", version.ref = "jetbrainsAnnotations" } | 99 | jetbrainsAnnotations = { group = "org.jetbrains", name = "annotations", version.ref = "jetbrainsAnnotations" } |
36 | jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" } | 100 | jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" } |
37 | jetty-servlet = { group = "org.eclipse.jetty.ee10", name = "jetty-ee10-servlet", version.ref = "jetty" } | 101 | jetty-servlet = { group = "org.eclipse.jetty.ee10", name = "jetty-ee10-servlet", version.ref = "jetty" } |
@@ -40,24 +104,33 @@ jetty-websocket-client = { group = "org.eclipse.jetty.websocket", name = "jetty- | |||
40 | jetty-websocket-server = { group = "org.eclipse.jetty.ee10.websocket", name = "jetty-ee10-websocket-jetty-server", version.ref = "jetty" } | 104 | jetty-websocket-server = { group = "org.eclipse.jetty.ee10.websocket", name = "jetty-ee10-websocket-jetty-server", version.ref = "jetty" } |
41 | jmh-core = { group = "org.openjdk.jmh", name = "jmh-core", version.ref = "jmh" } | 105 | jmh-core = { group = "org.openjdk.jmh", name = "jmh-core", version.ref = "jmh" } |
42 | jmh-annprocess = { group = "org.openjdk.jmh", name = "jmh-generator-annprocess", version.ref = "jmh" } | 106 | jmh-annprocess = { group = "org.openjdk.jmh", name = "jmh-generator-annprocess", version.ref = "jmh" } |
107 | jna = { group = "net.java.dev.jna", name = "jna", version.ref = "jna" } | ||
108 | jna-platform = { group = "net.java.dev.jna", name = "jna-platform", version.ref = "jna" } | ||
43 | junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api" } | 109 | junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api" } |
44 | junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit" } | 110 | junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit" } |
45 | junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine" } | 111 | junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine" } |
46 | junit-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" } | 112 | junit-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" } |
47 | junit-params = { group = "org.junit.jupiter", name = "junit-jupiter-params" } | 113 | junit-params = { group = "org.junit.jupiter", name = "junit-jupiter-params" } |
114 | lsp4j = { group = "org.eclipse.lsp4j", name = "org.eclipse.lsp4j", version.ref = "lsp4j" } | ||
115 | lsp4j-jsonrpc = { group = "org.eclipse.lsp4j", name = "org.eclipse.lsp4j.jsonrpc", version.ref = "lsp4j" } | ||
48 | mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" } | 116 | mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" } |
49 | mockito-junit = { group = "org.mockito", name = "mockito-junit-jupiter", version.ref = "mockito" } | 117 | mockito-junit = { group = "org.mockito", name = "mockito-junit-jupiter", version.ref = "mockito" } |
118 | mwe-core = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe.core", version.ref = "mwe" } | ||
50 | mwe-utils = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe.utils", version.ref = "mwe" } | 119 | mwe-utils = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe.utils", version.ref = "mwe" } |
120 | mwe2-language = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.language", version.ref = "mwe2" } | ||
51 | mwe2-launch = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.launch", version.ref = "mwe2" } | 121 | mwe2-launch = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.launch", version.ref = "mwe2" } |
52 | mwe2-lib = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.lib", version.ref = "mwe2" } | 122 | mwe2-lib = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.lib", version.ref = "mwe2" } |
123 | mwe2-runtime = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.runtime", version.ref = "mwe2" } | ||
124 | opentest4j = { group = "org.opentestj4", name = "opentest4j", version.ref = "opentest4j" } | ||
53 | ortools = { group = "com.google.ortools", name = "ortools-java", version.ref = "ortools" } | 125 | ortools = { group = "com.google.ortools", name = "ortools-java", version.ref = "ortools" } |
54 | refinery-z3 = { group = "tools.refinery.z3", name = "refinery-z3-solver", version.ref = "refineryZ3" } | 126 | protobuf = { group = "com.google.protobuf", name = "protobuf-java", version.ref = "protobuf" } |
127 | refinery-z3 = { group = "tools.refinery.z3", name = "refinery-z3-solver", version.ref = "refinery-z3" } | ||
55 | slf4j = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" } | 128 | slf4j = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" } |
56 | slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j" } | 129 | slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j" } |
57 | slf4j-log4j = { group = "org.slf4j", name = "log4j-over-slf4j", version.ref = "slf4j" } | 130 | slf4j-log4j = { group = "org.slf4j", name = "log4j-over-slf4j", version.ref = "slf4j" } |
58 | xtext-core = { group = "org.eclipse.xtext", name = "org.eclipse.xtext", version.ref = "xtext" } | 131 | xtext-core = { group = "org.eclipse.xtext", name = "org.eclipse.xtext", version.ref = "xtext" } |
59 | xtext-generator-antlr = { group = "org.eclipse.xtext", name = "xtext-antlr-generator", version.ref = "xtextAntlrGenerator" } | ||
60 | xtext-generator = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xtext.generator", version.ref = "xtext" } | 132 | xtext-generator = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xtext.generator", version.ref = "xtext" } |
133 | xtext-generator-antlr = { group = "org.eclipse.xtext", name = "xtext-antlr-generator", version.ref = "xtext-generator-antlr" } | ||
61 | xtext-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.ide", version.ref = "xtext" } | 134 | xtext-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.ide", version.ref = "xtext" } |
62 | xtext-testing = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.testing", version.ref = "xtext" } | 135 | xtext-testing = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.testing", version.ref = "xtext" } |
63 | xtext-web = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.web", version.ref = "xtext" } | 136 | xtext-web = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.web", version.ref = "xtext" } |
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 | ||