From 2868984364e2d588e2fef818bf39575004fbc36d Mon Sep 17 00:00:00 2001 From: Stefano Franz Date: Fri, 1 Feb 2019 11:06:10 +0000 Subject: [PATCH] CORDA-2537 - remove bundled finance app (#4696) update docs to reflect the removal of the bundled finance app --- docs/source/app-upgrade-notes.rst | 6 +-- docs/source/changelog.rst | 7 ++-- docs/source/cordapp-build-systems.rst | 1 - docs/source/generating-a-node.rst | 25 ++++++++---- docs/source/hello-world-running.rst | 12 ++++-- docs/source/testnet-explorer-corda.rst | 3 +- finance/build.gradle | 56 -------------------------- settings.gradle | 1 - 8 files changed, 33 insertions(+), 78 deletions(-) delete mode 100644 finance/build.gradle diff --git a/docs/source/app-upgrade-notes.rst b/docs/source/app-upgrade-notes.rst index 5203cb954d..3a426d9b93 100644 --- a/docs/source/app-upgrade-notes.rst +++ b/docs/source/app-upgrade-notes.rst @@ -112,9 +112,7 @@ CorDapp specific versionId identifiers if this follows the convention of always starting from 1. If you use the finance demo app, you should adjust your dependencies so you depend on the finance-contracts -and finance-workflows artifacts from your own contract and workflow JAR respectively. Although a single -finance jar still exists in Corda 4 for backwards compatibility, it should not be installed or used for -updated apps. This way, only the code that needs to be on the ledger actually will be. +and finance-workflows artifacts from your own contract and workflow JAR respectively. Step 3. Security: Upgrade your use of FinalityFlow -------------------------------------------------- @@ -308,7 +306,7 @@ There are two improvements to how Java package protection is handled in Corda 4: 1. Package sealing 2. Package namespace ownership -**Sealing.** App isolation has been improved. Version 4 of the finance CorDapp (*corda-finance.jar*) is now built as a set of sealed and +**Sealing.** App isolation has been improved. Version 4 of the finance CorDapps (*corda-finance-contracts.jar*, *corda-finance-workflows.jar*) is now built as a set of sealed and signed JAR files. This means classes in your own CorDapps cannot be placed under the following package namespace: ``net.corda.finance`` In the unlikely event that you were injecting code into ``net.corda.finance.*`` package namespaces from your own apps, you will need to move them diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index c9d6736310..b6b3154b4a 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -308,11 +308,10 @@ Version 4.0 * CorDapps built by ``corda-gradle-plugins`` are now signed and sealed JAR files. Signing can be configured or disabled, and it defaults to using the Corda development certificate. -* Finance CorDapp is now build as a sealed and signed JAR file. - Custom classes can no longer be placed in the packages defined in Finance Cordapp or access it's non-public members. +* Finance CorDapps are now built as sealed and signed JAR files. + Custom classes can no longer be placed in the packages defined in either finance Cordapp or access it's non-public members. -* Finance CorDapp was split into two separate apps: ``corda-finance-contracts`` and ``corda-finance-workflows``, - ``corda-finance`` is kept for backward compatibility, it is recommended to use separated jars. +* Finance CorDapp was split into two separate apps: ``corda-finance-contracts`` and ``corda-finance-workflows``. There is no longer a single cordapp which provides both. * The format of the shell commands' output can now be customized via the node shell, using the ``output-format`` command. diff --git a/docs/source/cordapp-build-systems.rst b/docs/source/cordapp-build-systems.rst index 300da04670..d32c194b1d 100644 --- a/docs/source/cordapp-build-systems.rst +++ b/docs/source/cordapp-build-systems.rst @@ -106,7 +106,6 @@ Here is an overview of the various Corda dependencies: * ``corda-core-deterministic`` - Used by the Corda node for deterministic contracts. Not likely to be used externally * ``corda-djvm`` - Used by the Corda node for deterministic contracts. Not likely to be used externally * ``corda-finance-contracts``, ``corda-finance-workflows`` and deprecated ``corda-finance``. Corda finance CorDapp, use contracts and flows parts respectively. - ``corda-finance`` is left for backward compatibility purposes and should be replaced by former two where needed. Only include as a ``cordaCompile`` dependency if using as a dependent Cordapp or if you need access to the Corda finance types. Use as a ``cordapp`` dependency if using as a CorDapp dependency (see below) * ``corda-jackson`` - Corda Jackson support. Use if you plan to serialise Corda objects to and/or from JSON diff --git a/docs/source/generating-a-node.rst b/docs/source/generating-a-node.rst index 496c031afb..22c8ff8baa 100644 --- a/docs/source/generating-a-node.rst +++ b/docs/source/generating-a-node.rst @@ -32,6 +32,15 @@ in the `Kotlin CorDapp Template -corda/corda-finance--corda.jar + wget https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases/net/corda/corda-finance-contracts-/-corda/corda-finance-contracts--corda.jar + wget https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases/net/corda/corda-finance-workflows-/-corda/corda-finance-workflows--corda.jar This is required to run some flows to check your connections, and to issue/transfer cash to counterparties. Copy it to the Corda installation location: diff --git a/finance/build.gradle b/finance/build.gradle deleted file mode 100644 index cf7102534b..0000000000 --- a/finance/build.gradle +++ /dev/null @@ -1,56 +0,0 @@ -apply plugin: 'kotlin' -// Java Persistence API support: create no-arg constructor -// see: http://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-hell -apply plugin: 'kotlin-jpa' -apply plugin: CanonicalizerPlugin -apply plugin: 'net.corda.plugins.publish-utils' -apply plugin: 'net.corda.plugins.quasar-utils' -apply plugin: 'net.corda.plugins.cordapp' -apply plugin: 'com.jfrog.artifactory' - -description 'Corda finance modules' - -/** - * NOTE: this build.gradle file is maintained for backwards compatibility purposes. - * It will build a `corda-finance.jar` including all Contracts and Flows. - * From Corda 4 it is strongly recommended that CorDapps dependent on the `corda-finance.jar` - * explicitly declare dependencies on either/both of the corda finance sub-modules: - * corda-finance-contract => generates `corda-finance-contract.jar` - * corda-finance-workflows => generates `corda-finance-workflows.jar` - * Third party CorDapps should remember to include these sub-module dependencies using the `cordapp` Corda Gradle plug-in - * cordapp project(':finance:workflows') - * cordapp project(':finance:contracts') - */ - -def mainProjects = [':finance:contracts',':finance:workflows', ':confidential-identities'] - -jar.dependsOn mainProjects.collect{ it+":compileJava"} -jar { - baseName 'corda-finance' - from files(mainProjects.collect{ project(it).sourceSets.main.output }) - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - -cordapp { - signing { - enabled false - } - targetPlatformVersion corda_platform_version.toInteger() - minimumPlatformVersion 1 - contract { - name "Corda Finance Demo" - versionId 1 - vendor "R3" - licence "Open Source (Apache 2)" - } - workflow { - name "Corda Finance Demo" - versionId 1 - vendor "R3" - licence "Open Source (Apache 2)" - } -} - -publish { - name jar.baseName -} diff --git a/settings.gradle b/settings.gradle index 035c71f0f3..df5c42b060 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,7 +2,6 @@ // output JAR from the capsule then the buildCordaJAR task goes into an infinite loop. rootProject.name = 'corda-project' include 'confidential-identities' -include 'finance' // maintained for backwards compatibility only include 'finance:contracts' include 'finance:workflows' include 'isolated'