plugins { id 'com.github.johnrengelman.shadow' } repositories { maven { url "$artifactory_contextUrl/corda-dev" } } configurations { deterministicRt } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" compile "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version" compile "com.jcabi:jcabi-manifests:$jcabi_manifests_version" compile "info.picocli:picocli:$picocli_version" compile project(path: ":djvm", configuration: "shadow") // Deterministic runtime - used in whitelist generation deterministicRt project(path: ':jdk8u-deterministic', configuration: 'jdk') } jar.enabled = false shadowJar { baseName = "corda-djvm" classifier = 'cli' manifest { attributes( 'Automatic-Module-Name': 'net.corda.djvm', 'Main-Class': 'net.corda.djvm.tools.cli.Program', 'Build-Date': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ) } } assemble.dependsOn shadowJar task generateWhitelist(type: JavaExec, dependsOn: shadowJar) { // This is an example of how a whitelist can be generated from a JAR. In most applications though, it is recommended // that the minimal set whitelist is used. main = '-jar' args = [shadowJar.outputs.files.singleFile, 'whitelist', 'generate', '-o', "$buildDir/jdk8-deterministic.dat.gz", configurations.deterministicRt.files[0] ] }