mirror of
https://github.com/corda/corda.git
synced 2025-04-07 19:34:41 +00:00
CORDA-2963: Migrate deterministic-rt.jar into DJVM repository. (#5733)
This commit is contained in:
parent
5f819c1917
commit
7abc1533ea
2
create-jdk8u/.gitignore
vendored
2
create-jdk8u/.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
jdk8u/
|
||||
libs/
|
@ -1,25 +0,0 @@
|
||||
.DEFAULT_GOAL=all
|
||||
|
||||
jdk8u:
|
||||
git clone -b deterministic-jvm8 --single-branch https://github.com/corda/openjdk $@
|
||||
|
||||
jdk8u/common/autoconf/configure: jdk8u
|
||||
|
||||
jdk8u/build/%/spec.gmk: jdk8u/common/autoconf/configure
|
||||
cd jdk8u && $(SHELL) configure
|
||||
|
||||
.PHONY: jdk-image clean all
|
||||
jdk-image: jdk8u/build/linux-x86_64-normal-server-release/spec.gmk
|
||||
$(MAKE) -C jdk8u images docs
|
||||
|
||||
all: libs/rt.jar libs/jce.jar libs/jsse.jar libs/currency.data libs/tzdb.dat libs/calendars.properties
|
||||
|
||||
clean:
|
||||
$(MAKE) -C jdk8u clean
|
||||
|
||||
libs:
|
||||
mkdir $@
|
||||
|
||||
libs/rt.jar libs/jce.jar libs/jsse.jar libs/currency.data libs/tzdb.dat libs/calendars.properties: libs jdk-image
|
||||
cp -f jdk8u/build/*/images/j2re-image/lib/$(@F) $@
|
||||
|
@ -1,184 +0,0 @@
|
||||
buildscript {
|
||||
Properties constants = new Properties()
|
||||
file("../constants.properties").withInputStream { constants.load(it) }
|
||||
|
||||
ext {
|
||||
artifactory_contextUrl = 'https://ci-artifactory.corda.r3cev.com/artifactory'
|
||||
artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')
|
||||
proguard_version = constants.getProperty("proguardVersion")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
maven {
|
||||
url "$artifactory_contextUrl/corda-dev"
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:$artifactory_plugin_version"
|
||||
classpath "net.sf.proguard:proguard-gradle:$proguard_version"
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'base'
|
||||
id 'maven-publish'
|
||||
}
|
||||
apply plugin: 'com.jfrog.artifactory'
|
||||
|
||||
/*
|
||||
* This is a nested and independent Gradle project,
|
||||
* and so has its own group and version.
|
||||
*
|
||||
* NOTE: The deterministic APIs are Open Source.
|
||||
*/
|
||||
group 'net.corda'
|
||||
version '1.0-SNAPSHOT'
|
||||
|
||||
task cleanJdk(type: Exec) {
|
||||
commandLine 'make', 'clean'
|
||||
}
|
||||
|
||||
task makeJdk(type: Exec) {
|
||||
// See: https://github.com/corda/openjdk/tree/deterministic-jvm8
|
||||
commandLine 'make'
|
||||
}
|
||||
|
||||
task runtimeJar(type: Jar, dependsOn: makeJdk) {
|
||||
baseName 'deterministic-rt'
|
||||
inputs.dir "libs"
|
||||
|
||||
from(zipTree('libs/rt.jar'))
|
||||
from(zipTree('libs/jce.jar'))
|
||||
from(zipTree('libs/jsse.jar'))
|
||||
from 'libs/calendars.properties'
|
||||
from 'libs/currency.data'
|
||||
from 'libs/tzdb.dat'
|
||||
|
||||
reproducibleFileOrder = true
|
||||
includeEmptyDirs = false
|
||||
}
|
||||
|
||||
import proguard.gradle.ProGuardTask
|
||||
task validate(type: ProGuardTask) {
|
||||
injars runtimeJar
|
||||
|
||||
dontwarn 'java.lang.invoke.**'
|
||||
dontwarn 'javax.lang.model.**'
|
||||
dontwarn 'jdk.Exported'
|
||||
|
||||
keepattributes '*'
|
||||
dontpreverify
|
||||
dontobfuscate
|
||||
dontoptimize
|
||||
verbose
|
||||
|
||||
keep 'class *'
|
||||
}
|
||||
runtimeJar.finalizedBy validate
|
||||
|
||||
task apiJar(type: Jar, dependsOn: runtimeJar) {
|
||||
baseName 'deterministic-rt'
|
||||
classifier 'api'
|
||||
|
||||
from(zipTree(runtimeJar.outputs.files.singleFile)) {
|
||||
include 'java/'
|
||||
include 'javax/'
|
||||
exclude 'java/awt/'
|
||||
exclude 'java/beans/Weak*.class'
|
||||
exclude 'java/lang/invoke/'
|
||||
exclude 'java/lang/*Thread*.class'
|
||||
exclude 'java/lang/Shutdown*.class'
|
||||
exclude 'java/lang/ref/'
|
||||
exclude 'java/lang/reflect/InvocationHandler.class'
|
||||
exclude 'java/lang/reflect/Proxy*.class'
|
||||
exclude 'java/lang/reflect/Weak*.class'
|
||||
exclude 'java/io/File.class'
|
||||
exclude 'java/io/File$*.class'
|
||||
exclude 'java/io/*FileSystem.class'
|
||||
exclude 'java/io/Filename*.class'
|
||||
exclude 'java/io/FileDescriptor*.class'
|
||||
exclude 'java/io/FileFilter*.class'
|
||||
exclude 'java/io/FilePermission*.class'
|
||||
exclude 'java/io/FileReader*.class'
|
||||
exclude 'java/io/FileSystem*.class'
|
||||
exclude 'java/io/File*Stream*.class'
|
||||
exclude 'java/io/ObjectInputStream*.class'
|
||||
exclude 'java/io/ObjectOutputStream*.class'
|
||||
exclude 'java/io/ObjectStreamClass.class'
|
||||
exclude 'java/io/ObjectStreamConstants.class'
|
||||
exclude 'java/io/ObjectStreamField.class'
|
||||
exclude 'java/net/*Content*.class'
|
||||
exclude 'java/net/Host*.class'
|
||||
exclude 'java/net/Inet*.class'
|
||||
exclude 'java/nio/channels/FileChannel*.class'
|
||||
exclude 'java/nio/channels/spi/'
|
||||
exclude 'java/nio/file/Path.class'
|
||||
exclude 'java/nio/file/attribute/'
|
||||
exclude 'java/util/SplittableRandom*.class'
|
||||
exclude 'java/util/Random.class'
|
||||
exclude 'java/util/Random$*.class'
|
||||
exclude 'java/util/WeakHashMap*.class'
|
||||
exclude 'java/util/concurrent/Blocking*.class'
|
||||
exclude 'java/util/concurrent/CompletionService.class'
|
||||
exclude 'java/util/concurrent/CompletionStage.class'
|
||||
exclude 'java/util/concurrent/ConcurrentLinked*.class'
|
||||
exclude 'java/util/concurrent/ConcurrentNavigable*.class'
|
||||
exclude 'java/util/concurrent/CopyOnWrite*.class'
|
||||
exclude 'java/util/concurrent/*Executor*.class'
|
||||
exclude 'java/util/concurrent/Future*.class'
|
||||
exclude 'java/util/concurrent/Linked*.class'
|
||||
exclude 'java/util/concurrent/RejectedExecution*.class'
|
||||
exclude 'java/util/concurrent/Runnable*.class'
|
||||
exclude 'java/util/concurrent/Semaphore*.class'
|
||||
exclude 'java/util/concurrent/Synchronous*.class'
|
||||
exclude 'java/util/concurrent/Thread*.class'
|
||||
exclude 'java/util/concurrent/TransferQueue.class'
|
||||
exclude 'java/util/concurrent/locks/'
|
||||
exclude 'javax/activation/'
|
||||
}
|
||||
|
||||
preserveFileTimestamps = false
|
||||
reproducibleFileOrder = true
|
||||
includeEmptyDirs = false
|
||||
}
|
||||
|
||||
defaultTasks "build"
|
||||
assemble.dependsOn runtimeJar
|
||||
assemble.dependsOn apiJar
|
||||
clean.dependsOn cleanJdk
|
||||
|
||||
artifacts {
|
||||
archives runtimeJar
|
||||
archives apiJar
|
||||
}
|
||||
|
||||
artifactory {
|
||||
contextUrl = artifactory_contextUrl
|
||||
publish {
|
||||
repository {
|
||||
repoKey = 'corda-dev'
|
||||
username = System.getenv('CORDA_ARTIFACTORY_USERNAME')
|
||||
password = System.getenv('CORDA_ARTIFACTORY_PASSWORD')
|
||||
maven = true
|
||||
}
|
||||
|
||||
defaults {
|
||||
publications('mavenJava')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
artifactId 'deterministic-rt'
|
||||
artifact runtimeJar
|
||||
artifact apiJar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task install(dependsOn: publishToMavenLocal)
|
@ -1 +0,0 @@
|
||||
rootProject.name = 'deterministic-rt'
|
Loading…
x
Reference in New Issue
Block a user