aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/viatra-runtime-rete-recipes/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/viatra-runtime-rete-recipes/build.gradle.kts')
-rw-r--r--subprojects/viatra-runtime-rete-recipes/build.gradle.kts62
1 files changed, 62 insertions, 0 deletions
diff --git a/subprojects/viatra-runtime-rete-recipes/build.gradle.kts b/subprojects/viatra-runtime-rete-recipes/build.gradle.kts
new file mode 100644
index 00000000..b1b11b4e
--- /dev/null
+++ b/subprojects/viatra-runtime-rete-recipes/build.gradle.kts
@@ -0,0 +1,62 @@
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(project(":refinery-viatra-runtime"))
17 api(libs.ecore)
18 mwe2(libs.ecore.codegen)
19 mwe2(libs.mwe.utils)
20 mwe2(libs.mwe2.lib)
21 mwe2(libs.slf4j.simple)
22 mwe2(libs.xtext.core)
23 mwe2(libs.xtext.xbase)
24}
25
26sourceSets {
27 main {
28 java.srcDir("src/main/emf-gen")
29 }
30}
31
32tasks {
33 val generateEPackage by registering(JavaExec::class) {
34 mainClass.set("org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher")
35 classpath(configurations.mwe2)
36 inputs.file("src/main/java/tools/refinery/viatra/runtime/rete/recipes/GenerateReteRecipes.mwe2")
37 inputs.file("src/main/resources/model/recipes.ecore")
38 inputs.file("src/main/resources/model/rete-recipes.genmodel")
39 outputs.file("build.properties")
40 outputs.file("META-INF/MANIFEST.MF")
41 outputs.file("plugin.xml")
42 outputs.file("plugin.properties")
43 outputs.dir("src/main/emf-gen")
44 args("src/main/java/tools/refinery/viatra/runtime/rete/recipes/GenerateReteRecipes.mwe2",
45 "-p", "rootPath=/$projectDir")
46 }
47
48 for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) {
49 named(taskName) {
50 dependsOn(generateEPackage)
51 }
52 }
53
54 clean {
55 delete("src/main/emf-gen")
56 }
57}
58
59sonarqube.properties {
60 SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/main/emf-gen/**")
61}
62