aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-11-16 21:46:06 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-11-16 21:46:06 +0100
commit234965e9e167f510ab38b0fcdad3bd2846691339 (patch)
tree587d47764d6cd4b5a049c7eb3699be8af6ddca43
parentchore(web): fix Sonar issue (diff)
downloadrefinery-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.gradle8
-rw-r--r--gradle.properties14
-rw-r--r--gradle/jmh.gradle4
-rw-r--r--gradle/junit.gradle12
-rw-r--r--gradle/libs.versions.toml47
-rw-r--r--gradle/mwe2.gradle2
-rw-r--r--gradle/xtend.gradle2
-rw-r--r--language-ide/build.gradle4
-rw-r--r--language-model/build.gradle14
-rw-r--r--language-web/build.gradle21
-rw-r--r--language/build.gradle15
-rw-r--r--settings.gradle2
-rw-r--r--store/build.gradle4
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 @@
1plugins { 1plugins {
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
8allprojects { 8allprojects {
diff --git a/gradle.properties b/gradle.properties
index 57ff8621..cacf39a5 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,16 +1,2 @@
1ecoreVersion=2.25.0
2ecoreCodegenVersion=2.27.0
3ecoreXmiVersion=2.16.0
4hamcrestVersion=2.2
5jettyVersion=11.0.7
6jmhVersion=1.33
7junitVersion=5.8.1
8mockitoVersion=4.0.0
9mweVersion=1.6.2.M1
10mwe2Version=2.12.2.M1
11nodeVersion=16.13.0 1nodeVersion=16.13.0
12slf4JVersion=2.0.0-alpha5
13viatraVersion=2.6.0
14xtextVersion=2.26.0.M2
15xtextAntlrGeneratorVersion=2.1.1
16yarnVersion=1.22.17 2yarnVersion=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
16dependencies { 16dependencies {
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
21tasks.register('jmh', JavaExec) { 21tasks.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 @@
1apply plugin: 'jacoco' 1apply plugin: 'jacoco'
2 2
3dependencies { 3dependencies {
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
12def jacocoTestReport = tasks.named('jacocoTestReport') 12def 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]
2jetty = "11.0.7"
3jmh = "1.33"
4junit = "5.8.1"
5mockito = "4.0.0"
6mwe2 = "2.12.2.M1"
7slf4j = "2.0.0-alpha5"
8xtext = "2.26.0.M2"
9
10[libraries]
11ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version = "2.25.0" }
12ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version = "2.16.0" }
13ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version = "2.27.0" }
14hamcrest = { group = "org.hamcrest", name = "hamcrest", version = "2.2" }
15jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" }
16jetty-servlet = { group = "org.eclipse.jetty", name = "jetty-servlet", version.ref = "jetty" }
17jetty-websocket-client = { group = "org.eclipse.jetty.websocket", name = "websocket-jetty-client", version.ref = "jetty" }
18jetty-websocket-server = { group = "org.eclipse.jetty.websocket", name = "websocket-jetty-server", version.ref = "jetty" }
19jmh-core = { group = "org.openjdk.jmh", name = "jmh-core", version.ref = "jmh" }
20jmh-annprocess = { group = "org.openjdk.jmh", name = "jmh-generator-annprocess", version.ref = "jmh" }
21junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" }
22junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit" }
23junit-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junit" }
24mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
25mockito-junit = { group = "org.mockito", name = "mockito-junit-jupiter", version.ref = "mockito" }
26mwe-utils = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe.utils", version = "1.6.2.M1" }
27mwe2-launch = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.launch", version.ref = "mwe2" }
28mwe2-lib = { group = "org.eclipse.emf", name = "org.eclipse.emf.mwe2.lib", version.ref = "mwe2" }
29slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j" }
30slf4j-log4j = { group = "org.slf4j", name = "log4j-over-slf4j", version.ref = "slf4j" }
31viatra = { group = "org.eclipse.viatra", name = "viatra-query-runtime", version = "2.6.0" }
32xtend-lib = { group = "org.eclipse.xtend", name = "org.eclipse.xtend.lib", version.ref = "xtext" }
33xtext-bom = { group = "org.eclipse.xtext", name = "xtext-dev-bom", version.ref = "xtext" }
34xtext-core = { group = "org.eclipse.xtext", name = "org.eclipse.xtext", version.ref = "xtext" }
35xtext-generator-antlr = { group = "org.eclipse.xtext", name = "xtext-antlr-generator", version = "2.1.1" }
36xtext-generator = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xtext.generator", version.ref = "xtext" }
37xtext-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.ide", version.ref = "xtext" }
38xtext-testing = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.testing", version.ref = "xtext" }
39xtext-web = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.web", version.ref = "xtext" }
40xtext-xbase = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase", version.ref = "xtext" }
41xtext-xbase-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase.ide", version.ref = "xtext" }
42
43[plugins]
44shadow = { id = "com.github.johnrengelman.shadow", version = "7.1.0" }
45frontend = { id = "org.siouan.frontend-jdk11", version = "5.3.0" }
46sonarqube = { id = "org.sonarqube", version = "3.3" }
47xtend = { 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
7dependencies { 7dependencies {
8 mwe2 "org.eclipse.emf:org.eclipse.emf.mwe2.launch:${mwe2Version}" 8 mwe2 libs.mwe2.launch
9} 9}
10 10
11eclipse.classpath.plusConfigurations += [configurations.mwe2] 11eclipse.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 @@
1apply plugin: 'org.xtext.xtend' 1apply plugin: libs.plugins.xtend.get().pluginId
2 2
3sourceSets { 3sourceSets {
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
4dependencies { 4dependencies {
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
10def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') 10def 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"
4apply from: "${rootDir}/gradle/mwe2.gradle" 4apply from: "${rootDir}/gradle/mwe2.gradle"
5 5
6dependencies { 6dependencies {
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
16sourceSets { 16sourceSets {
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"
5dependencies { 5dependencies {
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
20def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') 19def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage')
@@ -29,7 +28,7 @@ def webpackOutputDir = "${buildDir}/webpack"
29def productionResources = "${webpackOutputDir}/production" 28def productionResources = "${webpackOutputDir}/production"
30def serverMainClass = 'tools.refinery.language.web.ServerLauncher' 29def serverMainClass = 'tools.refinery.language.web.ServerLauncher'
31 30
32apply plugin: 'org.siouan.frontend-jdk11' 31apply plugin: libs.plugins.frontend.get().pluginId
33import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn 32import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn
34 33
35def nodeDirectory = "${rootDir}/.gradle/node" 34def nodeDirectory = "${rootDir}/.gradle/node"
@@ -110,7 +109,7 @@ mainClassName = serverMainClass
110distTar.enabled = false 109distTar.enabled = false
111distZip.enabled = false 110distZip.enabled = false
112 111
113apply plugin: 'com.github.johnrengelman.shadow' 112apply plugin: libs.plugins.shadow.get().pluginId
114shadowDistTar.enabled = false 113shadowDistTar.enabled = false
115shadowDistZip.enabled = false 114shadowDistZip.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"
6apply from: "${rootDir}/gradle/xtend.gradle" 6apply from: "${rootDir}/gradle/xtend.gradle"
7 7
8dependencies { 8dependencies {
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
21sourceSets { 20sourceSets {
diff --git a/settings.gradle b/settings.gradle
index 0e237de1..a53586f2 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,3 +1,5 @@
1enableFeaturePreview 'VERSION_CATALOGS'
2
1rootProject.name = 'refinery' 3rootProject.name = 'refinery'
2 4
3include 'language' 5include '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"
4apply from: "${rootDir}/gradle/jmh.gradle" 4apply from: "${rootDir}/gradle/jmh.gradle"
5 5
6dependencies { 6dependencies {
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}