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}" 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/org/eclipse/viatra/solver/language/GenerateProblem.mwe2' inputs.file 'src/main/java/org/eclipse/viatra/solver/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/org/eclipse/viatra/solver/language/GenerateProblem.mwe2' args += '-p' args += "rootPath=/${projectDir}/.." } def generateXtext = tasks.named('generateXtext') generateXtext.configure { dependsOn generateXtextLanguage } tasks.named('compileJava') { dependsOn generateXtext } tasks.named('processResources') { dependsOn generateXtext } 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/**', ] }