aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-model
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-04-09 02:54:51 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-04-09 19:07:32 +0200
commitd904e2150319439053d89c723733463c4810bde9 (patch)
tree974068147ce55eda08a27f8fa08e833f4f7d701e /subprojects/language-model
parentbuild: avoid repeating task names in build scripts (diff)
downloadrefinery-d904e2150319439053d89c723733463c4810bde9.tar.gz
refinery-d904e2150319439053d89c723733463c4810bde9.tar.zst
refinery-d904e2150319439053d89c723733463c4810bde9.zip
build: organize build scripts into packages
Also take advantage of precompiled Kotlin scripts to write build scripts in a more straightforward manner through generated accessors. Might increase memory usage of Gradle.
Diffstat (limited to 'subprojects/language-model')
-rw-r--r--subprojects/language-model/build.gradle.kts40
1 files changed, 21 insertions, 19 deletions
diff --git a/subprojects/language-model/build.gradle.kts b/subprojects/language-model/build.gradle.kts
index 2804c698..12b6bc13 100644
--- a/subprojects/language-model/build.gradle.kts
+++ b/subprojects/language-model/build.gradle.kts
@@ -1,9 +1,9 @@
1import tools.refinery.buildsrc.SonarPropertiesUtils 1import tools.refinery.gradle.utils.SonarPropertiesUtils
2 2
3plugins { 3plugins {
4 id("refinery-java-library") 4 id("tools.refinery.gradle.java-library")
5 id("refinery-mwe2") 5 id("tools.refinery.gradle.mwe2")
6 id("refinery-sonarqube") 6 id("tools.refinery.gradle.sonarqube")
7} 7}
8 8
9dependencies { 9dependencies {
@@ -22,24 +22,26 @@ sourceSets {
22 } 22 }
23} 23}
24 24
25val generateEPackage by tasks.registering(JavaExec::class) { 25tasks {
26 mainClass.set("org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher") 26 val generateEPackage by registering(JavaExec::class) {
27 classpath(configurations.mwe2) 27 mainClass.set("org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher")
28 inputs.file("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2") 28 classpath(configurations.mwe2)
29 inputs.file("src/main/resources/model/problem.ecore") 29 inputs.file("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2")
30 inputs.file("src/main/resources/model/problem.genmodel") 30 inputs.file("src/main/resources/model/problem.ecore")
31 outputs.dir("src/main/emf-gen") 31 inputs.file("src/main/resources/model/problem.genmodel")
32 args("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2", "-p", "rootPath=/$projectDir") 32 outputs.dir("src/main/emf-gen")
33} 33 args("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2", "-p", "rootPath=/$projectDir")
34 }
34 35
35for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) { 36 for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) {
36 tasks.named(taskName) { 37 named(taskName) {
37 dependsOn(generateEPackage) 38 dependsOn(generateEPackage)
39 }
38 } 40 }
39}
40 41
41tasks.clean { 42 clean {
42 delete("src/main/emf-gen") 43 delete("src/main/emf-gen")
44 }
43} 45}
44 46
45sonarqube.properties { 47sonarqube.properties {