diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-11-16 21:46:06 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-11-16 21:46:06 +0100 |
commit | 234965e9e167f510ab38b0fcdad3bd2846691339 (patch) | |
tree | 587d47764d6cd4b5a049c7eb3699be8af6ddca43 | |
parent | chore(web): fix Sonar issue (diff) | |
download | refinery-234965e9e167f510ab38b0fcdad3bd2846691339.tar.gz refinery-234965e9e167f510ab38b0fcdad3bd2846691339.tar.zst refinery-234965e9e167f510ab38b0fcdad3bd2846691339.zip |
build: use version catalogs
Gradle version catalogs allow centralized management of dependency
artifact coordinates using a toml file.
Previously, we use the gradle.properties file, which cannot manage group
and name coordinates, only versions.
Node and yarn versions still have to be in gradle.properties, because
they do not correspond to any coordiates of a maven artifact.
-rw-r--r-- | build.gradle | 8 | ||||
-rw-r--r-- | gradle.properties | 14 | ||||
-rw-r--r-- | gradle/jmh.gradle | 4 | ||||
-rw-r--r-- | gradle/junit.gradle | 12 | ||||
-rw-r--r-- | gradle/libs.versions.toml | 47 | ||||
-rw-r--r-- | gradle/mwe2.gradle | 2 | ||||
-rw-r--r-- | gradle/xtend.gradle | 2 | ||||
-rw-r--r-- | language-ide/build.gradle | 4 | ||||
-rw-r--r-- | language-model/build.gradle | 14 | ||||
-rw-r--r-- | language-web/build.gradle | 21 | ||||
-rw-r--r-- | language/build.gradle | 15 | ||||
-rw-r--r-- | settings.gradle | 2 | ||||
-rw-r--r-- | store/build.gradle | 4 |
13 files changed, 91 insertions, 58 deletions
diff --git a/build.gradle b/build.gradle index 694d5c2d..91478387 100644 --- a/build.gradle +++ b/build.gradle | |||
@@ -1,8 +1,8 @@ | |||
1 | plugins { | 1 | plugins { |
2 | id 'com.github.johnrengelman.shadow' version '7.1.0' apply false | 2 | alias libs.plugins.shadow apply false |
3 | id 'org.siouan.frontend-jdk11' version '5.3.0' apply false | 3 | alias libs.plugins.frontend apply false |
4 | id 'org.sonarqube' version '3.3' | 4 | alias libs.plugins.sonarqube |
5 | id 'org.xtext.xtend' version '3.0.0-M1' apply false | 5 | alias libs.plugins.xtend apply false |
6 | } | 6 | } |
7 | 7 | ||
8 | allprojects { | 8 | allprojects { |
diff --git a/gradle.properties b/gradle.properties index 57ff8621..cacf39a5 100644 --- a/gradle.properties +++ b/gradle.properties | |||
@@ -1,16 +1,2 @@ | |||
1 | ecoreVersion=2.25.0 | ||
2 | ecoreCodegenVersion=2.27.0 | ||
3 | ecoreXmiVersion=2.16.0 | ||
4 | hamcrestVersion=2.2 | ||
5 | jettyVersion=11.0.7 | ||
6 | jmhVersion=1.33 | ||
7 | junitVersion=5.8.1 | ||
8 | mockitoVersion=4.0.0 | ||
9 | mweVersion=1.6.2.M1 | ||
10 | mwe2Version=2.12.2.M1 | ||
11 | nodeVersion=16.13.0 | 1 | nodeVersion=16.13.0 |
12 | slf4JVersion=2.0.0-alpha5 | ||
13 | viatraVersion=2.6.0 | ||
14 | xtextVersion=2.26.0.M2 | ||
15 | xtextAntlrGeneratorVersion=2.1.1 | ||
16 | yarnVersion=1.22.17 | 2 | yarnVersion=1.22.17 |
diff --git a/gradle/jmh.gradle b/gradle/jmh.gradle index 698a57cf..aa58c2b7 100644 --- a/gradle/jmh.gradle +++ b/gradle/jmh.gradle | |||
@@ -14,8 +14,8 @@ sourceSets { | |||
14 | } | 14 | } |
15 | 15 | ||
16 | dependencies { | 16 | dependencies { |
17 | jmhImplementation "org.openjdk.jmh:jmh-core:${jmhVersion}" | 17 | jmhImplementation libs.jmh.core |
18 | jmhAnnotationProcessor "org.openjdk.jmh:jmh-generator-annprocess:${jmhVersion}" | 18 | jmhAnnotationProcessor libs.jmh.annprocess |
19 | } | 19 | } |
20 | 20 | ||
21 | tasks.register('jmh', JavaExec) { | 21 | tasks.register('jmh', JavaExec) { |
diff --git a/gradle/junit.gradle b/gradle/junit.gradle index 44a463c7..c5b60e47 100644 --- a/gradle/junit.gradle +++ b/gradle/junit.gradle | |||
@@ -1,12 +1,12 @@ | |||
1 | apply plugin: 'jacoco' | 1 | apply plugin: 'jacoco' |
2 | 2 | ||
3 | dependencies { | 3 | dependencies { |
4 | testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}" | 4 | testImplementation libs.hamcrest |
5 | testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}" | 5 | testImplementation libs.junit.api |
6 | testImplementation "org.junit.jupiter:junit-jupiter-params:${junitVersion}" | 6 | testRuntimeOnly libs.junit.engine |
7 | testImplementation "org.hamcrest:hamcrest:${hamcrestVersion}" | 7 | testImplementation libs.junit.params |
8 | testImplementation "org.mockito:mockito-core:${mockitoVersion}" | 8 | testImplementation libs.mockito.core |
9 | testImplementation "org.mockito:mockito-junit-jupiter:${mockitoVersion}" | 9 | testImplementation libs.mockito.junit |
10 | } | 10 | } |
11 | 11 | ||
12 | def jacocoTestReport = tasks.named('jacocoTestReport') | 12 | def jacocoTestReport = tasks.named('jacocoTestReport') |
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..0e711cad --- /dev/null +++ b/gradle/libs.versions.toml | |||
@@ -0,0 +1,47 @@ | |||
1 | [versions] | ||
2 | jetty = "11.0.7" | ||
3 | jmh = "1.33" | ||
4 | junit = "5.8.1" | ||
5 | mockito = "4.0.0" | ||
6 | mwe2 = "2.12.2.M1" | ||
7 | slf4j = "2.0.0-alpha5" | ||
8 | xtext = "2.26.0.M2" | ||
9 | |||
10 | [libraries] | ||
11 | ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version = "2.25.0" } | ||
12 | ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version = "2.16.0" } | ||
13 | ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version = "2.27.0" } | ||
14 | hamcrest = { group = "org.hamcrest", name = "hamcrest", version = "2.2" } | ||
15 | jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" } | ||
16 | jetty-servlet = { group = "org.eclipse.jetty", name = "jetty-servlet", version.ref = "jetty" } | ||
17 | jetty-websocket-client = { group = "org.eclipse.jetty.websocket", name = "websocket-jetty-client", version.ref = "jetty" } | ||
18 | jetty-websocket-server = { group = "org.eclipse.jetty.websocket", name = "websocket-jetty-server", version.ref = "jetty" } | ||
19 | jmh-core = { group = "org.openjdk.jmh", name = "jmh-core", version.ref = "jmh" } | ||
20 | jmh-annprocess = { group = "org.openjdk.jmh", name = "jmh-generator-annprocess", version.ref = "jmh" } | ||
21 | junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" } | ||
22 | junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit" } | ||
23 | junit-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junit" } | ||
24 | mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" } | ||
25 | mockito-junit = { group = "org.mockito", name = "mockito-junit-jupiter", version.ref = "mockito" } | ||
26 | mwe-utils = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe.utils", version = "1.6.2.M1" } | ||
27 | mwe2-launch = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.launch", version.ref = "mwe2" } | ||
28 | mwe2-lib = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.lib", version.ref = "mwe2" } | ||
29 | slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j" } | ||
30 | slf4j-log4j = { group = "org.slf4j", name = "log4j-over-slf4j", version.ref = "slf4j" } | ||
31 | viatra = { group = "org.eclipse.viatra", name = "viatra-query-runtime", version = "2.6.0" } | ||
32 | xtend-lib = { group = "org.eclipse.xtend", name = "org.eclipse.xtend.lib", version.ref = "xtext" } | ||
33 | xtext-bom = { group = "org.eclipse.xtext", name = "xtext-dev-bom", version.ref = "xtext" } | ||
34 | xtext-core = { group = "org.eclipse.xtext", name = "org.eclipse.xtext", version.ref = "xtext" } | ||
35 | xtext-generator-antlr = { group = "org.eclipse.xtext", name = "xtext-antlr-generator", version = "2.1.1" } | ||
36 | xtext-generator = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xtext.generator", version.ref = "xtext" } | ||
37 | xtext-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.ide", version.ref = "xtext" } | ||
38 | xtext-testing = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.testing", version.ref = "xtext" } | ||
39 | xtext-web = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.web", version.ref = "xtext" } | ||
40 | xtext-xbase = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase", version.ref = "xtext" } | ||
41 | xtext-xbase-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase.ide", version.ref = "xtext" } | ||
42 | |||
43 | [plugins] | ||
44 | shadow = { id = "com.github.johnrengelman.shadow", version = "7.1.0" } | ||
45 | frontend = { id = "org.siouan.frontend-jdk11", version = "5.3.0" } | ||
46 | sonarqube = { id = "org.sonarqube", version = "3.3" } | ||
47 | xtend = { id = "org.xtext.xtend", version = "3.0.0-M1" } | ||
diff --git a/gradle/mwe2.gradle b/gradle/mwe2.gradle index b4ea8bb8..6dc3ef67 100644 --- a/gradle/mwe2.gradle +++ b/gradle/mwe2.gradle | |||
@@ -5,7 +5,7 @@ configurations { | |||
5 | } | 5 | } |
6 | 6 | ||
7 | dependencies { | 7 | dependencies { |
8 | mwe2 "org.eclipse.emf:org.eclipse.emf.mwe2.launch:${mwe2Version}" | 8 | mwe2 libs.mwe2.launch |
9 | } | 9 | } |
10 | 10 | ||
11 | eclipse.classpath.plusConfigurations += [configurations.mwe2] | 11 | eclipse.classpath.plusConfigurations += [configurations.mwe2] |
diff --git a/gradle/xtend.gradle b/gradle/xtend.gradle index db1c2a57..94cd7dc7 100644 --- a/gradle/xtend.gradle +++ b/gradle/xtend.gradle | |||
@@ -1,4 +1,4 @@ | |||
1 | apply plugin: 'org.xtext.xtend' | 1 | apply plugin: libs.plugins.xtend.get().pluginId |
2 | 2 | ||
3 | sourceSets { | 3 | sourceSets { |
4 | main { | 4 | main { |
diff --git a/language-ide/build.gradle b/language-ide/build.gradle index fddf2245..65b4b786 100644 --- a/language-ide/build.gradle +++ b/language-ide/build.gradle | |||
@@ -3,8 +3,8 @@ apply from: "${rootDir}/gradle/xtext-common.gradle" | |||
3 | 3 | ||
4 | dependencies { | 4 | dependencies { |
5 | api project(':refinery-language') | 5 | api project(':refinery-language') |
6 | api "org.eclipse.xtext:org.eclipse.xtext.ide:${xtextVersion}" | 6 | api libs.xtext.ide |
7 | api "org.eclipse.xtext:org.eclipse.xtext.xbase.ide:${xtextVersion}" | 7 | api libs.xtext.xbase.ide |
8 | } | 8 | } |
9 | 9 | ||
10 | def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') | 10 | def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') |
diff --git a/language-model/build.gradle b/language-model/build.gradle index 46ae839b..666b3e7d 100644 --- a/language-model/build.gradle +++ b/language-model/build.gradle | |||
@@ -4,13 +4,13 @@ apply from: "${rootDir}/gradle/java-common.gradle" | |||
4 | apply from: "${rootDir}/gradle/mwe2.gradle" | 4 | apply from: "${rootDir}/gradle/mwe2.gradle" |
5 | 5 | ||
6 | dependencies { | 6 | dependencies { |
7 | api "org.eclipse.emf:org.eclipse.emf.ecore:${ecoreVersion}" | 7 | api libs.ecore |
8 | api "org.eclipse.emf:org.eclipse.emf.ecore.xmi:${ecoreXmiVersion}" | 8 | api libs.ecore.xmi |
9 | mwe2 "org.eclipse.emf:org.eclipse.emf.codegen.ecore:${ecoreCodegenVersion}" | 9 | mwe2 libs.ecore.codegen |
10 | mwe2 "org.eclipse.emf:org.eclipse.emf.mwe.utils:${mweVersion}" | 10 | mwe2 libs.mwe.utils |
11 | mwe2 "org.eclipse.emf:org.eclipse.emf.mwe2.lib:${mwe2Version}" | 11 | mwe2 libs.mwe2.lib |
12 | mwe2 "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}" | 12 | mwe2 libs.xtext.core |
13 | mwe2 "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}" | 13 | mwe2 libs.xtext.xbase |
14 | } | 14 | } |
15 | 15 | ||
16 | sourceSets { | 16 | sourceSets { |
diff --git a/language-web/build.gradle b/language-web/build.gradle index ea2f1269..12f2f3a0 100644 --- a/language-web/build.gradle +++ b/language-web/build.gradle | |||
@@ -5,16 +5,15 @@ apply from: "${rootDir}/gradle/junit.gradle" | |||
5 | dependencies { | 5 | dependencies { |
6 | implementation project(':refinery-language') | 6 | implementation project(':refinery-language') |
7 | implementation project(':refinery-language-ide') | 7 | implementation project(':refinery-language-ide') |
8 | implementation "org.eclipse.xtext:org.eclipse.xtext.web:${xtextVersion}" | 8 | implementation libs.xtend.lib |
9 | implementation "org.eclipse.xtend:org.eclipse.xtend.lib:${xtextVersion}" | 9 | implementation libs.xtext.web |
10 | implementation "org.eclipse.jetty:jetty-server:${jettyVersion}" | 10 | implementation libs.jetty.server |
11 | implementation "org.eclipse.jetty:jetty-servlet:${jettyVersion}" | 11 | implementation libs.jetty.servlet |
12 | implementation "org.eclipse.jetty.websocket:websocket-jetty-server:${jettyVersion}" | 12 | implementation libs.jetty.websocket.server |
13 | implementation "org.slf4j:slf4j-simple:${slf4JVersion}" | 13 | implementation libs.slf4j.simple |
14 | implementation "org.slf4j:log4j-over-slf4j:${slf4JVersion}" | 14 | implementation libs.slf4j.log4j |
15 | testImplementation testFixtures(project(':refinery-language')) | 15 | testImplementation testFixtures(project(':refinery-language')) |
16 | testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}" | 16 | testImplementation libs.jetty.websocket.client |
17 | testImplementation "org.eclipse.jetty.websocket:websocket-jetty-client:${jettyVersion}" | ||
18 | } | 17 | } |
19 | 18 | ||
20 | def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') | 19 | def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') |
@@ -29,7 +28,7 @@ def webpackOutputDir = "${buildDir}/webpack" | |||
29 | def productionResources = "${webpackOutputDir}/production" | 28 | def productionResources = "${webpackOutputDir}/production" |
30 | def serverMainClass = 'tools.refinery.language.web.ServerLauncher' | 29 | def serverMainClass = 'tools.refinery.language.web.ServerLauncher' |
31 | 30 | ||
32 | apply plugin: 'org.siouan.frontend-jdk11' | 31 | apply plugin: libs.plugins.frontend.get().pluginId |
33 | import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn | 32 | import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn |
34 | 33 | ||
35 | def nodeDirectory = "${rootDir}/.gradle/node" | 34 | def nodeDirectory = "${rootDir}/.gradle/node" |
@@ -110,7 +109,7 @@ mainClassName = serverMainClass | |||
110 | distTar.enabled = false | 109 | distTar.enabled = false |
111 | distZip.enabled = false | 110 | distZip.enabled = false |
112 | 111 | ||
113 | apply plugin: 'com.github.johnrengelman.shadow' | 112 | apply plugin: libs.plugins.shadow.get().pluginId |
114 | shadowDistTar.enabled = false | 113 | shadowDistTar.enabled = false |
115 | shadowDistZip.enabled = false | 114 | shadowDistZip.enabled = false |
116 | 115 | ||
diff --git a/language/build.gradle b/language/build.gradle index 7b9f8d75..df71a85d 100644 --- a/language/build.gradle +++ b/language/build.gradle | |||
@@ -6,16 +6,15 @@ apply from: "${rootDir}/gradle/mwe2.gradle" | |||
6 | apply from: "${rootDir}/gradle/xtend.gradle" | 6 | apply from: "${rootDir}/gradle/xtend.gradle" |
7 | 7 | ||
8 | dependencies { | 8 | dependencies { |
9 | api platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}") | 9 | api platform(libs.xtext.bom) |
10 | api "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}" | 10 | api libs.ecore |
11 | api "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}" | 11 | api libs.xtext.core |
12 | api "org.eclipse.emf:org.eclipse.emf.ecore:${ecoreVersion}" | 12 | api libs.xtext.xbase |
13 | api project(':refinery-language-model') | 13 | api project(':refinery-language-model') |
14 | testFixturesApi "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}" | 14 | testFixturesApi libs.xtext.testing |
15 | testFixturesApi testFixtures(project(':refinery-language-model')) | 15 | testFixturesApi testFixtures(project(':refinery-language-model')) |
16 | mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}" | 16 | mwe2 libs.xtext.generator |
17 | mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}" | 17 | mwe2 libs.xtext.generator.antlr |
18 | mwe2 "org.eclipse.xtext:xtext-antlr-generator:${xtextAntlrGeneratorVersion}" | ||
19 | } | 18 | } |
20 | 19 | ||
21 | sourceSets { | 20 | sourceSets { |
diff --git a/settings.gradle b/settings.gradle index 0e237de1..a53586f2 100644 --- a/settings.gradle +++ b/settings.gradle | |||
@@ -1,3 +1,5 @@ | |||
1 | enableFeaturePreview 'VERSION_CATALOGS' | ||
2 | |||
1 | rootProject.name = 'refinery' | 3 | rootProject.name = 'refinery' |
2 | 4 | ||
3 | include 'language' | 5 | include 'language' |
diff --git a/store/build.gradle b/store/build.gradle index 6861b732..0a5ba549 100644 --- a/store/build.gradle +++ b/store/build.gradle | |||
@@ -4,6 +4,6 @@ apply from: "${rootDir}/gradle/junit.gradle" | |||
4 | apply from: "${rootDir}/gradle/jmh.gradle" | 4 | apply from: "${rootDir}/gradle/jmh.gradle" |
5 | 5 | ||
6 | dependencies { | 6 | dependencies { |
7 | implementation "org.eclipse.viatra:viatra-query-runtime:${viatraVersion}" | 7 | implementation libs.ecore |
8 | implementation "org.eclipse.emf:org.eclipse.emf.ecore:${ecoreVersion}" | 8 | implementation libs.viatra |
9 | } | 9 | } |