corda/node-api/build.gradle

115 lines
4.4 KiB
Groovy
Raw Normal View History

plugins {
id 'com.github.johnrengelman.shadow'
}
apply plugin: 'kotlin'
apply plugin: 'net.corda.plugins.quasar-utils'
apply plugin: 'net.corda.plugins.publish-utils'
2017-06-26 18:07:56 +01:00
apply plugin: 'com.jfrog.artifactory'
description 'Corda node API'
dependencies {
compile project(":core")
compile project(":serialization") // TODO Remove this once the NetworkBootstrapper class is moved into the tools:bootstrapper module
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
// TODO: remove the forced update of commons-collections and beanutils when artemis updates them
compile "org.apache.commons:commons-collections4:${commons_collections_version}"
compile "commons-beanutils:commons-beanutils:${beanutils_version}"
compile "org.apache.activemq:artemis-core-client:${artemis_version}"
compile "org.apache.activemq:artemis-commons:${artemis_version}"
compile "io.netty:netty-handler-proxy:$netty_version"
// For adding serialisation of file upload streams to RPC
// TODO: Remove this dependency and the code that requires it
compile "commons-fileupload:commons-fileupload:$fileupload_version"
// TypeSafe Config: for simple and human friendly config files.
compile "com.typesafe:config:$typesafe_config_version"
compile "org.apache.qpid:proton-j:$protonj_version"
// SQL connection pooling library
compile "com.zaxxer:HikariCP:$hikari_version"
// For db migration
compile "org.liquibase:liquibase-core:$liquibase_version"
2017-12-29 13:39:47 +00:00
runtime 'com.mattbertolini:liquibase-slf4j:2.0.0'
// Apache Curator: a client library for Zookeeper
shadow "org.apache.curator:curator-client:${curator_version}"
shadow "org.apache.curator:curator-recipes:${curator_version}"
testCompile "org.apache.curator:curator-test:${curator_version}"
// FastClasspathScanner: classpath scanning - needed for the NetworkBootstrapper.
compile "io.github.lukehutch:fast-classpath-scanner:$fast_classpath_scanner_version"
compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
// For caches rather than guava
compile "com.github.corda.caffeine:caffeine:cfca283c984d93d520bfcde234920ea0840402ee"
// Unit testing helpers.
testCompile "junit:junit:$junit_version"
testCompile "org.assertj:assertj-core:$assertj_version"
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
testCompile project(':node-driver')
ENT-1565 Enable the use of BoringSSL (#1358) * BoringSsl dependency * Merge over boring_ssl changes * Merge over boring_ssl changes * Upgrade netty-tcnative (and netty to compatible version) * Add openSSL flag to SSLConfiguration and implementations. * Make SSL implementation switchable for Artemis * Parameterize AMQP bridge tests on use of openSSL * Plumb through open SSL flag to AMQP client/server. * Add open ssl flag to reference.conf * Slight clean-up * Add LoggingTrustManagerWrapper for OpenSsl contexts * Remove unneeded lazy and check for double wrapping * Fix TrustMangerWrapper and test, clean-up * Add key factory wrapper to get the current certificate chain out. * Use cert chain returning key mananager factory to get local cert * Force consistent netty-tcnative version across all dependencies * Make proton wrapper tests check all combinations of client/server native/java SSL * Add test netty server/client to run SSL tests with * Simplify usage of test netty components and clean up * Improve exception handling in NettyTestHandler * Add openSSL test for X509UtilitiesTests * Expose engine for test usage * Add the X509 peer chain check from the socket based test * Port of TLSAuthenticationTests to use Netty so we can use different SSL providers, add boringSSL tests * Adapt tests to new config structure * Readd `useOpenSsl` configuration * Readd `useOpenSsl` configuration * Fix up ArtemisTransport for OpenSSL plus tests * Adapt auth tests * Formatting * Remove obsolte file * Fix config misnomer * Add SNI host logic to OpenSSL execution branch * Remove TLS_DHE_RSA tests * Make exception handling in the netty test infra deterministic
2018-10-01 13:59:52 +01:00
testCompile project(':test-utils')
compile ("org.apache.activemq:artemis-amqp-protocol:${artemis_version}") {
// Gains our proton-j version from core module.
exclude group: 'org.apache.qpid', module: 'proton-j'
}
}
configurations {
2018-05-10 13:38:16 +01:00
testArtifacts.extendsFrom testRuntime
testCompile.extendsFrom shadow
}
jar {
2018-05-10 13:38:16 +01:00
enabled = false
baseName 'corda-node-api'
}
shadowJar {
baseName jar.baseName
configurations = [project.configurations.shadow]
classifier ""
// The 'LICENSE' file gets pulled in from multiple dependencies when generating the shadow JAR,
// and there's also a folder called 'license' being placed in the JAR. On case-insensitive file
// systems, the folder and file end up clashing, causing an error when trying to build the JAR.
relocate 'META-INF/LICENSE', 'META-INF/LICENCE-2'
dependencies {
// Apache Curator 4.0.1 already contains a shaded copy of Guava 20.0
include(dependency("org.apache.curator:curator-client:${curator_version}"))
include(dependency("org.apache.curator:curator-recipes:${curator_version}"))
include(dependency("org.apache.curator:curator-framework:${curator_version}"))
include(dependency('org.apache.zookeeper:zookeeper:3.5.3-beta'))
include(dependency('commons-cli:commons-cli:1.2'))
include(dependency('io.netty:netty:3.10.5.Final'))
}
relocate 'org.apache.curator.', 'net.corda.shaded.org.apache.curator.'
relocate 'org.apache.zookeeper.', 'net.corda.shaded.org.apache.zookeeper.'
relocate 'org.apache.jute.', 'net.corda.shaded.org.apache.jute.'
relocate 'org.apache.commons.', 'net.corda.shaded.org.apache.commons.'
relocate 'org.jboss.netty.', 'net.corda.shaded.org.jboss.netty.'
}
task testJar(type: Jar) {
classifier "tests"
from sourceSets.test.output
}
artifacts {
testArtifacts testJar
2018-05-11 14:19:05 +01:00
compile shadowJar
}
publish {
name shadowJar.baseName
}