description = "Integration with WRO4J to perform runtime CoffeeScript compilation, JavaScript minimization, and more."

dependencies {
    compile project(":tapestry-core")
    compile "com.github.sommeri:less4j:1.12.0"
    compile "com.google.javascript:closure-compiler-unshaded:v20171023"
    compile "org.mozilla:rhino:1.7.7.2"

    testCompile project(":tapestry-runner")
    testCompile "org.gebish:geb-spock:${versions.geb}"
    testCompile "org.spockframework:spock-tapestry:${versions.spock}"
    
    testCompile "org.seleniumhq.selenium:selenium-java:${versions.selenium}", {
        exclude group: "org.eclipse.jetty"
    }
    testCompile "org.seleniumhq.selenium:selenium-server:${versions.selenium}", {
        exclude group: "org.eclipse.jetty"
    }
    testCompile ("io.github.bonigarcia:webdrivermanager:1.7.2")
    
}

jar.manifest {
    attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.webresources.modules.WebResourcesModule'
}


test {
    useJUnit()

    systemProperties("geb.build.reportsDir": "$reporting.baseDir/geb",
        "tapestry.compiled-asset-cache-dir": "$buildDir/compiled-asset-cache",
        "tapestry.production-mode": "false")
}
