description = "${artifactId} application"

apply plugin: "war"
apply plugin: "java"
apply plugin: "jetty"

sourceCompatibility = "1.6"
targetCompatibility = "1.6"

group = "${groupId}"
version = "${version}"

repositories {
    mavenLocal()

    mavenCentral()

    // All things JBoss/Hibernate
    maven {
        name "JBoss"
        url "http://repository.jboss.org/nexus/content/groups/public/"
    }
        

    // For access to Apache Staging (Preview) packages
    maven {
        name "Apache Staging"
        url "https://repository.apache.org/content/groups/staging"
    }
}

// This simulates Maven's "provided" scope, until it is officially supported by Gradle
// See http://jira.codehaus.org/browse/GRADLE-784

configurations {
    provided
}

sourceSets {
    main {
        compileClasspath += [configurations.provided]
        // To give the same path as IDEA has
        // output.resourcesDir = 'build/production/${artifactId}'
        // output.classesDir = 'build/production/${artifactId}'
    }
    test {
        compileClasspath += [configurations.provided]
        runtimeClasspath += [configurations.provided]
    }
}

dependencies {

    compile "org.apache.tapestry:tapestry-core:@tapestryReleaseVersion@"

    // Uncomment this to add support for file uploads:
    // compile "org.apache.tapestry:tapestry-upload:@tapestryReleaseVersion@"

    // CoffeeScript & Less support, plus resource minification:
    compile "org.apache.tapestry:tapestry-webresources:@tapestryReleaseVersion@"

    test "org.apache.tapestry:tapestry-test:@tapestryReleaseVersion@"

    // Log implementation choose one:
    // Log4j 1.x
    runtime "log4j:log4j:1.2.17"
    runtime "org.slf4j:slf4j-log4j12:@slf4jReleaseVersion@"
    // Logback
    // runtime "ch.qos.logback:logback-classic:1.0.13"

    provided "javax.servlet:servlet-api:@servletApiReleaseVersion@"
}

test {
    useTestNG()

    options.suites("src/test/conf/testng.xml")

    systemProperties["tapestry.service-reloading-enabled"] = "false"
    systemProperties["tapestry.execution-mode"] = "development"

    maxHeapSize = "600M"

    jvmArgs("-XX:MaxPermSize=256M")

    enableAssertions = true
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.3'
}

// TODO: Configure execution mode for jettyRun task
