build.gradle 3.48 KiB
apply plugin: 'jastadd'
apply plugin: 'application'
apply plugin: 'jacoco'
apply plugin: 'idea'
apply plugin: 'distribution'
dependencies {
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.8'
compile group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
compile group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.15'
compile group: 'org.influxdb', name: 'influxdb-java', version: '2.15'
// compile project(':feedbackloop.learner')
testCompile group: 'org.testcontainers', name: 'testcontainers', version: '1.11.2'
testCompile group: 'org.testcontainers', name: 'influxdb', version: '1.11.2'
testCompile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.2'
}
buildscript {
repositories.mavenLocal()
repositories.mavenCentral()
dependencies {
classpath group: 'org.jastadd', name: 'jastaddgradle', version: '1.13.2'
}
}
run {
mainClassName = 'de.tudresden.inf.st.eraser.Main'
standardInput = System.in
if (project.hasProperty("appArgs")) {
args Eval.me(appArgs)
}
}
test {
testLogging {
events "passed", "skipped", "failed"
exceptionFormat "full"
}
}
jacocoTestReport {
reports {
xml.enabled true
html.enabled false
}
}
def relastFiles = fileTree('src/main/jastadd/') {
include '**/*.relast' }.toList().toArray()
String[] relastArguments = [
"libs/relast.jar",
"--grammarName=./src/main/jastadd/mainGen",
"--useJastAddNames",
"--listClass=RefList",
"--jastAddList=JastAddList",
"--file"
]
task preprocess(type: JavaExec) {
group = 'Build'
main = "-jar"
args relastArguments + relastFiles
inputs.files relastFiles
outputs.files file("./src/main/jastadd/mainGen.ast"), file("./src/main/jastadd/mainGen.jadd")
}
jastadd {
configureModuleBuild()
modules "jastadd_modules"
module = "eraser"
extraJastAddOptions = ['--List=JastAddList']
astPackage = 'de.tudresden.inf.st.eraser.jastadd.model'
genDir = 'src/gen/java'
buildInfoDir = 'src/gen-res'
parser.name = 'EraserParser'
scanner.genDir = "src/gen/java/de/tudresden/inf/st/eraser/jastadd/scanner"
parser.genDir = "src/gen/java/de/tudresden/inf/st/eraser/jastadd/parser"
}
idea.module.generatedSourceDirs += file('src/gen/java')
sourceSets.main {
java {
srcDir 'src/gen/java'
}
}
javadoc {
// this is only run to get the index file etc.
failOnError = false
}
String[] arguments = ["libs/rd-builder.jar", "-d", "doc/"]
def allSrcFiles = sourceSets.main.allSource.findAll { it.name.endsWith('java') }.toArray()
def ragdocViewSrcData = '../ragdoc-view/src/data/'
task ragdoc(type: JavaExec, dependsOn: assemble, overwrite: true) {
group = 'documentation'
description = 'Create ragdoc json documentation files'
main = "-jar"
args arguments + allSrcFiles
}
task cleanRagdoc(type: Delete) {
group = 'documentation'
delete fileTree(ragdocViewSrcData + '/*')
}
task copyRagdoc(type: Copy, dependsOn: cleanRagdoc) {
group = 'documentation'
description = 'Copy ragdoc json documentation files to ragdoc-viewer'
from 'doc/'
into ragdocViewSrcData
eachFile { println it.file }
}
generateAst.dependsOn preprocess
generateAst.inputs.files file("./src/main/jastadd/mainGen.ast"), file("./src/main/jastadd/mainGen.jadd")
//compileJava.dependsOn jastadd
//
//// always run jastadd
//jastadd.outputs.upToDateWhen {false}