diff options
Diffstat (limited to 'subprojects/language-model/build.gradle.kts')
-rw-r--r-- | subprojects/language-model/build.gradle.kts | 53 |
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 @@ | |||
1 | import tools.refinery.buildsrc.SonarPropertiesUtils | ||
2 | |||
3 | plugins { | ||
4 | id("refinery-java-library") | ||
5 | id("refinery-mwe2") | ||
6 | id("refinery-sonarqube") | ||
7 | } | ||
8 | |||
9 | dependencies { | ||
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 | |||
19 | sourceSets { | ||
20 | main { | ||
21 | java.srcDir("src/main/emf-gen") | ||
22 | } | ||
23 | } | ||
24 | |||
25 | val 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 | |||
35 | for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) { | ||
36 | tasks.named(taskName) { | ||
37 | dependsOn(generateEPackage) | ||
38 | } | ||
39 | } | ||
40 | |||
41 | tasks.clean { | ||
42 | delete("src/main/emf-gen") | ||
43 | } | ||
44 | |||
45 | sonarqube.properties { | ||
46 | SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/main/emf-gen/**") | ||
47 | } | ||
48 | |||
49 | eclipse.project.natures.plusAssign(listOf( | ||
50 | "org.eclipse.sirius.nature.modelingproject", | ||
51 | "org.eclipse.pde.PluginNature", | ||
52 | "org.eclipse.xtext.ui.shared.xtextNature", | ||
53 | )) | ||