corda/settings.gradle
Christian Sailer 1f71b071aa CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605)
* Unwrap rx.OnErrorNotImplementedException so the hospital can handle the cause appropriately

* Add db failure cordapp

* Renamed folders to avoid ambiguity in gradle

* Add integration test for exception hospitalisation when thrown from an RX observable.

* Make the test slightly cleaner

* Fix the schema to actually match the requirements for my custom state. Thanks a bunch, H2.

* Switch test to use SqlException base class.

* Schedule error event if we detect that a commit or db flush has thrown (forcing the flow to error even if customer code then goes ahead to swallow the exception)

* Revert change to schedule extra error

* Add more tests for edge case with DB exceptions, changed CorDapp to suppor this an hook in the flow hospital

* Warning about unsubscribe
Check state transitioned from clean to error for hospital admission.

* Match the test to our actual expectations

* Revert "Revert change to schedule extra error"

This reverts commit 43d47937

* Prevent suppression of errors arising in `transaction()` and `jdbcConnection()`

* Test for SqlException caught trying to escape from recordTransaction and suppressed outside being intercepted.

* More tests for various error/catch combinations

* Clean up and comments

* Code reformat

* Fix test compilation
2019-11-01 11:48:07 +00:00

105 lines
3.4 KiB
Groovy

pluginManagement {
ext.artifactory_contextUrl = 'https://software.r3.com/artifactory'
repositories {
mavenLocal()
gradlePluginPortal()
maven { url "$artifactory_contextUrl/corda-dependencies" }
}
}
// The project is named 'corda-project' and not 'corda' because if this is named the same as the
// output JAR from the capsule then the buildCordaJAR task goes into an infinite loop.
rootProject.name = 'corda-project'
include 'confidential-identities'
include 'finance:contracts'
include 'finance:workflows'
include 'isolated'
include 'core'
include 'core-tests'
include 'docs'
include 'node-api'
include 'node'
include 'node:capsule'
include 'client:jackson'
include 'client:jfx'
include 'client:mock'
include 'client:rpc'
include 'docker'
include 'testing:testserver'
include 'testing:testserver:testcapsule:'
include 'experimental'
include 'experimental:avalanche'
include 'experimental:blobwriter'
include 'experimental:quasar-hook'
include 'experimental:corda-utils'
include 'experimental:nodeinfo'
include 'experimental:netparams'
include 'jdk8u-deterministic'
include 'test-common'
include 'test-cli'
include 'test-utils'
include 'test-db'
include 'smoke-test-utils'
include 'node-driver'
// Avoid making 'testing' a project, and allow build.gradle files to refer to these by their simple names:
['test-common', 'test-utils', 'test-cli', 'test-db', 'smoke-test-utils', 'node-driver'].each {
project(":$it").projectDir = new File("$settingsDir/testing/$it")
}
include 'tools:explorer'
include 'tools:explorer:capsule'
include 'tools:demobench'
include 'tools:loadtest'
include 'tools:graphs'
include 'tools:bootstrapper'
include 'tools:blobinspector'
include 'tools:shell'
include 'tools:shell-cli'
include 'tools:network-builder'
include 'tools:cliutils'
include 'tools:worldmap'
include 'tools:checkpoint-agent'
include 'example-code'
project(':example-code').projectDir = file("$settingsDir/docs/source/example-code")
include 'samples:attachment-demo:contracts'
include 'samples:attachment-demo:workflows'
include 'samples:trader-demo:workflows-trader'
include 'samples:irs-demo'
include 'samples:irs-demo:cordapp:contracts-irs'
include 'samples:irs-demo:cordapp:workflows-irs'
include 'samples:irs-demo:web'
include 'samples:simm-valuation-demo'
include 'samples:simm-valuation-demo:flows'
include 'samples:simm-valuation-demo:contracts-states'
include 'samples:notary-demo:contracts'
include 'samples:notary-demo:workflows'
include 'samples:bank-of-corda-demo'
include 'samples:cordapp-configuration:workflows'
include 'samples:network-verifier:contracts'
include 'samples:network-verifier:workflows'
include 'serialization'
include 'serialization-tests'
include 'testing:cordapps:dbfailure:dbfcontracts'
include 'testing:cordapps:dbfailure:dbfworkflows'
// Common libraries - start
include 'common-validation'
project(":common-validation").projectDir = new File("$settingsDir/common/validation")
include 'common-configuration-parsing'
project(":common-configuration-parsing").projectDir = new File("$settingsDir/common/configuration-parsing")
include 'common-logging'
project(":common-logging").projectDir = new File("$settingsDir/common/logging")
// Common libraries - end
apply from: 'buildCacheSettings.gradle'
include 'core-deterministic'
include 'core-deterministic:testing'
include 'core-deterministic:testing:data'
include 'core-deterministic:testing:verifier'
include 'serialization-deterministic'
include 'tools:checkpoint-agent'