corda/settings.gradle

121 lines
4.2 KiB
Groovy
Raw Normal View History

pluginManagement {
ext.artifactory_contextUrl = 'https://software.r3.com/artifactory'
ext.publicArtifactURL = 'https://download.corda.net/maven'
repositories {
// Use system environment to activate caching with Artifactory,
// because it is actually easier to pass that during parallel build.
// NOTE: it has to be a name of a virtual repository with all
// required remote or local repositories!
if (System.getenv("CORDA_USE_CACHE")) {
maven {
name "R3 Maven remote repositories"
url "${artifactory_contextUrl}/${System.getenv("CORDA_USE_CACHE")}"
authentication {
basic(BasicAuthentication)
}
credentials {
username = System.getenv('CORDA_ARTIFACTORY_USERNAME')
password = System.getenv('CORDA_ARTIFACTORY_PASSWORD')
}
}
} else {
mavenLocal()
gradlePluginPortal()
maven { url "${publicArtifactURL}/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 'opentelemetry'
include 'opentelemetry:opentelemetry-driver'
include 'confidential-identities'
include 'finance:contracts'
include 'finance:workflows'
include 'core'
include 'core-tests'
include 'docs'
include 'node-api'
include 'node-api-tests'
2016-06-22 13:02:50 +00:00
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:'
2016-06-22 13:02:50 +00:00
include 'experimental'
include 'experimental:avalanche'
include 'experimental:blobwriter'
2017-05-11 10:13:18 +00:00
include 'experimental:quasar-hook'
include 'experimental:corda-utils'
include 'experimental:nodeinfo'
include 'experimental:netparams'
include 'test-common'
include 'test-cli'
include 'test-utils'
include 'test-db'
include 'smoke-test-utils'
include 'node-driver'
include 'core-test-utils'
// Avoid making 'testing' a project, and allow build.gradle files to refer to these by their simple names:
['test-common', 'core-test-utils', 'test-utils', 'test-cli', 'test-db', 'smoke-test-utils', 'node-driver'].each {
project(":$it").projectDir = new File("$settingsDir/testing/$it")
}
include 'tools:explorer'
Merge DemoBench into Corda. (#380) * Add basic spec for the demobench tool. * Initial commit: Creating new tabs whenever the "Add Node" button is pressed. These tabs currently contain the bash shell only. * Refactor shutdown code, although AWT is still misbehaving. * Remove duplicate libpty native objects. * Add initial form for configuring new nodes. * Update to Corda 0.8-SNAPSHOT * Patch JediTerm to allow the application to shutdown cleanly. * Write configuration parameters into node.conf, and then run corda.jar in its own directory. * The first node now becomes the session's Network Map service used by all other nodes. Force nodes to be created one-by-one. * Trim node name and nearest city values. * Fix logging location of corda.jar * legalName field can be val. * Allow configuration of extra network services. * Launch DB viewer for node. * Small tidy-up. * Allow services to be loaded as a resources as well as a file. * Include native artifacts in distribution. * Add cash and issuer services to DemoBench. * Configure Node and DemoBench to use same version of H2 database. * Implement launching "Node Explorer" for each node. * Create a capsule for Node Explorer, and allow login via command line parameters to bypass login screen. * Simplify Kotlin objects. * Include issuer for CHF (Swiss Francs) * Fix SLF4J logging. * Display simple statistics about the node on each tab. * Add new RPC operation getCashBalances() to Node. * Ensure demobench is built after explorer:capsule. * Grant permissions to the Node's user, and install BanfOfCorda plugin for cash issuers. * Initial inclusion of Corda and BankOfCorda JARs in distribution. * Fix DemoBench distribution target. * Add SLF4J binding for Log4J 2.x * First batch of code review changes. * More changes from review. * Remove ".exe" from Java executable path, because Windows doesn't need it. * Remove superfluous lamba parameter names. * Better usage of Paths vs File API. * Simplify the configuration object. * Ensure a DemoBench installation is relocatable. * Ensure that Node Explorer can write into its working directory. * Disable Node Explorer and Database Viewer buttons until the node has launched and is responding to RPC. * Only allow the first node to run notary services. And validate port numbers more strongly. * Force all chosen port numbers to be different. * Initial javapackager task: currently builds RPMs. * Ensure JavaPackager task finds custom resources on the classpath. * Move demobench.log into the user's demobench directory. * Upgrade to Logback 1.1.10 * Make the javapackage task "more gradle" and "less ant". * Display "0" balance for a node which has no cash balances at all. * CORPRIV-665: Ensure tab closes if the node exits. * CORPRIV-665: Protect against NPE * CORPRIV-665: Protect harder against NPE * CORPRIV-665: Protect NodeTerminalView from being destroyed twice. * Initial custom resource script for Windows bundle. * Take java executable from JRE. * Allow Node Explorer to be relaunched. * CORPRIV-658: Add gradle parameter "packageType" for javapackage task. * Replace R3 logo with Corda logo. * CORPRIV-658: Add icon file for Windows installer. * CORPRIV-658: Add BAT file to create unsigned DemoBench.exe. * CORPRIV-659: Add icon file for DMG package. * Improve packaging information. * CORPRIV-660: Allow user to launch Web server for each node. * Tidy up gradle usage. * Document provenance of jediterm-terminal-2.5.jar. * Use "safe" casting operator. * CORPRIV-659: Add bin/java to minimal JRE. * CORPRIV-659: Basic shell script to package DemoBench as DMG. * Add utility function for creating SLF4J loggers, and close unused I/O streams from forked processes. * Switch from Runtime.exec() to ProcessBuilder. * CORPRIV-660: Display Web server's port number on launch button. * CORPRIV-661: Allow profiles to be loaded into DemoBench. * Upgrade to TornadoFX 1.6.2. * CORPRIV-661: Implement saving profiles. * CORPRIV-661: Refactor code for guaranteeing a .zip extension. * CORRIV-658: Add icon for Windows installer. * CORPRIV-659: Update installer script and icons for DMG. * CORPRIV-659: Tweak post-image script for DMG. * CORPRIV-658: I've wasted enough time on this - Windows rejects this BMP as invalid, and I have no idea why!? * CORPRIV-658: Add external manifest for DemoBench.exe that declares it incapable of native HiDPI support. * CORPRIV-661: Ensure that we can rewrite saved profiles correctly. * Fix terminal resizing. * CORPRIV-659: Fix DMG installer. * CORPRIV-659: Better validation for JAVA_HOME. * Downgrade JDK requirement to 8u102, for consistency with capsules. * Comment how JediTerm is not available via Maven. * CORPRIV-658: Rename packaging script. * CORPRIV-659: Renaming packaging script. * Comment file copying vs file filtering during packaging. * Fixes from code review. * CORPRIV-661: Ensure that nodes loaded from a profile have the correct network map service. * Break textfield definitions out into separate functions. * Fixes from code review. * Code review tweaks. * More code review tweaks. * Another simple code review tweak. * Replace companion object with a BiPredicate lambda. * CORPRIV-664: Implement saving/loading of Cordapps with profiles. * CORPRIV-664: Refactor saving/loading plugins. * CORPRIV-664: Add initial unit tests for model. * CORPRIV-664: Add simple unit tests for NodeController. * CORPRIV-664: Unit test enhancements, e.g. configure JUL properly. * CORPRIV-664: Use Suite instead of abstract test class. * CORPRIV-664: Allow Cordapps to be loaded when each Node is configured. * CORPRIV-664: Document which checked Java exceptions are thrown. * Write JavaPackager output into build/javapackage directory. * CORPRIV-664: Document more checked Java exceptions. * Refactor Web and Explorer classes into their own packages. * Declare WebServer and Explorer constructors as "internal". * Update packaging scripts: tell user where the installer is! * CORPRIV-659: Set "system menu bar" property for MacOSX. * CORPRIV-661: Use "*.profile" for profile files. * Remove unnecessary <children/> elements, as they are defaults. * Fix build breakage when on Windows. * Tweaks for EXE packaging script. * Change function to extension function. * Merged in corpriv-702 (pull request #25) CORPRIV-702: Sign the DMG with a 'Developer ID Application' certificate. * CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate. * CORPRIV-702: Use "Developer ID Application" certificate instead. And now JavaPackager signs the application, which means that we only need to resign our embedded JVM. * CORPRIV-702: Update comment better to explain why JRE must be resigned. Approved-by: Mike Hearn * Exclude old version of Javassist in favour of Hibernate's version from Node. (#320) * Exclude old version of Javassist in favour of Hibernate's version. * Comment why we are excluding javassist:javassist, and add TODO for when junit-quickcheck 0.8 is released. * CORDA-265: Implement "ALL" permission for RPC users. (#306) * CORDA-265: Implement "ALL" permission for RPC users. Users with this permission in node.conf can use any flow. * CORDA-265: Ensure that we always close the RPC proxy object after each test. * CORDA-265: Refactor construction of dummy RPC client into an abstract base class. * CORDA-265: Document RPC "ALL" permission. * CORDA-266: Update DemoBench to be compatible with 0.10-SNAPSHOT. * CORDA-268: Reimplement to work on both JDK8 and JDK9 (for now). * CORDA-268: Copy java from $JAVA_HOME/bin as this also works on JDK > 8. * Code review fixes. * Use SLF4J's version of the commons-logging bindings. Only include SLF4J's Log4J back-end for actual applications, e.g. Node. (#350) * Update with SLF4J change. * CORDA-266: Update to latest node.conf format. * Upgrade to H2 1.4.194. (#389) - Timezone related fixes. - A Turkish case canonicalisation bug. - Fixes for some scary threading related bugs.
2017-03-21 14:24:13 +00:00
include 'tools:explorer:capsule'
include 'tools:demobench'
2016-10-17 16:50:33 +00:00
include 'tools:loadtest'
include 'tools:graphs'
include 'tools:bootstrapper'
include 'tools:blobinspector'
include 'tools:network-builder'
include 'tools:cliutils'
include 'tools:worldmap'
include 'tools:checkpoint-agent'
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'
include 'testing:cordapps:missingmigration'
include 'testing:cordapps:sleeping'
include 'testing:cordapps:cashobservers'
// 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
CORDA-1509 Configure and enable Gradle Build Cache (#3908) * Fix to enable gradle build caching of test runs. * Configure gradle build caching to be enabled. * Generate dependency report and graph: 1) ./gradlew htmlDependencyReport 2) ./gradlew generateDependencyGraphCorda * Strip out all Jacoco references to prevent Gradle Build Cache error: "Caching disabled for task ':<module>:test': 'JaCoCo agent configured with `append = true`' satisfied" * Revert jacoco back into jarFilter gradle build file. Disable building deterministic modules (including jarFilter). * Added Gradle build scan plugin. * Set file encoding to prevent incorrect Gradle build cache keys across different machines. https://guides.gradle.org/using-build-cache/#system_file_encoding * Apply gradle build cache settings to buildSrc. * Added targetted gradle build tasks to leverage cache. * Updated URL's of several different test Gradle Cache instances. * Updated CI batch build scripts. * Updated script perms to be executable. * Added CI smoke tests batch script. * Use TestDev Labs gradle cache. * Echo URL of Gradle Build Repository. Echo exit status of each Gradle build command. * Use environment variables to define Gradle Build Cache usage and URL. * Customisation through parameters. * Remove dependency graph generation plugin. Align build cache settings across project and buildSrc gradle files. * Remove buildSrc gradle build cache config. * Revert definition of gradle build cache variables back to settings.gradle. * Fix incorrect path. * Aligned gradle build cache configuration across buildSrc and project. * Minor updates to test scope. * Minor updates to test scope. * Update scripts to use GRADLE_HOME * Exit on unset GRADLE_HOME * Remove duplication following rebase from master. * Remove fine-grained build task scripts. * Added back Jacoco reporting. * Revert jdk8u-deterministic module. * Incorporating changes from PR review feedback. * Workaround Jacoco issue associated with Gradle Build Cache test task. * Update init script. * Remove redundant build-scan declarations. * Updates from PR review feedback. * Remove GRADLE_HOME as no longer needed - everything is driven via gradle wrapper. * Use CORDA prefix in system environment variable.
2018-09-26 12:38:23 +00:00
apply from: 'buildCacheSettings.gradle'
include 'detekt-plugins'
[EG-440] Add some error codes and the error resource generation tool (#6192) * [EG-438] First commit of error code interface * [EG-438] Implement error reporter and a few error codes * [EG-438] Add unit tests and default properties files * [EG-438] Add the error table builder * [EG-438] Update initial properties files * [EG-438] Add some Irish tests and the build.gradle * [EG-438] Fall back for aliases and use different resource strategy * [EG-438] Define the URL using a project-specific context * [EG-438] Tidy up initialization code * [EG-438] Add testing to generator and tidy up * [EG-438] Remove direct dependency on core and add own logging config * [EG-438] Fix compiler warnings and tidy up logging * [EG-438] Fix detekt warnings * [EG-438] Improve error messages * [EG-438] Address first set of review comments * [EG-438] Use enums and a builder for the reporter * [EG-438] Address first set of review comments * [EG-438] Use enums and a builder for the reporter * [EG-438] Add kdocs for error resource static methods * [EG-440] Add error code for duplicate CorDapp loading * [EG-438] Handle enums defined with underscores * [EG-440] Add errors for some CorDapp loading scenarios * [EG-440] Finish adding errors for CorDapp loading * [EG-440] Fix up errors in properties files * [EG-440] Start change to error code definition * [EG-440] Update error code definition and add resource generation tool * [EG-440] Tidy up error resource generation tool frontend * [EG-440] Small refactorings and add kdocs * [EG-440] Generate all missing resources * [EG-440] Some refactoring and start writing a test * [EG-440] Update unit test for resource generator * [EG-440] Renaming of various parts of the error tool * [EG-440] Add testing for errors and fix an issue in resource generation * [EG-440] Add a kdoc for context provider API * [EG-440] Remove old code from repository * [EG-440] Address some review comments
2020-04-29 10:21:50 +00:00
include 'tools:error-tool'