corda/build.gradle

466 lines
18 KiB
Groovy
Raw Normal View History

/*
* R3 Proprietary and Confidential
*
* Copyright (c) 2018 R3 Limited. All rights reserved.
*
* The intellectual and technical concepts contained herein are proprietary to R3 and its suppliers and are protected by trade secret law.
*
* Distribution of this file or any portion thereof via any medium without the express permission of R3 is strictly prohibited.
*/
2015-11-03 13:37:19 +01:00
buildscript {
// For sharing constants between builds
Properties constants = new Properties()
file("$projectDir/constants.properties").withInputStream { constants.load(it) }
2016-11-17 12:03:40 +01:00
// Our version: bump this on release.
ext.corda_release_version = "3.0.0-SNAPSHOT"
ext.corda_release_distribution = "com.r3.corda"
// Increment this on any release that changes public APIs anywhere in the Corda platform
ext.corda_platform_version = constants.getProperty("platformVersion")
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 = constants.getProperty("kotlinVersion")
// use our fork of quasar
ext.quasar_group = 'com.github.corda.quasar'
ext.quasar_version = '7629695563deae6cc95adcfbebcbc8322fd0241a'
// gradle-capsule-plugin:1.0.2 contains capsule:1.0.1
// TODO: Upgrade gradle-capsule-plugin to a version with capsule:1.0.3
ext.capsule_version = '1.0.1'
ext.asm_version = '5.0.4'
/*
* TODO Upgrade to version 2.4 for large message streaming support
*
* Due to a memory leak in the connection handling code in Artemis, we are
* temporarily downgrading to version 2.2.0.
*
* The memory leak essentially triggers an out-of-memory exception within
* less than 10 seconds and can take down a node if a non-TLS connection is
* attempted against the P2P port.
*
* The issue has been reported to upstream:
* https://issues.apache.org/jira/browse/ARTEMIS-1559
*/
ext.artemis_version = '2.5.0'
ext.jackson_version = '2.9.5'
ext.jetty_version = '9.4.7.v20170914'
ext.jersey_version = '2.25'
ext.assertj_version = '3.8.0'
ext.slf4j_version = '1.7.25'
ext.log4j_version = '2.9.1'
ext.bouncycastle_version = constants.getProperty("bouncycastleVersion")
ext.guava_version = constants.getProperty("guavaVersion")
ext.caffeine_version = constants.getProperty("caffeineVersion")
ext.metrics_version = constants.getProperty("metricsVersion")
ext.okhttp_version = '3.5.0'
ext.netty_version = '4.1.22.Final'
2017-04-10 13:45:40 +01:00
ext.typesafe_config_version = constants.getProperty("typesafeConfigVersion")
ext.fileupload_version = '1.3.3'
ext.junit_version = '4.12'
ext.mockito_version = '2.18.3'
ext.jopt_simple_version = '5.0.2'
ext.jansi_version = '1.14'
ext.hibernate_version = '5.2.6.Final'
2018-04-11 13:38:06 +01:00
ext.h2_version = '1.4.197' // Update docs if renamed or removed.
ext.postgresql_version = '42.1.4'
ext.rxjava_version = '1.2.4'
ext.dokka_version = '0.9.16-eap-2'
ext.eddsa_version = '0.3.0' // Performance tuned version for enterprise.
ext.dependency_checker_version = '3.1.0'
ext.commons_collections_version = '4.1'
ext.beanutils_version = '1.9.3'
2018-02-21 16:46:03 +00:00
ext.crash_version = 'cadb53544fbb3c0fb901445da614998a6a419488'
ext.jsr305_version = constants.getProperty("jsr305Version")
ext.spring_jdbc_version ='5.0.0.RELEASE'
ext.shiro_version = '1.4.0'
ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')
ext.liquibase_version = '3.5.3'
ext.shadow_version = '2.0.2'
ext.hikari_version = '2.5.1'
ext.artifactory_contextUrl = 'https://ci-artifactory.corda.r3cev.com/artifactory'
ext.snake_yaml_version = constants.getProperty('snakeYamlVersion')
ext.docker_compose_rule_version = '0.33.0'
ext.selenium_version = '3.8.1'
ext.ghostdriver_version = '2.1.0'
ext.eaagentloader_version = '1.0.3'
ext.curator_version = '4.0.0'
ext.jsch_version = '0.1.54'
ext.protonj_version = '0.27.1'
ext.commons_cli_version = '1.4'
ext.snappy_version = '0.4'
ext.fast_classpath_scanner_version = '2.12.3'
ext.jcabi_manifests_version = '1.1'
// Update 121 is required for ObjectInputFilter and at time of writing 131 was latest:
ext.java8_minUpdateVersion = '131'
2015-11-03 13:37:19 +01:00
repositories {
mavenLocal()
2015-11-03 13:37:19 +01:00
mavenCentral()
jcenter()
// This repository is needed for Dokka until 0.9.16 is released.
maven {
url 'https://dl.bintray.com/kotlin/kotlin-eap/'
}
maven {
url "$artifactory_contextUrl/corda-releases"
}
2015-11-03 13:37:19 +01:00
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
2016-11-25 16:34:32 +00:00
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 "net.corda.plugins:cordapp:$gradle_plugins_version"
classpath "net.corda.plugins:api-scanner:$gradle_plugins_version"
classpath 'com.github.ben-manes:gradle-versions-plugin:0.15.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"
classpath "net.i2p.crypto:eddsa:$eddsa_version" // Needed for ServiceIdentityGenerator in the build environment.
classpath "org.owasp:dependency-check-gradle:${dependency_checker_version}"
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:$artifactory_plugin_version"
2015-11-03 13:37:19 +01:00
}
}
plugins {
2016-08-08 11:54:41 +01:00
// 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.
// Version 1.0.2 of this plugin uses capsule:1.0.1
id "us.kirchmeier.capsule" version "1.0.2"
}
ext {
corda_revision = org.ajoberstar.grgit.Grgit.open(file('.')).head().id
}
apply plugin: 'project-report'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'net.corda.plugins.publish-utils'
2017-06-26 18:07:56 +01:00
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
// 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: 'kotlin'
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'org.owasp.dependencycheck'
apply plugin: 'kotlin-allopen'
allOpen {
annotations(
"javax.persistence.Entity",
"javax.persistence.Embeddable",
"javax.persistence.MappedSuperclass"
)
}
dependencyCheck {
suppressionFile = '.ci/dependency-checker/suppressedLibraries.xml'
cveValidForHours = 1
format = 'ALL'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Xlint:-options" << "-parameters"
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
languageVersion = "1.2"
apiVersion = "1.2"
jvmTarget = "1.8"
javaParameters = true // Useful for reflection.
freeCompilerArgs = ['-Xenable-jvm-default']
}
}
tasks.withType(Jar) { task ->
// Includes War and Ear
manifest {
attributes('Corda-Release-Version': corda_release_version)
attributes('Corda-Platform-Version': corda_platform_version)
attributes('Corda-Revision': corda_revision)
attributes('Corda-Vendor': 'Corda Enterprise Edition')
attributes('Automatic-Module-Name': "net.corda.${task.project.name.replaceAll('-', '.')}")
}
}
tasks.withType(Test) {
// Prevent the project from creating temporary files outside of the build directory.
systemProperties['java.io.tmpdir'] = buildDir
// Ensures that "net.corda.testing.amqp.enable" is passed correctly from Gradle command line
// down to JVM executing unit test. It looks like we are running unit tests in the forked mode
// and all the "-D" parameters passed to Gradle not making it to unit test level
// TODO: Remove once we fully switched to AMQP
final AMQP_ENABLE_PROP_NAME = "net.corda.testing.amqp.enable"
systemProperty(AMQP_ENABLE_PROP_NAME, System.getProperty(AMQP_ENABLE_PROP_NAME))
// relational database provider to be used by node
final DATABASE_PROVIDER = "custom.databaseProvider"
final DATASOURCE_URL = "corda.dataSourceProperties.dataSource.url"
final DATASOURCE_CLASSNAME = "corda.dataSourceProperties.dataSourceClassName"
final DATASOURCE_USER = "corda.dataSourceProperties.dataSource.user"
final DATASOURCE_PASSWORD = "corda.dataSourceProperties.dataSource.password"
// integration testing database configuration (to be used in conjunction with a DATABASE_PROVIDER)
final TEST_DB_ADMIN_USER = "test.db.admin.user"
final TEST_DB_ADMIN_PASSWORD = "test.db.admin.password"
final TEST_DB_SCRIPT_DIR = "test.db.script.dir"
[DATABASE_PROVIDER,DATASOURCE_URL, DATASOURCE_CLASSNAME, DATASOURCE_USER, DATASOURCE_PASSWORD,
TEST_DB_ADMIN_USER, TEST_DB_ADMIN_PASSWORD, TEST_DB_SCRIPT_DIR].forEach {
def property = System.getProperty(it)
if (property != null) {
systemProperty(it, property)
}
}
if (System.getProperty("test.maxParallelForks") != null) {
maxParallelForks = Integer.valueOf(System.getProperty("test.maxParallelForks"))
}
if (project.path.startsWith(':experimental') && System.getProperty("experimental.test.enable") == null) {
enabled = false
}
}
group 'com.r3.corda'
version "$corda_release_version"
repositories {
mavenLocal()
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
maven { url "$artifactory_contextUrl/corda-releases" } // cordform-common
if (project.hasProperty("mavenOracleUsername") && project.hasProperty("mavenOraclePassword")) {
maven {
// For integrationTest task when running against Oracle database the JDBC driver is in Oracle Maven repository with login access only,
// setup an account on https://login.oracle.com/oaam_server/login.do
// provide credentials to Gradle task by -PmavenOracleUsername=... -PmavenOraclePassword=...
url "https://www.oracle.com/content/secure/maven/content"
credentials {
username = project.property("mavenOracleUsername")
password = project.property("mavenOraclePassword")
}
}
}
}
configurations {
all {
resolutionStrategy {
// Force dependencies to use the same version of Kotlin as Corda.
force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
force "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
// Demand that everything uses our given version of Netty.
eachDependency { details ->
if (details.requested.group == 'io.netty' && details.requested.name.startsWith('netty-')) {
details.useVersion netty_version
}
}
}
}
compile {
// We want to use SLF4J's version of these bindings: jcl-over-slf4j
// Remove any transitive dependency on Apache's version.
exclude group: 'commons-logging', module: 'commons-logging'
// Netty-All is an uber-jar which contains every Netty module.
// Exclude it to force us to use the individual Netty modules instead.
exclude group: 'io.netty', module: 'netty-all'
}
runtime {
// We never want isolated.jar on classPath, since we want to test jar being dynamically loaded as an attachment
exclude module: 'isolated'
}
}
}
// 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_$java8_minUpdateVersion")
repositories {
2016-11-04 17:15:06 +00:00
mavenCentral()
jcenter()
}
// Required for building out the fat JAR.
2016-11-04 17:15:06 +00:00
dependencies {
compile project(':node')
compile "com.google.guava:guava:$guava_version"
// Set to corda compile to ensure it exists now deploy nodes no longer relies on build
compile project(path: ":node:capsule", configuration: 'runtimeArtifacts')
compile project(path: ":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(':confidential-identities')
runtime project(':finance')
runtime project(':webserver')
testCompile project(':test-utils')
2016-11-04 17:15:06 +00:00
}
jar {
// Prevent the root project from building an unwanted dummy CorDapp.
enabled = false
}
2016-07-21 11:11:37 +01:00
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()
})
}
2016-07-21 17:40:57 +01:00
}
tasks.withType(Test) {
reports.html.destination = file("${reporting.baseDir}/${name}")
}
task testReport(type: TestReport) {
destinationDir = file("$buildDir/reports/allTests")
// Include the results from the `test` task in all subprojects
reportOn subprojects*.test
}
bintrayConfig {
2017-06-13 17:11:38 +02:00
// 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')
Merge remote-tracking branch 'open/master' into os-merge-2907250 # Conflicts: # build.gradle # client/rpc/src/main/kotlin/net/corda/client/rpc/CordaRPCClient.kt # node-api/build.gradle # node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/custom/StringBufferSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/AllButBlacklisted.kt # serialization/src/main/kotlin/net/corda/serialization/internal/AttachmentsClassLoader.kt # serialization/src/main/kotlin/net/corda/serialization/internal/DefaultWhitelist.kt # serialization/src/main/kotlin/net/corda/serialization/internal/GeneratedAttachment.kt # serialization/src/main/kotlin/net/corda/serialization/internal/OrdinalIO.kt # serialization/src/main/kotlin/net/corda/serialization/internal/SerializationFormat.kt # serialization/src/main/kotlin/net/corda/serialization/internal/SerializationScheme.kt # serialization/src/main/kotlin/net/corda/serialization/internal/SerializeAsTokenContextImpl.kt # serialization/src/main/kotlin/net/corda/serialization/internal/SharedContexts.kt # serialization/src/main/kotlin/net/corda/serialization/internal/UseCaseAwareness.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPDescriptorRegistry.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPPrimitiveSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializerFactories.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/ArraySerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/CollectionSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/CorDappCustomSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/CustomSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/DeserializationInput.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/DeserializedGenericArrayType.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/DeserializedParameterizedType.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/EnumEvolutionSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/EnumSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/Envelope.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/EvolutionSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/FingerPrinter.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/MapSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/ObjectSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/PropertySerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/PropertySerializers.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/Schema.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationHelper.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationOutput.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactory.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SingletonSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SupportedTransforms.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/TransformTypes.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/TransformsSchema.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/BigDecimalSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/BigIntegerSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/BitSetSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/CertPathSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ClassSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ContractAttachmentSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/CurrencySerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/DurationSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/EnumSetSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/InputStreamSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/InstantSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/LocalDateSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/LocalDateTimeSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/LocalTimeSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/MonthDaySerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OffsetDateTimeSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OffsetTimeSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OpaqueBytesSubSequenceSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/PeriodSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/PrivateKeySerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/PublicKeySerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/SimpleStringSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ThrowableSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/X509CRLSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/X509CertificateSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/YearMonthSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/YearSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ZoneIdSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ZonedDateTimeSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenter.kt # serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/Exceptions.kt # serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/MetaCarpenter.kt # serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/Schema.kt # serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/SchemaFields.kt # serialization/src/main/kotlin/net/corda/serialization/internal/kryo/CordaClassResolver.kt # serialization/src/main/kotlin/net/corda/serialization/internal/kryo/CordaClosureSerializer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/kryo/DefaultKryoCustomizer.kt # serialization/src/main/kotlin/net/corda/serialization/internal/kryo/Kryo.kt # serialization/src/main/kotlin/net/corda/serialization/internal/kryo/KryoSerializationScheme.kt # serialization/src/main/kotlin/net/corda/serialization/internal/kryo/SerializeAsTokenSerializer.kt # serialization/src/test/java/net/corda/serialization/internal/ForbiddenLambdaSerializationTests.java # serialization/src/test/java/net/corda/serialization/internal/LambdaCheckpointSerializationTest.java # serialization/src/test/java/net/corda/serialization/internal/amqp/ErrorMessageTests.java # serialization/src/test/java/net/corda/serialization/internal/amqp/JavaGenericsTest.java # serialization/src/test/java/net/corda/serialization/internal/amqp/JavaPrivatePropertyTests.java # serialization/src/test/java/net/corda/serialization/internal/amqp/JavaSerialiseEnumTests.java # serialization/src/test/java/net/corda/serialization/internal/amqp/JavaSerializationOutputTests.java # serialization/src/test/java/net/corda/serialization/internal/amqp/ListsSerializationJavaTest.java # serialization/src/test/java/net/corda/serialization/internal/amqp/SetterConstructorTests.java # serialization/src/test/kotlin/net/corda/serialization/internal/AttachmentsClassLoaderTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/ContractAttachmentSerializerTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/CordaClassResolverTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/ListsSerializationTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/MapsSerializationTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/PrivateKeySerializationTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/SerializationTokenTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/SetsSerializationTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/CorDappSerializerTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeAndReturnEnvelopeTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeMapTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeNeedingCarpentryOfEnumsTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeNeedingCarpentrySimpleTypesTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeNeedingCarpentryTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeSimpleTypesTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializedParameterizedTypeTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EnumEvolvabilityTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EnumEvolveTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EnumTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/ErrorMessagesTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EvolutionSerializerGetterTesting.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EvolvabilityTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/FingerPrinterTesting.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/GenericsTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/OverridePKSerializerTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/PrivatePropertyTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationPropertyOrdering.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializeAndReturnSchemaTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/amqp/StaticInitialisationOfSerializedObjectTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenterTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenterTestUtils.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenterWhitelistTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/CompositeMemberCompositeSchemaToClassCarpenterTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/EnumClassTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/InheritanceSchemaToClassCarpenterTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/MultiMemberCompositeSchemaToClassCarpenterTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/SingleMemberCompositeSchemaToClassCarpenterTests.kt # serialization/src/test/kotlin/net/corda/serialization/internal/kryo/KryoStreamsTest.kt # serialization/src/test/kotlin/net/corda/serialization/internal/kryo/KryoTests.kt # settings.gradle
2018-05-21 10:31:57 +01:00
publications = ['corda-jfx', 'corda-mock', 'corda-rpc', 'corda-core', 'corda', 'corda-finance', 'corda-node', 'corda-node-api', 'corda-test-common', 'corda-test-utils', 'corda-jackson', 'corda-verifier', 'corda-webserver-impl', 'corda-webserver', 'corda-node-driver', 'corda-confidential-identities', 'doorman', 'doorman-hsm', 'corda-shell', 'corda-serialization', 'corda-bridgeserver', 'corda-ptflows', 'jmeter-corda', 'migration-tool']
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'
}
}
// 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
2017-02-24 21:57:34 +00:00
from 'node/capsule/NOTICE' // CDDL notice
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
2017-06-26 18:07:56 +01:00
artifactory {
publish {
contextUrl = artifactory_contextUrl
2017-06-26 18:07:56 +01:00
repository {
2017-10-16 18:03:07 +01:00
repoKey = 'enterprise-dev'
2017-06-26 18:07:56 +01:00
username = 'teamcity'
password = System.getenv('CORDA_ARTIFACTORY_PASSWORD')
}
2017-06-26 18:07:56 +01:00
defaults {
// Root project applies the plugin (for this block) but does not need to be published
if(project != rootProject) {
publications(project.extensions.publish.name())
}
2017-06-26 18:07:56 +01:00
}
}
}
task generateApi(type: net.corda.plugins.GenerateApi){
baseName = "api-corda"
}
// This exists to reduce CI build time when the envvar is set (can save up to 40 minutes)
if(file('corda-docs-only-build').exists() || (System.getenv('CORDA_DOCS_ONLY_BUILD') != null)) {
if(file('corda-docs-only-build').exists()) {
logger.info("Tests are disabled due to presence of file 'corda-docs-only-build' in the project root")
} else {
logger.info("Tests are disabled due to the presence of envvar CORDA_DOCS_ONLY_BUILD")
}
allprojects {
test {
exclude '*/**'
}
it.afterEvaluate {
if(it.tasks.findByName("integrationTest") != null) {
integrationTest {
exclude '*/**'
}
}
}
it.afterEvaluate {
if(it.tasks.findByName("smokeTest") != null) {
smokeTest {
exclude '*/**'
}
}
}
}
}
wrapper {
gradleVersion = "4.4.1"
distributionType = Wrapper.DistributionType.ALL
}