CORDA-2537 - remove bundled finance app (#4696)

update docs to reflect the removal of the bundled finance app
This commit is contained in:
Stefano Franz 2019-02-01 11:06:10 +00:00 committed by Katelyn Baker
parent 48efbf5b5b
commit 2868984364
8 changed files with 33 additions and 78 deletions

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -32,6 +32,15 @@ in the `Kotlin CorDapp Template <https://github.com/corda/cordapp-template-kotli
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
directory "./build/nodes"
nodeDefaults {
cordapps = [
"net.corda:corda-finance-contracts:$corda_release_version",
"net.corda:corda-finance-workflows:$corda_release_version",
"net.corda:corda-confidential-identities:$corda_release_version"
]
}
node {
name "O=Notary,L=London,C=GB"
// The notary will offer a validating notary service.
@ -45,8 +54,6 @@ in the `Kotlin CorDapp Template <https://github.com/corda/cordapp-template-kotli
h2Port 10004
// Starts an internal SSH server providing a management shell on the node.
sshdPort 2223
// Includes the corda-finance CorDapp on our node.
cordapps = ["net.corda:corda-finance:$corda_release_version"]
extraConfig = [
// Setting the JMX reporter type.
jmxReporterType: 'JOLOKIA',
@ -63,7 +70,6 @@ in the `Kotlin CorDapp Template <https://github.com/corda/cordapp-template-kotli
}
webPort 10007
h2Port 10008
cordapps = ["net.corda:corda-finance:$corda_release_version"]
// Grants user1 all RPC permissions.
rpcUsers = [[ user: "user1", "password": "test", "permissions": ["ALL"]]]
}
@ -76,7 +82,6 @@ in the `Kotlin CorDapp Template <https://github.com/corda/cordapp-template-kotli
}
webPort 10011
h2Port 10012
cordapps = ["net.corda:corda-finance:$corda_release_version"]
// Grants user1 the ability to start the MyFlow flow.
rpcUsers = [[ user: "user1", "password": "test", "permissions": ["StartFlow.net.corda.flows.MyFlow"]]]
}
@ -268,28 +273,32 @@ Below you can find the example task from the `IRS Demo <https://github.com/corda
task deployNodes(type: net.corda.plugins.Dockerform, dependsOn: ['jar']) {
nodeDefaults {
cordapps = [
"net.corda:corda-finance-contracts:$corda_release_version",
"net.corda:corda-finance-workflows:$corda_release_version",
"net.corda:corda-confidential-identities:$corda_release_version"
]
}
node {
name "O=Notary Service,L=Zurich,C=CH"
notary = [validating : true]
cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
rpcUsers = rpcUsersList
useTestClock true
}
node {
name "O=Bank A,L=London,C=GB"
cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
rpcUsers = rpcUsersList
useTestClock true
}
node {
name "O=Bank B,L=New York,C=US"
cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
rpcUsers = rpcUsersList
useTestClock true
}
node {
name "O=Regulator,L=Moscow,C=RU"
cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
rpcUsers = rpcUsersList
useTestClock true
}

View File

@ -19,20 +19,27 @@ service.
.. code:: bash
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
nodeDefaults {
cordapps = [
"net.corda:corda-finance-contracts:$corda_release_version",
"net.corda:corda-finance-workflows:$corda_release_version",
"net.corda:corda-confidential-identities:$corda_release_version"
]
}
directory "./build/nodes"
node {
name "O=Notary,L=London,C=GB"
notary = [validating : true]
p2pPort 10002
rpcPort 10003
cordapps = ["net.corda:corda-finance:$corda_release_version"]
}
node {
name "O=PartyA,L=London,C=GB"
p2pPort 10005
rpcPort 10006
webPort 10007
cordapps = ["net.corda:corda-finance:$corda_release_version"]
rpcUsers = [[ user: "user1", "password": "test", "permissions": ["ALL]]]
}
node {
@ -41,7 +48,6 @@ service.
rpcPort 10009
webPort 10010
sshdPort 10024
cordapps = ["net.corda:corda-finance:$corda_release_version"]
rpcUsers = [[ user: "user1", "password": "test", "permissions": ["ALL"]]]
}
}

View File

@ -34,7 +34,8 @@ couple of resources.
.. code:: bash
wget https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases/net/corda/corda-finance/<VERSION>-corda/corda-finance-<VERSION>-corda.jar
wget https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases/net/corda/corda-finance-contracts-/<VERSION>-corda/corda-finance-contracts-<VERSION>-corda.jar
wget https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases/net/corda/corda-finance-workflows-/<VERSION>-corda/corda-finance-workflows-<VERSION>-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:

View File

@ -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
}

View File

@ -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'