plugins { id 'org.jetbrains.kotlin.jvm' id 'net.corda.plugins.publish-utils' id 'com.jfrog.artifactory' id 'java-library' id 'idea' } // The DJVM only supports Java 8 byte-code, so the tests must // be compiled for Java 8. The main artifact is only compiled // for Java 8 because it belongs to "Open Core". apply from: "${rootProject.projectDir}/java8.gradle" description 'Serialization support for the DJVM' configurations { sandboxTesting { canBeConsumed = false } jdkRt { canBeConsumed = false } } dependencies { api project(':core') api project(':serialization') api "net.corda.djvm:corda-djvm:$djvm_version" api 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation 'org.jetbrains.kotlin:kotlin-reflect' implementation(project(':serialization-djvm:deserializers')) { transitive = false } testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_jupiter_version" testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_jupiter_version" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_jupiter_version" // Test utilities testImplementation "org.assertj:assertj-core:$assertj_version" testRuntimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" jdkRt "net.corda:deterministic-rt:$deterministic_rt_version" // The DJVM will need this classpath to run the unit tests. sandboxTesting files(sourceSets.getByName("test").output) sandboxTesting project(':serialization-djvm:deserializers') sandboxTesting project(path: ':serialization-deterministic', configuration: 'deterministicArtifacts') sandboxTesting "org.slf4j:slf4j-nop:$slf4j_version" } jar { archiveBaseName = 'corda-serialization-djvm' archiveClassifier = '' manifest { attributes('Automatic-Module-Name': 'net.corda.serialization.djvm') attributes('Sealed': true) } } tasks.withType(Javadoc).configureEach { // We have no public or protected Java classes to document. enabled = false } tasks.withType(Test).configureEach { useJUnitPlatform() systemProperty 'deterministic-rt.path', configurations.jdkRt.asPath systemProperty 'sandbox-libraries.path', configurations.sandboxTesting.asPath // Configure the host timezone to match the DJVM's. systemProperty 'user.timezone', 'UTC' } publish { name jar.archiveBaseName } idea { module { downloadJavadoc = true downloadSources = true } }