apply plugin: 'kotlin'
apply plugin: 'kotlin-jpa'
apply plugin: 'net.corda.plugins.quasar-utils'
apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'net.corda.plugins.api-scanner'
apply plugin: 'com.jfrog.artifactory'

//noinspection GroovyAssignabilityCheck
configurations {
    integrationTestCompile.extendsFrom testCompile
    integrationTestRuntime.extendsFrom testRuntime
}

sourceSets {
    integrationTest {
        kotlin {
            compileClasspath += main.output + test.output
            runtimeClasspath += main.output + test.output
            srcDir file('src/integration-test/kotlin')
        }
        resources {
            srcDir file('src/integration-test/resources')
        }
    }
}

dependencies {
    compile project(':test-utils')
    compile "net.corda.plugins:cordform-common:$gradle_plugins_version"

    // Integration test helpers
    testCompile "org.assertj:assertj-core:$assertj_version"
    integrationTestCompile "junit:junit:$junit_version"

    // Jetty dependencies for NetworkMapClient test.
    // Web stuff: for HTTP[S] servlets
    compile "org.eclipse.jetty:jetty-servlet:${jetty_version}"
    compile "org.eclipse.jetty:jetty-webapp:${jetty_version}"
    compile "javax.servlet:javax.servlet-api:3.1.0"

    // Jersey for JAX-RS implementation for use in Jetty
    compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
    compile "org.glassfish.jersey.containers:jersey-container-servlet-core:${jersey_version}"
    compile "org.glassfish.jersey.containers:jersey-container-jetty-http:${jersey_version}"
}

task integrationTest(type: Test) {
    testClassesDirs = sourceSets.integrationTest.output.classesDirs
    classpath = sourceSets.integrationTest.runtimeClasspath
}

jar {
    baseName 'corda-node-driver'
}

publish {
    name jar.baseName
}