diff options
Diffstat (limited to 'subprojects/language/build.gradle.kts')
-rw-r--r-- | subprojects/language/build.gradle.kts | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/subprojects/language/build.gradle.kts b/subprojects/language/build.gradle.kts new file mode 100644 index 00000000..ed4f95a5 --- /dev/null +++ b/subprojects/language/build.gradle.kts | |||
@@ -0,0 +1,65 @@ | |||
1 | import tools.refinery.buildsrc.SonarPropertiesUtils | ||
2 | |||
3 | plugins { | ||
4 | id("refinery-java-library") | ||
5 | id("refinery-java-test-fixtures") | ||
6 | id("refinery-sonarqube") | ||
7 | id("refinery-mwe2") | ||
8 | id("refinery-xtext-conventions") | ||
9 | } | ||
10 | |||
11 | dependencies { | ||
12 | api(platform(libs.xtext.bom)) | ||
13 | api(libs.ecore) | ||
14 | api(libs.xtext.core) | ||
15 | api(libs.xtext.xbase) | ||
16 | api(project(":refinery-language-model")) | ||
17 | testFixturesApi(libs.xtext.testing) | ||
18 | mwe2(libs.xtext.generator) | ||
19 | mwe2(libs.xtext.generator.antlr) | ||
20 | } | ||
21 | |||
22 | sourceSets { | ||
23 | testFixtures { | ||
24 | java.srcDir("src/testFixtures/xtext-gen") | ||
25 | resources.srcDir("src/testFixtures/xtext-gen") | ||
26 | } | ||
27 | } | ||
28 | |||
29 | tasks.jar { | ||
30 | from(sourceSets.main.map { it.allSource }) { | ||
31 | include("**/*.xtext") | ||
32 | } | ||
33 | } | ||
34 | |||
35 | val generateXtextLanguage by tasks.registering(JavaExec::class) { | ||
36 | mainClass.set("org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher") | ||
37 | classpath(configurations.mwe2) | ||
38 | inputs.file("src/main/java/tools/refinery/language/GenerateProblem.mwe2") | ||
39 | inputs.file("src/main/java/tools/refinery/language/Problem.xtext") | ||
40 | outputs.dir("src/main/xtext-gen") | ||
41 | outputs.dir("src/testFixtures/xtext-gen") | ||
42 | outputs.dir("../language-ide/src/main/xtext-gen") | ||
43 | outputs.dir("../language-web/src/main/xtext-gen") | ||
44 | args("src/main/java/tools/refinery/language/GenerateProblem.mwe2", "-p", "rootPath=/$projectDir/..") | ||
45 | } | ||
46 | |||
47 | for (taskName in listOf("compileJava", "processResources", "processTestFixturesResources", | ||
48 | "generateEclipseSourceFolders")) { | ||
49 | tasks.named(taskName) { | ||
50 | dependsOn(generateXtextLanguage) | ||
51 | } | ||
52 | } | ||
53 | |||
54 | tasks.clean { | ||
55 | delete("src/main/xtext-gen") | ||
56 | delete("src/testFixtures/xtext-gen") | ||
57 | delete("../language-ide/src/main/xtext-gen") | ||
58 | delete("../language-web/src/main/xtext-gen") | ||
59 | } | ||
60 | |||
61 | sonarqube.properties { | ||
62 | SonarPropertiesUtils.addToList(properties, "sonar.exclusions", "src/textFixtures/xtext-gen/**") | ||
63 | } | ||
64 | |||
65 | eclipse.project.natures.plusAssign("org.eclipse.xtext.ui.shared.xtextNature") | ||