apply plugin: 'java-library' apply plugin: 'java-test-fixtures' apply from: "${rootDir}/gradle/xtext-common.gradle" apply from: "${rootDir}/gradle/junit.gradle" apply from: "${rootDir}/gradle/mwe2.gradle" apply from: "${rootDir}/gradle/xtend.gradle" dependencies { api platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}") api "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}" api "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}" api "org.eclipse.emf:org.eclipse.emf.ecore:${ecoreVersion}" api project(':refinery-language-model') testFixturesApi "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}" testFixturesApi testFixtures(project(':refinery-language-model')) mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}" mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}" mwe2 "org.eclipse.xtext:xtext-antlr-generator:${xtextAntlrGeneratorVersion}" mwe2 project(':refinery-language-mwe2') } sourceSets { testFixtures { java.srcDirs += ['src/testFixtures/xtext-gen'] resources.srcDirs += ['src/testFixtures/xtext-gen'] } } tasks.named('jar') { from(sourceSets.main.allSource) { include '**/*.xtext' } } def generateXtextLanguage = tasks.register('generateXtextLanguage', JavaExec) { mainClass = 'org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher' classpath = configurations.mwe2 inputs.file 'src/main/java/tools/refinery/language/GenerateProblem.mwe2' inputs.file 'src/main/java/tools/refinery/language/Problem.xtext' outputs.dir 'src/main/xtext-gen' outputs.dir 'src/testFixtures/xtext-gen' outputs.dir '../language-ide/src/main/xtext-gen' outputs.dir '../language-web/src/main/xtext-gen' outputs.dir '../language-web/build/generated/sources/xtext' args += 'src/main/java/tools/refinery/language/GenerateProblem.mwe2' args += '-p' args += "rootPath=/${projectDir}/.." } for (taskName in ['compileJava', 'processResources', 'generateXtext', 'generateEclipseSourceFolders']) { tasks.named(taskName) { dependsOn generateXtextLanguage } } tasks.named('clean') { delete 'src/main/xtext-gen' delete 'src/testFixtures/xtext-gen' delete '../language-ide/src/main/xtext-gen' delete '../language-web/src/main/xtext-gen' delete '../language-web/build/generated/sources/xtext' } sonarqube.properties { properties['sonar.exclusions'] += [ 'src/testFixtures/xtext-gen/**', ] }