2018-08-24 14:51:40 +00:00
|
|
|
plugins {
|
2018-09-13 09:55:52 +00:00
|
|
|
id 'com.github.johnrengelman.shadow'
|
2018-08-22 15:01:39 +00:00
|
|
|
}
|
2018-09-05 09:12:48 +00:00
|
|
|
apply plugin: 'net.corda.plugins.publish-utils'
|
|
|
|
apply plugin: 'com.jfrog.artifactory'
|
2018-09-27 16:28:22 +00:00
|
|
|
apply plugin: 'idea'
|
2018-09-05 09:12:48 +00:00
|
|
|
|
|
|
|
description 'Corda deterministic JVM sandbox'
|
2018-08-22 15:01:39 +00:00
|
|
|
|
2018-08-24 14:51:40 +00:00
|
|
|
ext {
|
|
|
|
// Shaded version of ASM to avoid conflict with root project.
|
2018-09-28 10:53:25 +00:00
|
|
|
asm_version = '6.2.1'
|
2018-08-22 15:01:39 +00:00
|
|
|
}
|
|
|
|
|
2018-09-27 16:28:22 +00:00
|
|
|
repositories {
|
|
|
|
maven {
|
|
|
|
url "$artifactory_contextUrl/corda-dev"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-09-05 14:57:12 +00:00
|
|
|
configurations {
|
|
|
|
testCompile.extendsFrom shadow
|
2018-09-27 16:28:22 +00:00
|
|
|
jdkRt.resolutionStrategy {
|
|
|
|
// Always check the repository for a newer SNAPSHOT.
|
|
|
|
cacheChangingModulesFor 0, 'seconds'
|
|
|
|
}
|
2018-09-05 14:57:12 +00:00
|
|
|
}
|
|
|
|
|
2018-08-22 15:01:39 +00:00
|
|
|
dependencies {
|
2018-09-05 14:57:12 +00:00
|
|
|
shadow "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
|
|
shadow "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
|
|
shadow "org.slf4j:slf4j-api:$slf4j_version"
|
2018-08-22 15:01:39 +00:00
|
|
|
|
|
|
|
// ASM: byte code manipulation library
|
|
|
|
compile "org.ow2.asm:asm:$asm_version"
|
|
|
|
compile "org.ow2.asm:asm-tree:$asm_version"
|
|
|
|
compile "org.ow2.asm:asm-commons:$asm_version"
|
|
|
|
|
|
|
|
// Classpath scanner
|
2018-09-05 14:57:12 +00:00
|
|
|
shadow "io.github.lukehutch:fast-classpath-scanner:$fast_classpath_scanner_version"
|
2018-08-22 15:01:39 +00:00
|
|
|
|
|
|
|
// Test utilities
|
|
|
|
testCompile "junit:junit:$junit_version"
|
|
|
|
testCompile "org.assertj:assertj-core:$assertj_version"
|
2018-09-05 13:05:52 +00:00
|
|
|
testCompile "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version"
|
2018-09-27 16:28:22 +00:00
|
|
|
jdkRt "net.corda:deterministic-rt:latest.integration"
|
2018-08-22 15:01:39 +00:00
|
|
|
}
|
|
|
|
|
2018-08-24 14:51:40 +00:00
|
|
|
jar.enabled = false
|
2018-08-22 15:01:39 +00:00
|
|
|
|
|
|
|
shadowJar {
|
2018-09-05 09:12:48 +00:00
|
|
|
baseName 'corda-djvm'
|
|
|
|
classifier ''
|
2018-08-22 15:01:39 +00:00
|
|
|
relocate 'org.objectweb.asm', 'djvm.org.objectweb.asm'
|
2018-10-11 12:48:32 +00:00
|
|
|
|
|
|
|
// These particular classes are only needed to "bootstrap"
|
|
|
|
// the compilation of the other sandbox classes. At runtime,
|
|
|
|
// we will generate better versions from deterministic-rt.jar.
|
|
|
|
exclude 'sandbox/java/lang/Appendable.class'
|
|
|
|
exclude 'sandbox/java/lang/CharSequence.class'
|
|
|
|
exclude 'sandbox/java/lang/Character\$*.class'
|
|
|
|
exclude 'sandbox/java/lang/Comparable.class'
|
|
|
|
exclude 'sandbox/java/lang/Enum.class'
|
|
|
|
exclude 'sandbox/java/lang/Iterable.class'
|
|
|
|
exclude 'sandbox/java/lang/StringBuffer.class'
|
|
|
|
exclude 'sandbox/java/lang/StringBuilder.class'
|
|
|
|
exclude 'sandbox/java/nio/**'
|
|
|
|
exclude 'sandbox/java/util/**'
|
2018-08-22 15:01:39 +00:00
|
|
|
}
|
2018-08-24 14:51:40 +00:00
|
|
|
assemble.dependsOn shadowJar
|
2018-09-05 09:12:48 +00:00
|
|
|
|
2018-09-27 16:28:22 +00:00
|
|
|
tasks.withType(Test) {
|
|
|
|
systemProperty 'deterministic-rt.path', configurations.jdkRt.asPath
|
|
|
|
}
|
|
|
|
|
2018-09-05 09:12:48 +00:00
|
|
|
artifacts {
|
|
|
|
publish shadowJar
|
|
|
|
}
|
|
|
|
|
|
|
|
publish {
|
2018-09-05 14:57:12 +00:00
|
|
|
dependenciesFrom configurations.shadow
|
2018-09-05 09:12:48 +00:00
|
|
|
name shadowJar.baseName
|
|
|
|
}
|
2018-09-27 16:28:22 +00:00
|
|
|
|
|
|
|
idea {
|
|
|
|
module {
|
|
|
|
downloadJavadoc = true
|
|
|
|
downloadSources = true
|
|
|
|
}
|
|
|
|
}
|