mirror of
https://github.com/corda/corda.git
synced 2024-12-22 06:17:55 +00:00
3497e42f7c
* Test SELECT WHERE IN composite key using requery 1.2.0 Upgraded Vault Service code to use Requery 1.2.0 SELECT .. WHERE IN Updated generated schema code with Requery 1.2.0 Upgrade to Requery 1.2.1 Upgrade to Requery 1.2.1 - converted to use update DSL with composite key Removed redundant JDBC SQL test cases. Minor updates following PR review comments from RP. * Streamline companion object initialisation.
255 lines
8.6 KiB
Groovy
255 lines
8.6 KiB
Groovy
buildscript {
|
|
// For sharing constants between builds
|
|
Properties constants = new Properties()
|
|
file("constants.properties").withInputStream { constants.load(it) }
|
|
|
|
// Our version: bump this on release.
|
|
ext.corda_version = "0.10-SNAPSHOT"
|
|
ext.gradle_plugins_version = constants.getProperty("gradlePluginsVersion")
|
|
|
|
// Dependency versions. Can run 'gradle dependencyUpdates' to find new versions of things.
|
|
//
|
|
// TODO: Sort this alphabetically.
|
|
ext.kotlin_version = '1.1.1'
|
|
ext.quasar_version = '0.7.6' // TODO: Upgrade to 0.7.7+ when Quasar bug 238 is resolved.
|
|
ext.asm_version = '0.5.3'
|
|
ext.artemis_version = '1.5.3'
|
|
ext.jackson_version = '2.8.5'
|
|
ext.jetty_version = '9.3.9.v20160517'
|
|
ext.jersey_version = '2.25'
|
|
ext.jolokia_version = '2.0.0-M3'
|
|
ext.assertj_version = '3.6.1'
|
|
ext.slf4j_version = '1.7.24'
|
|
ext.log4j_version = '2.7'
|
|
ext.bouncycastle_version = '1.56'
|
|
ext.guava_version = constants.getProperty("guavaVersion")
|
|
ext.quickcheck_version = '0.7'
|
|
ext.okhttp_version = '3.5.0'
|
|
ext.netty_version = '4.1.5.Final'
|
|
ext.typesafe_config_version = '1.3.1'
|
|
ext.fileupload_version = '1.3.2'
|
|
ext.junit_version = '4.12'
|
|
ext.jopt_simple_version = '5.0.2'
|
|
ext.jansi_version = '1.14'
|
|
ext.hibernate_version = '5.2.6.Final'
|
|
ext.h2_version = '1.4.194'
|
|
ext.rxjava_version = '1.2.4'
|
|
ext.requery_version = '1.2.1'
|
|
ext.dokka_version = '0.9.13'
|
|
ext.crash_version = '1.3.2'
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
|
|
classpath "net.corda.plugins:publish-utils:$gradle_plugins_version"
|
|
classpath "net.corda.plugins:quasar-utils:$gradle_plugins_version"
|
|
classpath "net.corda.plugins:cordformation:$gradle_plugins_version"
|
|
classpath 'com.github.ben-manes:gradle-versions-plugin:0.13.0'
|
|
classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
|
|
classpath "org.jetbrains.dokka:dokka-gradle-plugin:${dokka_version}"
|
|
classpath "org.ajoberstar:grgit:1.1.0"
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
// TODO The capsule plugin requires the newer DSL plugin block.It would be nice if we could unify all the plugins into one style,
|
|
// but the DSL has some restrictions e.g can't be used on the allprojects section. So we should revisit this if there are improvements in Gradle.
|
|
id "us.kirchmeier.capsule" version "1.0.2"
|
|
}
|
|
|
|
ext {
|
|
corda_revision = org.ajoberstar.grgit.Grgit.open(file('.')).head().id
|
|
}
|
|
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'project-report'
|
|
apply plugin: 'com.github.ben-manes.versions'
|
|
apply plugin: 'net.corda.plugins.publish-utils'
|
|
apply plugin: 'net.corda.plugins.quasar-utils'
|
|
apply plugin: 'net.corda.plugins.cordformation'
|
|
apply plugin: 'org.jetbrains.dokka'
|
|
|
|
// We need the following three lines even though they're inside an allprojects {} block below because otherwise
|
|
// IntelliJ gets confused when importing the project and ends up erasing and recreating the .idea directory, along
|
|
// with the run configurations. It also doesn't realise that the project is a Java 8 project and misconfigures
|
|
// the resulting import. This fixes it.
|
|
apply plugin: 'java'
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
|
|
allprojects {
|
|
apply plugin: 'java'
|
|
apply plugin: 'jacoco'
|
|
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Xlint:-options"
|
|
}
|
|
|
|
group 'net.corda'
|
|
version "$corda_version"
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
jcenter()
|
|
// TODO: remove this once we eliminate Exposed
|
|
maven {
|
|
url 'https://dl.bintray.com/kotlin/exposed'
|
|
}
|
|
maven { url 'https://jitpack.io' }
|
|
}
|
|
}
|
|
|
|
// Check that we are running on a Java 8 JDK. The source/targetCompatibility values above aren't sufficient to
|
|
// guarantee this because those are properties checked by the Java plugin, but we're using Kotlin.
|
|
//
|
|
// We recommend a specific minor version (unfortunately, not checkable directly) because JavaFX adds APIs in
|
|
// minor releases, so we can't work with just any Java 8, it has to be a recent one.
|
|
if (!JavaVersion.current().java8Compatible)
|
|
throw new GradleException("Corda requires Java 8, please upgrade to at least 1.8.0_112")
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
jcenter()
|
|
maven {
|
|
url 'https://dl.bintray.com/kotlin/exposed'
|
|
}
|
|
}
|
|
|
|
// Required for building out the fat JAR.
|
|
dependencies {
|
|
compile project(':node')
|
|
compile "com.google.guava:guava:$guava_version"
|
|
|
|
runtime project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
runtime project(path: ":node:webserver:webcapsule", configuration: 'runtimeArtifacts')
|
|
|
|
// For the buildCordappDependenciesJar task
|
|
runtime project(':client:jfx')
|
|
runtime project(':client:mock')
|
|
runtime project(':client:rpc')
|
|
runtime project(':core')
|
|
runtime project(':finance')
|
|
runtime project(':node:webserver')
|
|
testCompile project(':test-utils')
|
|
}
|
|
|
|
task jacocoRootReport(type: org.gradle.testing.jacoco.tasks.JacocoReport) {
|
|
dependsOn = subprojects.test
|
|
additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs)
|
|
sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs)
|
|
classDirectories = files(subprojects.sourceSets.main.output)
|
|
executionData = files(subprojects.jacocoTestReport.executionData)
|
|
reports {
|
|
html.enabled = true
|
|
xml.enabled = true
|
|
csv.enabled = false
|
|
}
|
|
onlyIf = {
|
|
true
|
|
}
|
|
doFirst {
|
|
executionData = files(executionData.findAll {
|
|
it.exists()
|
|
})
|
|
}
|
|
}
|
|
|
|
tasks.withType(Test) {
|
|
reports.html.destination = file("${reporting.baseDir}/${name}")
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['build']) {
|
|
directory "./build/nodes"
|
|
networkMap "Controller"
|
|
node {
|
|
name "Controller"
|
|
nearestCity "London"
|
|
advertisedServices = ["corda.notary.validating"]
|
|
p2pPort 10002
|
|
cordapps = []
|
|
}
|
|
node {
|
|
name "Bank A"
|
|
nearestCity "London"
|
|
advertisedServices = []
|
|
p2pPort 10012
|
|
rpcPort 10013
|
|
webPort 10014
|
|
cordapps = []
|
|
}
|
|
node {
|
|
name "Bank B"
|
|
nearestCity "New York"
|
|
advertisedServices = []
|
|
p2pPort 10007
|
|
rpcPort 10008
|
|
webPort 10009
|
|
cordapps = []
|
|
}
|
|
}
|
|
|
|
bintrayConfig {
|
|
user = System.getenv('CORDA_BINTRAY_USER')
|
|
key = System.getenv('CORDA_BINTRAY_KEY')
|
|
repo = 'corda'
|
|
org = 'r3'
|
|
licenses = ['Apache-2.0']
|
|
vcsUrl = 'https://github.com/corda/corda'
|
|
projectUrl = 'https://github.com/corda/corda'
|
|
gpgSign = true
|
|
gpgPassphrase = System.getenv('CORDA_BINTRAY_GPG_PASSPHRASE')
|
|
publications = ['jfx', 'mock', 'rpc', 'core', 'corda', 'corda-webserver', 'finance', 'node', 'node-api', 'node-schemas', 'test-utils', 'jackson', 'verifier', 'webserver']
|
|
license {
|
|
name = 'Apache-2.0'
|
|
url = 'https://www.apache.org/licenses/LICENSE-2.0'
|
|
distribution = 'repo'
|
|
}
|
|
developer {
|
|
id = 'R3'
|
|
name = 'R3'
|
|
email = 'dev@corda.net'
|
|
}
|
|
}
|
|
|
|
// API docs
|
|
|
|
dokka {
|
|
moduleName = 'corda'
|
|
outputDirectory = 'docs/build/html/api/kotlin'
|
|
processConfigurations = ['compile']
|
|
sourceDirs = files('core/src/main/kotlin', 'client/jfx/src/main/kotlin', 'client/mock/src/main/kotlin', 'client/rpc/src/main/kotlin', 'node/src/main/kotlin', 'finance/src/main/kotlin', 'client/jackson/src/main/kotlin')
|
|
}
|
|
|
|
task dokkaJavadoc(type: org.jetbrains.dokka.gradle.DokkaTask) {
|
|
moduleName = 'corda'
|
|
outputFormat = "javadoc"
|
|
outputDirectory = 'docs/build/html/api/javadoc'
|
|
processConfigurations = ['compile']
|
|
sourceDirs = files('core/src/main/kotlin', 'client/jfx/src/main/kotlin', 'client/mock/src/main/kotlin', 'client/rpc/src/main/kotlin', 'node/src/main/kotlin', 'finance/src/main/kotlin', 'client/jackson/src/main/kotlin')
|
|
}
|
|
|
|
task apidocs(dependsOn: ['dokka', 'dokkaJavadoc'])
|
|
|
|
// Build a ZIP of all JARs required to compile the Cordapp template
|
|
// Note: corda.jar is used at runtime so no runtime ZIP is necessary.
|
|
// Resulting ZIP can be found in "build/distributions"
|
|
task buildCordappDependenciesZip(type: Zip) {
|
|
baseName 'corda-deps'
|
|
from configurations.runtime
|
|
from configurations.compile
|
|
from configurations.testCompile
|
|
from buildscript.configurations.classpath
|
|
from 'node/capsule/NOTICE' // CDDL notice
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
}
|