import org.gradle.plugins.ide.idea.model.*
import t5build.*

description = "Fast class property discovery, reading and writing library based on bytecode generation. Extracted from Apache Tapestry, but not dependent on the Web framework (tapestry-core) nor the IoC one (tapestry-ioc)."

//apply plugin: JavaPlugin
apply plugin: 'antlr'

buildDir = 'target/gradle-build'

dependencies {
    api project(":plastic")
    api project(":tapestry5-annotations")
    api project(":commons")
    implementation "org.slf4j:slf4j-api:${versions.slf4j}"

    // ANTLR tool path used with the generateGrammarSource task
    antlr "org.antlr:antlr:3.5.2"

    // Transitive will bring in the unwanted string template library as well
    implementation "org.antlr:antlr-runtime:3.5.2", {
        exclude group: "org.antlr", module: "stringtemplate"
    }

    testImplementation "org.testng:testng:${versions.testng}", { transitive = false }
    testImplementation "org.easymock:easymock:${versions.easymock}"
    testImplementation "org.junit.jupiter:junit-jupiter:${versions.junitJupiter}"
    testImplementation "org.spockframework:spock-core:${versions.spock}"
}

clean.delete generateGrammarSource.outputDirectory

compileJava {
    options.fork(memoryMaximumSize: '512m')
}

test {
    useJUnit()
}