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') // Integration test helpers testCompile "org.assertj:assertj-core:$assertj_version" integrationTestImplementation "junit:junit:$junit_version" integrationTestImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}" integrationTestRuntimeOnly "org.junit.vintage:junit-vintage-engine:${junit_vintage_version}" integrationTestRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit_jupiter_version}" integrationTestRuntimeOnly "org.junit.platform:junit-platform-launcher:${junit_platform_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:${servlet_version}" compile "org.gradle:gradle-tooling-api:${gradle.gradleVersion}" // 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}" } compileJava { doFirst { if (JavaVersion.current() == JavaVersion.VERSION_11) options.compilerArgs = [ '--add-exports', 'java.base/sun.nio.ch=ALL-UNNAMED' ] } } task integrationTest(type: Test) { testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath } jar { baseName 'corda-node-driver' manifest { // This JAR is part of Corda's testing framework. // Driver will not include it as part of an out-of-process node. attributes('Corda-Testing': true) } } tasks.named('javadocJar', Jar) { from 'README.md' include 'README.md' } tasks.named('javadoc', Javadoc) { enabled = false } publish { name jar.baseName } scanApi { //Constructors that are synthesized by Kotlin unexpectedly excludeMethods = [ "net.corda.testing.node.MockServices": [ "(Lnet/corda/node/cordapp/CordappLoader;Lnet/corda/core/node/services/IdentityService;Lnet/corda/core/node/NetworkParameters;Lnet/corda/testing/core/TestIdentity;[Ljava/security/KeyPair;Lkotlin/jvm/internal/DefaultConstructorMarker;)V" ], "net.corda.testing.node.InMemoryMessagingNetwork\$MessageTransfer": [ "(Lnet/corda/testing/node/InMemoryMessagingNetwork\$PeerHandle;Lnet/corda/node/services/messaging/Message;Lnet/corda/core/messaging/MessageRecipients;Lkotlin/jvm/internal/DefaultConstructorMarker;)V" ] ] }