diff --git a/build.gradle b/build.gradle index ce5928d..a163592 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ plugins { id "java" - id "monticore" version "$mc_version" + id "de.monticore.generator" version "$mc_version" id "maven-publish" id "com.github.johnrengelman.shadow" version "$shadow_plugin_version" } @@ -26,13 +26,9 @@ sourceCompatibility = JavaVersion.VERSION_11 ext { junit_version = "4.13.1" findbugs_version = "3.0.0" - guava_version = "31.1-jre" - antlr_version = "4.12.0" assertj_version = "3.7.0" commons_cli_version = "1.4" logback_version = "1.1.2" - grammar_classifier = "grammars" - grammarDir = "src/main/grammars" commons_lang_version = "3.0" } @@ -40,33 +36,8 @@ ext { /* ======================= Configuration ====================== */ /* ============================================================ */ -// configure non-standard source sets -sourceSets { - main.java.srcDirs += [ "$projectDir/target/generated-sources/monticore/sourcecode"] - - test { - java.srcDir "$projectDir/src/test/java" - java.srcDir "$projectDir/target/generated-test-sources/monticore/sourcecode" - resources.srcDir "$projectDir/src/test/resources" - } - grammars { - resources { - srcDirs(grammarDir) - include "**/*.mc4" - } - } -} - buildDir = file("$projectDir/target") -configurations { grammar } - -java { - registerFeature('grammars') { - usingSourceSet(sourceSets.grammars) - } -} - test { useJUnit() } @@ -88,75 +59,27 @@ repositories { } dependencies { - grammar ("de.monticore:monticore-grammar:$mc_version") {capabilities { - requireCapability("de.monticore:monticore-grammar-grammars") } - } + grammar "de.monticore:monticore-grammar:$mc_version" implementation "de.se_rwth.commons:se-commons-logging:$se_commons_version" implementation "org.apache.commons:commons-lang3:$commons_lang_version" - implementation "org.antlr:antlr4-runtime:$antlr_version" - implementation "de.monticore:monticore-runtime:${project.properties['mc_version']}" - implementation "de.monticore:monticore-grammar:${project.properties['mc_version']}" implementation "org.assertj:assertj-core:$assertj_version" implementation "commons-cli:commons-cli:$commons_cli_version" - implementation "com.google.guava:guava:$guava_version" implementation "com.google.code.findbugs:jsr305:$findbugs_version" testImplementation "junit:junit:$junit_version" - testImplementation "de.monticore:monticore-runtime:${project.properties['mc_version']}" testImplementation "ch.qos.logback:logback-classic:$logback_version" - // compileOnly "de.monticore:monticore-grammar:${project.properties['mc_version']}" } /* ============================================================ */ /* ========================== Tasks =========================== */ /* ============================================================ */ -task generateXMLBasis(type: MCTask) { - grammar = file "$projectDir/$grammarDir/de/monticore/lang/XMLBasis.mc4" - outputDir = file "$buildDir/generated-sources/monticore/sourcecode" - handcodedPath "$projectDir/src/main/java" - def uptoDate = incCheck("de/monticore/lang/XMLBasis.mc4") - outputs.upToDateWhen { uptoDate } -} - -task generateXMLLight(type: MCTask) { - grammar = file "$projectDir/$grammarDir/de/monticore/lang/XMLLight.mc4" - outputDir = file "$buildDir/generated-sources/monticore/sourcecode" - handcodedPath "$projectDir/src/main/java" - def uptoDate = incCheck("de/monticore/lang/XMLLight.mc4") - outputs.upToDateWhen { uptoDate } - dependsOn(generateXMLBasis) -} - -task generateFullXML(type: MCTask) { - grammar = file "$projectDir/$grammarDir/de/monticore/lang/FullXML.mc4" - outputDir = file "$buildDir/generated-sources/monticore/sourcecode" - handcodedPath "$projectDir/src/main/java" - def uptoDate = incCheck("de/monticore/lang/FullXML.mc4") - outputs.upToDateWhen { uptoDate } - dependsOn(generateXMLLight) -} - -task generateLangEmbeddingFullXML(type: MCTask) { - grammar = file "$projectDir/src/test/grammars/LangEmbeddingFullXML.mc4" - outputDir = file "$buildDir/generated-test-sources/monticore/sourcecode" - handcodedPath "$projectDir/src/test/java" - def uptoDate = incCheck("LangEmbeddingFullXML.mc4") - outputs.upToDateWhen { uptoDate } - dependsOn(generateFullXML) -} - -compileJava.dependsOn(generateXMLBasis,generateXMLLight,generateFullXML) - -compileTestJava { - dependsOn project.collect { it.tasks.withType(MCTask) } -} tasks.withType(Copy).all { duplicatesStrategy 'exclude' } -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" - options.deprecation = false - options.warnings = false +tasks.withType(JavaCompile).configureEach { + options.encoding = "UTF-8" + options.deprecation = false + options.warnings = false } // build sources jar in addition @@ -165,7 +88,6 @@ task sourcesJar(type: Jar) { archiveClassifier = "sources" } -sourcesJar.dependsOn project.collect { it.tasks.withType(MCTask).findAll{ it != tasks.generateLangEmbeddingFullXML } } // build javadoc jar in addition task javadocJar(type: Jar) { @@ -176,12 +98,6 @@ task javadocJar(type: Jar) { // generated java doc contains errors, disable for now javadoc.failOnError(false) -// build grammar jar as well -task grammarJar(type: Jar) { - from("$projectDir/src/main/grammars/") { include "**/*.mc4" } - archiveClassifier = "grammars" -} -jar.dependsOn grammarJar // all in one tool-jar shadowJar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE @@ -193,8 +109,6 @@ shadowJar { } jar.dependsOn shadowJar -tasks.shadowJar.dependsOn generateLangEmbeddingFullXML -tasks.javadoc.dependsOn generateLangEmbeddingFullXML /* ============================================================ */ /* ======================= Publishing ========================= */