corda/testing/testserver/build.gradle

101 lines
3.5 KiB
Groovy

apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'java'
apply plugin: 'corda.common-publishing'
description 'Corda node web server'
configurations {
integrationTestImplementation.extendsFrom testImplementation
integrationTestRuntime.extendsFrom testRuntimeOnly
}
sourceSets {
integrationTest {
kotlin {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integration-test/kotlin')
}
}
}
processResources {
from file("$rootDir/config/dev/log4j2.xml")
}
dependencies {
implementation project(':core')
implementation project(':node-api')
implementation project(':client:rpc')
implementation project(':client:jackson')
implementation project(':tools:cliutils')
implementation project(":common-logging")
// Web stuff: for HTTP[S] servlets
implementation "org.eclipse.jetty:jetty-servlet:$jetty_version"
implementation "org.eclipse.jetty:jetty-webapp:$jetty_version"
implementation "javax.servlet:javax.servlet-api:${servlet_version}"
implementation "commons-fileupload:commons-fileupload:$fileupload_version"
// Log4J: logging framework (with SLF4J bindings)
implementation "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version"
implementation "org.apache.logging.log4j:log4j-core:$log4j_version"
// JOpt: for command line flags.
implementation "net.sf.jopt-simple:jopt-simple:$jopt_simple_version"
// Jersey for JAX-RS implementation for use in Jetty
// TODO: remove force upgrade when jersey catches up
implementation "org.eclipse.jetty:jetty-continuation:${jetty_version}"
implementation "org.glassfish.jersey.core:jersey-server:$jersey_version"
implementation "org.glassfish.jersey.containers:jersey-container-servlet:$jersey_version"
implementation "org.glassfish.jersey.containers:jersey-container-jetty-http:$jersey_version"
implementation "org.glassfish.jersey.media:jersey-media-json-jackson:$jersey_version"
// For rendering the index page.
implementation "org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.12"
// Capsule is a library for building independently executable fat JARs.
// We only need this dependency to implementation our Caplet against.
implementation "co.paralleluniverse:capsule:$capsule_version"
implementation group: "com.typesafe", name: "config", version: typesafe_config_version
implementation "com.google.guava:guava:$guava_version"
implementation "io.netty:netty-transport-native-unix-common:4.1.77.Final.jar"
testImplementation project(":core-test-utils")
testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}"
testImplementation "junit:junit:$junit_version"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:${junit_vintage_version}"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit_jupiter_version}"
testRuntimeOnly "org.junit.platform:junit-platform-launcher:${junit_platform_version}"
integrationTestImplementation project(':node-driver')
}
task integrationTest(type: Test) {
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
jvmArgs test_add_opens
jvmArgs test_add_exports
}
jar {
baseName 'corda-testserver-impl'
}
publishing {
publications {
maven(MavenPublication) {
artifactId jar.baseName
from components.java
}
}
}