Skip to content
Snippets Groups Projects
build.gradle 2.77 KiB
group 'de.tudresden.inf.st'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'jastadd'
apply plugin: 'application'

//mainClassName = 'de.tudresden.inf.st.mquat.Main'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
    compile group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.10.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'

    testCompile 'junit:junit:4.12'
}

run {
    mainClassName = 'de.tudresden.inf.st.mquat.Main'
    standardInput = System.in
    if (project.hasProperty("appArgs")) {
        args Eval.me(appArgs)
    }
}

task toEcl(type: JavaExec, dependsOn: assemble) {
    group "application"
    classpath = sourceSets.test.runtimeClasspath
    main = 'de.tudresden.inf.st.mquat.Main'
}

task checkSolution(type: JavaExec, dependsOn: assemble) {
    group "application"
    classpath = sourceSets.test.runtimeClasspath
    main = 'de.tudresden.inf.st.mquat.MainCheck'
    if (project.hasProperty("fileNames")) {
        args(fileNames.split(','))
    }
}

buildscript {
    repositories.mavenLocal()
    repositories.mavenCentral()
    dependencies {
        classpath 'org.jastadd:jastaddgradle:1.10.3'
    }
}


jar {
  manifest {
    attributes(
      'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
      'Main-Class': 'de.tudresden.inf.st.mquat.Main'
    )
  }
}

javadoc {
    // this is only run to get the index file etc.
    failOnError = false
}
task RagDoll(type: Javadoc, dependsOn:javadoc) {
    doFirst {
        options.addStringOption("ragroot", "./src/main/jastadd")
    }
    group = "documentation"
    description = 'create a RagDoll documentation'
    classpath = javadoc.classpath
    destinationDir = javadoc.destinationDir
    excludes = javadoc.excludes
    executable = javadoc.executable
    failOnError = false
    includes = javadoc.includes
    options.doclet = "ragdoll.RagDollDoclet"
    options.docletpath = files('libs/RagDoll.jar').asList()

    source = javadoc.source
    options.linkSource = true

    // title not working for some reason
    title = ""
    doLast {
        println "Visit: file://" + destinationDir + "/index.html"
    }
}

jastadd {
    configureModuleBuild()
    modules "jastadd_modules"

    module = "expressions"

    extraJastAddOptions = ['--cache=none']

    astPackage = 'de.tudresden.inf.st.mquat.jastadd.model'
    genDir = 'src/gen/java'

    buildInfoDir = 'src/gen-res'
    parser.name = 'MquatParser'

    scanner.genDir = "src/gen/java/de/tudresden/inf/st/mquat/jastadd/scanner"
    parser.genDir = "src/gen/java/de/tudresden/inf/st/mquat/jastadd/parser"
}