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.kts65
1 files changed, 65 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..59ff9046
--- /dev/null
+++ b/subprojects/language-model/build.gradle.kts
@@ -0,0 +1,65 @@
1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6
7import tools.refinery.gradle.utils.SonarPropertiesUtils
8
9plugins {
10 id("tools.refinery.gradle.java-library")
11 id("tools.refinery.gradle.mwe2")
12 id("tools.refinery.gradle.sonarqube")
13}
14
15dependencies {
16 api(libs.ecore)
17 api(libs.ecore.xmi)
18 mwe2(libs.ecore.codegen)
19 mwe2(libs.mwe.utils)
20 mwe2(libs.mwe2.lib)
21 mwe2(libs.xtext.core)
22 mwe2(libs.xtext.xbase)
23}
24
25sourceSets {
26 main {
27 java.srcDir("src/main/emf-gen")
28 }
29}
30
31tasks {
32 val generateEPackage by registering(JavaExec::class) {
33 mainClass.set("org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher")
34 classpath(configurations.mwe2)
35 inputs.file("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2")
36 inputs.file("src/main/resources/model/problem.ecore")
37 inputs.file("src/main/resources/model/problem.genmodel")
38 outputs.file("build.properties")
39 outputs.file("META-INF/MANIFEST.MF")
40 outputs.file("plugin.xml")
41 outputs.file("plugin.properties")
42 outputs.dir("src/main/emf-gen")
43 args("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2", "-p", "rootPath=/$projectDir")
44 }
45
46 for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) {
47 named(taskName) {
48 dependsOn(generateEPackage)
49 }
50 }
51
52 clean {
53 delete("src/main/emf-gen")
54 }
55}
56
57sonarqube.properties {
58 SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/main/emf-gen/**")
59}
60
61eclipse.project.natures.plusAssign(listOf(
62 "org.eclipse.sirius.nature.modelingproject",
63 "org.eclipse.pde.PluginNature",
64 "org.eclipse.xtext.ui.shared.xtextNature",
65))