mirror of
https://github.com/corda/corda.git
synced 2024-12-18 20:47:57 +00:00
CORDA-1800: Shrink the Simm Valuation Demo's contract states using ProGuard. (#3586)
* Shrink the Simm Valuation Demo's contract states CorDapp using ProGuard. * Remove CordFormation from CorDapp modules, which unbundles Jolokia from the CorDapps. * Preserve directory structure for CorDapp's own classes. * Remove unwanted transitive dependencies from Simm Valuation CorDapps. * Use allprojects {} to set Strata version property.
This commit is contained in:
parent
829be5dfb6
commit
e879de70f3
@ -216,6 +216,9 @@ allprojects {
|
|||||||
force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||||
force "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
force "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
||||||
|
|
||||||
|
// Force dependencies to use the same version of Guava as Corda.
|
||||||
|
force "com.google.guava:guava:$guava_version"
|
||||||
|
|
||||||
// Demand that everything uses our given version of Netty.
|
// Demand that everything uses our given version of Netty.
|
||||||
eachDependency { details ->
|
eachDependency { details ->
|
||||||
if (details.requested.group == 'io.netty' && details.requested.name.startsWith('netty-')) {
|
if (details.requested.group == 'io.netty' && details.requested.name.startsWith('netty-')) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
gradlePluginsVersion=4.0.25
|
gradlePluginsVersion=4.0.26
|
||||||
kotlinVersion=1.2.51
|
kotlinVersion=1.2.51
|
||||||
platformVersion=4
|
platformVersion=4
|
||||||
guavaVersion=25.1-jre
|
guavaVersion=25.1-jre
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
buildscript {
|
allprojects {
|
||||||
ext.strata_version = '1.1.2'
|
ext {
|
||||||
|
strata_version = '1.1.2'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
@ -29,7 +31,7 @@ dependencies {
|
|||||||
|
|
||||||
// The SIMM demo CorDapp depends upon Cash CorDapp features
|
// The SIMM demo CorDapp depends upon Cash CorDapp features
|
||||||
cordapp project(':finance')
|
cordapp project(':finance')
|
||||||
cordapp project(':samples:simm-valuation-demo:contracts-states')
|
cordapp project(path: ':samples:simm-valuation-demo:contracts-states', configuration: 'shrinkArtifacts')
|
||||||
cordapp project(':samples:simm-valuation-demo:flows')
|
cordapp project(':samples:simm-valuation-demo:flows')
|
||||||
|
|
||||||
// Corda integration dependencies
|
// Corda integration dependencies
|
||||||
@ -39,25 +41,25 @@ dependencies {
|
|||||||
cordaCompile project(':webserver')
|
cordaCompile project(':webserver')
|
||||||
|
|
||||||
// Javax is required for webapis
|
// Javax is required for webapis
|
||||||
compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
|
compile "org.glassfish.jersey.core:jersey-server:$jersey_version"
|
||||||
|
|
||||||
// Cordapp dependencies
|
// Cordapp dependencies
|
||||||
// Specify your cordapp's dependencies below, including dependent cordapps
|
// Specify your cordapp's dependencies below, including dependent cordapps
|
||||||
compile "com.opengamma.strata:strata-basics:${strata_version}"
|
compile "com.opengamma.strata:strata-basics:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-product:${strata_version}"
|
compile "com.opengamma.strata:strata-product:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-data:${strata_version}"
|
compile "com.opengamma.strata:strata-data:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-calc:${strata_version}"
|
compile "com.opengamma.strata:strata-calc:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-pricer:${strata_version}"
|
compile "com.opengamma.strata:strata-pricer:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-report:${strata_version}"
|
compile "com.opengamma.strata:strata-report:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-market:${strata_version}"
|
compile "com.opengamma.strata:strata-market:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-collect:${strata_version}"
|
compile "com.opengamma.strata:strata-collect:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-loader:${strata_version}"
|
compile "com.opengamma.strata:strata-loader:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-math:${strata_version}"
|
compile "com.opengamma.strata:strata-math:$strata_version"
|
||||||
|
|
||||||
// Test dependencies
|
// Test dependencies
|
||||||
testCompile project(':node-driver')
|
testCompile project(':node-driver')
|
||||||
testCompile "junit:junit:$junit_version"
|
testCompile "junit:junit:$junit_version"
|
||||||
testCompile "org.assertj:assertj-core:${assertj_version}"
|
testCompile "org.assertj:assertj-core:$assertj_version"
|
||||||
}
|
}
|
||||||
|
|
||||||
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
||||||
|
@ -1,24 +1,76 @@
|
|||||||
buildscript {
|
apply plugin: 'net.corda.plugins.cordapp'
|
||||||
ext.strata_version = '1.1.2'
|
|
||||||
|
def javaHome = System.getProperty('java.home')
|
||||||
|
def shrinkJar = file("$buildDir/libs/${project.name}-${project.version}-tiny.jar")
|
||||||
|
|
||||||
|
cordapp {
|
||||||
|
info {
|
||||||
|
vendor = 'R3'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'net.corda.plugins.cordapp'
|
configurations {
|
||||||
apply plugin: 'net.corda.plugins.cordformation'
|
shrinkArtifacts
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
cordaCompile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||||
|
|
||||||
// The SIMM demo CorDapp depends upon Cash CorDapp features
|
// The SIMM demo CorDapp depends upon Cash CorDapp features
|
||||||
cordapp project(':finance')
|
cordapp project(':finance')
|
||||||
|
|
||||||
// Corda integration dependencies
|
// Corda integration dependencies
|
||||||
cordaCompile project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
||||||
cordaCompile project(':core')
|
cordaCompile project(':core')
|
||||||
|
|
||||||
|
|
||||||
// Cordapp dependencies
|
// Cordapp dependencies
|
||||||
// Specify your cordapp's dependencies below, including dependent cordapps
|
// Specify your cordapp's dependencies below, including dependent cordapps
|
||||||
compile "com.opengamma.strata:strata-product:${strata_version}"
|
compile "com.opengamma.strata:strata-product:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-market:${strata_version}"
|
compile "com.opengamma.strata:strata-market:$strata_version"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
jar {
|
||||||
|
classifier = 'fat'
|
||||||
|
}
|
||||||
|
|
||||||
|
import proguard.gradle.ProGuardTask
|
||||||
|
task shrink(type: ProGuardTask) {
|
||||||
|
injars jar
|
||||||
|
outjars shrinkJar
|
||||||
|
|
||||||
|
libraryjars "$javaHome/lib/rt.jar"
|
||||||
|
libraryjars "$javaHome/lib/jce.jar"
|
||||||
|
configurations.runtime.forEach {
|
||||||
|
libraryjars it.path, filter: '!META-INF/versions/**'
|
||||||
|
}
|
||||||
|
|
||||||
|
dontwarn 'afu.org.checkerframework.**'
|
||||||
|
dontwarn 'co.paralleluniverse.**'
|
||||||
|
dontwarn 'org.checkerframework.**'
|
||||||
|
dontwarn 'org.joda.**'
|
||||||
|
dontnote
|
||||||
|
|
||||||
|
// We need to preserve our CorDapp's own directory structure so that Corda
|
||||||
|
// can find the contract classes.
|
||||||
|
keepdirectories 'net/corda/**'
|
||||||
|
keepattributes '*'
|
||||||
|
dontobfuscate
|
||||||
|
dontoptimize
|
||||||
|
verbose
|
||||||
|
|
||||||
|
// These are our CorDapp classes, so don't change these.
|
||||||
|
keep 'class net.corda.vega.** { *; }', includedescriptorclasses:true
|
||||||
|
|
||||||
|
// Until CorDapps are isolated from each other, we need to ensure that the
|
||||||
|
// versions of the classes that this CorDapp needs are still usable by other
|
||||||
|
// CorDapps. Unfortunately, this means that we cannot shrink them as much as
|
||||||
|
// we'd like to.
|
||||||
|
keepclassmembers 'class com.opengamma.strata.** { *; }', includedescriptorclasses:true
|
||||||
|
keepclassmembers 'class com.google.** { *; }', includedescriptorclasses:true
|
||||||
|
keepclassmembers 'class org.joda.** { *; }', includedescriptorclasses:true
|
||||||
|
}
|
||||||
|
jar.finalizedBy shrink
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
shrinkArtifacts file: shrinkJar, name: project.name, type: 'jar', extension: 'jar', classifier: 'tiny', builtBy: shrink
|
||||||
|
}
|
||||||
|
@ -1,33 +1,32 @@
|
|||||||
buildscript {
|
|
||||||
ext.strata_version = '1.1.2'
|
|
||||||
}
|
|
||||||
|
|
||||||
apply plugin: 'net.corda.plugins.quasar-utils'
|
apply plugin: 'net.corda.plugins.quasar-utils'
|
||||||
apply plugin: 'net.corda.plugins.cordapp'
|
apply plugin: 'net.corda.plugins.cordapp'
|
||||||
apply plugin: 'net.corda.plugins.cordformation'
|
|
||||||
|
cordapp {
|
||||||
|
info {
|
||||||
|
vendor = 'R3'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
cordaCompile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||||
|
|
||||||
// The SIMM demo CorDapp depends upon Cash CorDapp features
|
// The SIMM demo CorDapp depends upon Cash CorDapp features
|
||||||
cordapp project(':finance')
|
cordapp project(':finance')
|
||||||
cordapp project(':samples:simm-valuation-demo:contracts-states')
|
cordapp project(path: ':samples:simm-valuation-demo:contracts-states', configuration: 'shrinkArtifacts')
|
||||||
|
|
||||||
// Corda integration dependencies
|
// Corda integration dependencies
|
||||||
cordaCompile project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
||||||
cordaCompile project(':core')
|
cordaCompile project(':core')
|
||||||
|
|
||||||
// Cordapp dependencies
|
// Cordapp dependencies
|
||||||
// Specify your cordapp's dependencies below, including dependent cordapps
|
// Specify your cordapp's dependencies below, including dependent cordapps
|
||||||
compile "com.opengamma.strata:strata-basics:${strata_version}"
|
compile "com.opengamma.strata:strata-basics:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-product:${strata_version}"
|
compile "com.opengamma.strata:strata-product:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-data:${strata_version}"
|
compile "com.opengamma.strata:strata-data:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-calc:${strata_version}"
|
compile "com.opengamma.strata:strata-calc:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-pricer:${strata_version}"
|
compile "com.opengamma.strata:strata-pricer:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-report:${strata_version}"
|
compile "com.opengamma.strata:strata-report:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-market:${strata_version}"
|
compile "com.opengamma.strata:strata-market:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-collect:${strata_version}"
|
compile "com.opengamma.strata:strata-collect:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-loader:${strata_version}"
|
compile "com.opengamma.strata:strata-loader:$strata_version"
|
||||||
compile "com.opengamma.strata:strata-math:${strata_version}"
|
compile "com.opengamma.strata:strata-math:$strata_version"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user