aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-model/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/language-model/build.gradle.kts')
-rw-r--r--subprojects/language-model/build.gradle.kts53
1 files changed, 53 insertions, 0 deletions
diff --git a/subprojects/language-model/build.gradle.kts b/subprojects/language-model/build.gradle.kts
new file mode 100644
index 00000000..2804c698
--- /dev/null
+++ b/subprojects/language-model/build.gradle.kts
@@ -0,0 +1,53 @@
1import tools.refinery.buildsrc.SonarPropertiesUtils
2
3plugins {
4 id("refinery-java-library")
5 id("refinery-mwe2")
6 id("refinery-sonarqube")
7}
8
9dependencies {
10 api(libs.ecore)
11 api(libs.ecore.xmi)
12 mwe2(libs.ecore.codegen)
13 mwe2(libs.mwe.utils)
14 mwe2(libs.mwe2.lib)
15 mwe2(libs.xtext.core)
16 mwe2(libs.xtext.xbase)
17}
18
19sourceSets {
20 main {
21 java.srcDir("src/main/emf-gen")
22 }
23}
24
25val generateEPackage by tasks.registering(JavaExec::class) {
26 mainClass.set("org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher")
27 classpath(configurations.mwe2)
28 inputs.file("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2")
29 inputs.file("src/main/resources/model/problem.ecore")
30 inputs.file("src/main/resources/model/problem.genmodel")
31 outputs.dir("src/main/emf-gen")
32 args("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2", "-p", "rootPath=/$projectDir")
33}
34
35for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) {
36 tasks.named(taskName) {
37 dependsOn(generateEPackage)
38 }
39}
40
41tasks.clean {
42 delete("src/main/emf-gen")
43}
44
45sonarqube.properties {
46 SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/main/emf-gen/**")
47}
48
49eclipse.project.natures.plusAssign(listOf(
50 "org.eclipse.sirius.nature.modelingproject",
51 "org.eclipse.pde.PluginNature",
52 "org.eclipse.xtext.ui.shared.xtextNature",
53))