Commit Graph

139 Commits

Author SHA1 Message Date
Christian Sailer
7765de0bf9 Merge branch 'master' of https://github.com/corda/corda into christians_os_merge_20171106 2017-11-06 17:27:13 +00:00
Christian Sailer
3e61d13ffe Merge remote-tracking branch 'corda/master' into christians_os_merge_20171031 2017-11-02 14:41:18 +00:00
Clinton
dcaac91691
Cordformation now allows addresses to be used for non-database addresses. (#1917)
Cordformation now allows addresses to be used for non-database addresses.
2017-10-31 20:48:57 +00:00
Christian Sailer
ea612246c9
CORDA-742 merge build fixes (#83)
* CORDA-741 changed formatted to true

# Conflicts:
#	gradle-plugins/cordformation/src/main/kotlin/net/corda/plugins/Node.kt

* CORDA-742 Test capsule cache directory

# Conflicts:
#	gradle-plugins/cordformation/src/main/kotlin/net/corda/plugins/Cordform.kt

* CORDA-742 Test capsule cache directory

* CORDA-742 Test capsule cache directory

* CORDA-742 Test capsule cache directory

# Conflicts:
#	gradle-plugins/cordformation/src/main/kotlin/net/corda/plugins/Cordform.kt

* CORDA-742 Refactored back to more parallel execution

# Conflicts:
#	gradle-plugins/cordformation/src/main/kotlin/net/corda/plugins/Cordform.kt

* CORDA-742 Minor refactor

* CORDA-742 Refactors

* CORDA-742 Added constant for cache directory.

* CORDA-742 PR #1951 Moved extension methods into node.

* CORDA-742 PR #1951 Moved extension methods back.

* CORDA-742 PR #1951 Fixed compilation error
2017-10-30 10:21:06 +00:00
Mat Rizzo
cc03804701 CORDA-742 PR #1951 Fixed compilation error 2017-10-26 17:26:30 +01:00
Mat Rizzo
ee3106fd5a CORDA-742 PR #1951 Moved extension methods back. 2017-10-26 17:26:30 +01:00
Mat Rizzo
92bbce711b CORDA-742 PR #1951 Moved extension methods into node. 2017-10-26 17:26:30 +01:00
Mat Rizzo
a3c553d44a CORDA-742 Added constant for cache directory. 2017-10-26 17:26:30 +01:00
Mat Rizzo
8021cdd364 CORDA-742 Refactors 2017-10-26 17:26:30 +01:00
Mat Rizzo
788d8ef65f CORDA-742 Minor refactor 2017-10-26 17:26:30 +01:00
Mat Rizzo
ac1dfec1ff CORDA-742 Refactored back to more parallel execution 2017-10-26 17:26:30 +01:00
Mat Rizzo
f5a8e11411 CORDA-742 Test capsule cache directory 2017-10-26 17:26:30 +01:00
Mat Rizzo
127c862982 CORDA-742 Test capsule cache directory 2017-10-26 17:26:30 +01:00
Mat Rizzo
e10ed1bdcf CORDA-742 Test capsule cache directory 2017-10-26 17:26:30 +01:00
Mat Rizzo
3bcf526f47 CORDA-742 Test capsule cache directory 2017-10-26 17:26:30 +01:00
Mat Rizzo
4e07add161 CORDA-742 Change capsule cache directory for testing purposes 2017-10-26 17:26:30 +01:00
Mat Rizzo
91bba5e263 CORDA-741 changed formatted to true 2017-10-26 15:26:50 +01:00
Mat Rizzo
75ba471238 CORDA-728 Turning on capsule debug 2017-10-26 15:26:50 +01:00
Mat Rizzo
59fe7a196b CORDA-728 fixed the issue with node runner on mac. Also did a tiny bit of readability refactoring.
CORDA-728 clinton's requested changes to move all property getters onto one line

CORDA-728 fixed the issue with node runner on mac. Also did a tiny bit of readability refactoring.

CORDA-728 clinton's requested changes to move all property getters onto one line

CORDA-728 Tiny bit of readability refactoring, change of flow control around error occuring on TC, renaming of log file to work with Rick's TC change.

CORDA-728 clinton's requested changes to move all property getters onto one line

CORDA-728 clinton's requested changes to move all property getters onto one line

CORDA-728 Fixing some simple compilation errors.

CORDA-728 deparallelizing in attempt to fix capsule error
2017-10-26 15:26:50 +01:00
josecoll
ef7ccd3147 Merge Open Source to Enterprise (#79)
* Check array size before accessing

* Review fixes

* CORDA-540: Make Verifier work in AMQP mode (#1870)

* reference to finance module via not hardcoded group ID (#1515)

*  generic way to reference to group id when loading finance.jar via cordapp

* Fixed the node shell to work with the DataFeed class

* Attempt to make NodeStatePersistenceTests more stable (#1895)

By ensuring that the nodes are properly started and aware of each other before firing any flows through them.
Also minor refactoring.

* Disable unstable test on Windows (#1899)

* CORDA-530 Don't soft-lock non-fungible states (#1794)

* Don't run unlock query if nothing was locked
* Constructors should not have side-effects

* [CORDA-442] let Driver run without network map (#1890)

* [CORDA-442] let Driver run without network map

- Nodes started by driver run without a networkMapNode.

- Driver does not take a networkMapStartStrategy anymore

- a new parameter in the configuration "noNetworkMapServiceMode" allows for a node not to be a networkMapNode nor to connect to one.

- Driver now waits for each node to write its own NodeInfo file to disk and then copies it into each other node.

- When driver starts a node N, it waits for every node to be have N nodes in their network map.

Note: the code to copy around the NodeInfo files was already in DemoBench, the NodeInfoFilesCopier class was just moved from DemoBench into core (I'm very open to core not being the best place, please advise)

* Added missing cordappPackage dependencies. (#1894)

* Eliminate circular dependency of NodeSchedulerService on ServiceHub. (#1891)

* Update customSchemas documentation. (#1902)

* [CORDA-694] Commands visibility for Oracles (without sacrificing privacy) (#1835)

new checkCommandVisibility feature for Oracles

* CORDA-599 PersistentNetworkMapCache no longer circularly depends on SH (#1652)

* CORDA-725 - Change AMQP identifier to officially assigned value

This does change our header format so pre-cached test files need
regenerating

* CORDA-725 - update changelog

* CORDA-680 Update cordapp packages documentation (#1901)

* Introduce MockNetworkParameters

* Cordformation in Kotlin (#1873)

Cordformation rewritten in kotlin.

* Kotlin migration

* Review Comments

* CORDA-704: Implement `@DoNotImplement` annotation (#1903)

* Enhance the API Scanner plugin to monitor class annotations.
* Implement @DoNotImplement annotation, and apply it.
* Update API definition.
* Update API change detection to handle @DoNotImplement.
* Document the `@DoNotImplement` annotation.

* Experimental support for PostgreSQL (#1525)

* Cash selection refactoring such that 3d party DB providers are only required to implement Coin Selection SQL logic.

* Re-added debug logging statement.

* Updated to include PR review feedback from VK

* Refactoring following rebase from master.

* Fix broken JUnits following rebase.

* Use JDBC ResultSet getBlob() and added custom serializer to address concern raised by tomtau in PR.

* Fix failing JUnits.

* Experimental support for PostgreSQL: CashSelection done using window functions

* Moved postgresql version information into corda/build.gradle

* Using a PreparedStatement in CashSelectionPostgreSQLImpl

* Changed the PostgreSQL Cash Selection implementation to use the new refactored AbstractCashSelection

* * Retire MockServiceHubInternal (#1909)

* Introduce rigorousMock
* Add test-utils and node-driver to generated documentation

* Fix-up: Bank Of Corda sample (#1912)

In the previous version when running with `--role ISSUER` the application failed to start.
The reason was that in spite of `quantity` and `currency` were optional,
un-necessary `requestParams` been constructed regardless.

* move SMM

* Interface changes for multi-threading

* CORDA-351: added dependency check plugin to gradle build script (#1911)

* CORDA-351: added dependency check plugin to gradle build script

* CORDA-351: Added suppression stub file with example

* CORDA-351: added suppresionFile property

* CORDA-435 - Ensure Kryo only tests use Kryo serializatin context

Also correct lambda typos (from lamba)

* Network map service REST API wrapper (#1907)

* Network map client - WIP

* Java doc and doc for doc site

* remove javax.ws dependency

* NetworkParameter -> NetworkParameters

* move network map client to node

* Fix jetty test dependencies

* NetworkParameter -> NetworkParameters

* Address PR issues

* Address PR issues and unit test fix

* Address PR issues

* Fixing Bank-Of-Corda Demo in `master` (#1922)

* Fix-up: Bank Of Corda sample

Use correct CorDapp packages to scan

(cherry picked from commit 2caa134)

* Set adequate permissions for the nodes such that NodeExplorer can connect

(cherry picked from commit ae88242)

* Set adequate permissions for the nodes such that NodeExplorer can connect

(cherry picked from commit ae88242)

* Correct run configuration

* Fix-up port numbers

* CORDA-435 - AMQP serialisation cannot work with private vals

They won't be reported as properties by the introspector and thus we
will fail to find a constructor for them. This makes sense as we will be
unable to serialise an object whose members we cannot read

* CORDA-435 - AMQP enablement fixes

AMQP has different serialization rules than Kryo surrounding the way we
introspect objects to work out how to construct them

* [CORDA-442] make MockNetwork not start a networkmap node (#1908)

* [CORDA-442] make MockNetwork not start a networkmap node

Now MockNetwork will put the appropriate NodeInfos inside each running node networkMapCache.

Tests relating to networkmap node starting and interaction have been removed since they where relaying on MockNetwork

* Minor fix for api checker script to support macOS

* Retrofit changes from Enterprise PR #61 (#1934)

* Introduce MockNodeParameters/Args (#1923)

* CORDA-736 Add some new features to corda.jar via node.conf for testing (#1926)

* CORDA-699 Add injection or modification of memory network messages (#1920)

* Updated API stability changeset to reflect new schema attribute name.
2017-10-25 13:54:34 +01:00
Maksymilian Pawlak
651bbdcf83 Kotlin migration 2017-10-19 16:13:33 +01:00
Clinton
3dd09fd69b Cordformation in Kotlin (#1873)
Cordformation rewritten in kotlin.
2017-10-19 15:41:25 +01:00
Clinton
2680361696 Renamed "plugins" dir to "cordapps" (#1644)
* Renamed plugins dir to cordapps dir while maintaining backwards compatibility with the plugins dir.
Bumped gradle plugins to 2.0.4
2017-10-13 15:01:24 +01:00
Alberto Arri
3bee830604 [CORDA-442] Removed the NetworkMap option from Cordform, changed all the examples… (#1827)
[CORDA-442]
Removed the option for Cordformation to specify a networkMap.

All the samples have been migrated to not specify a networkMap.
2017-10-10 15:45:42 +01:00
szymonsztuka
8c9045bd73 deployNodes Gradle task appends properties from an optional file to node.conf (#1444)
* deployNodes Gradle task appends properties from an optional file to node.conf
2017-10-10 15:03:05 +01:00
Shams Asari
bd53a22efa Removed extraAdvertisedServiceIds config
The remaining use for it was the finance CorDapp for permissioning CCY issuers. Instead this is now taken from a custom config in node.conf.
2017-10-10 13:47:37 +01:00
Clinton
484cf75420 CORDA-686 - Split Cordapp gradle plugin from cordformation (#1817)
Added CorDapp gradle plugin written in Kotlin and bumped the version of gradle plugins to 2.0.0 to reflect that this backwards incompatible change is a part of the on going stabilisation of the Corda gradle plugin suite.
2017-10-09 20:08:08 +01:00
Shams Asari
727cd0e55c Cleaned up notary configuration by introducing a notary config option.
extraAdvertisedServiceIds is no longer used for this.
2017-10-07 12:52:37 +01:00
Alberto Arri
eb0e2535ed [CORDA-442] Make cordformation serialize NodeInfos to disk during deployment. (#1546)
Initial PR for https://r3-cev.atlassian.net/projects/CORDA/issues/CORDA-442

Allow for cordformation not to specify which node is the network map.
When that happens Cordformation will start each node and make it serialize its NodeInfo to disk.
This make 'depolyNodes' slower. On my machine for the traderDemo it's ~25s

PersistentNetworkMapCache will load files from disk at startup.
Additionally nodeinfos are loaded in the networkMapCache only if they're newer than the currently known version.
2017-10-03 15:43:50 +01:00
Chris Rankin
1e12aebe0a Gradle API Scanner plugin (#1669)
* Skeleton plugin.
* Implement Gradle api-scanner plugin, and apply it.
* Generate API documentation for any jar without a classifier.
* Fix usage of smokeTests classifier.
* Tweak Gradle API usage.
* Upgrade to fast-classpath-scanner 2.7.0
* Include interfaces and more modifiers in the class description.
* Allow system classes to be supertypes and implemented interfaces.
* Make API Scanner plugin configuration tweakable via build.gradle.
* Add a miserable amount of unit testing.
* Sort methods and fields using their natural comparators. Way easier!
* Add README for api-scanner plugin.
* Add @OutputFiles to ScanApiTask.
* Rename ScanApiTask to ScanApi.
* Allow the ScanApi task to be disabled.
* WIP: Create a top-level GenerateApi task to collate the ScanApi output.
* Exclude package-private classes, as well as bridge/synthetic methods.
* Replace "End of Class" delimiter with '##'.
* Don't scan modules whose API is still "in flux".
* Include constructors in the API definitions.
* Finish implementation of GenerateApi task.
* Update README to include GenerateApi task.
* Filter out Kotlin's "internal" methods.
* Assign "fatjar" classifier to the fat jar artifact.
* Enhance README for GenerateApi.
* Explain effect of api-scanner plugin, and link to Corda's API strategy.
* Tweak README
* Exclude synthetic Kotlin classes by analysing @Metadata.
* Allow us to exclude some classes explicitly from the API.
2017-09-29 16:55:26 +01:00
Chris Rankin
0e3005518e Exclude kotlin-reflect artifact from any CorDapp. (#1555) 2017-09-19 15:05:54 +01:00
Chris Rankin
5eab71caae Filter for Open Source and Enterprise modules. (#1514) 2017-09-15 09:01:50 +01:00
Ross Nicoll
ae2183c8a1 Reduce use of X500Name bridges (#1483)
* Change to using strings in CordformContext; X500Name is an external API dependency we're trying to avoid, X500Principal rearranges the order of the elements in a way we don't want, and trying to put CordaX500Name into Groovy in the time available is impractical. As such having pre-formatted strings used in the Cordform plugin makes most sense right now.
* Remove uses of CordaX500Name.x500
* Remove old X.500 parsing tools
* Move CordaX500Name.x500 into X500NameUtils
* Move X500NameUtils into internal
2017-09-14 11:56:14 +01:00
cburlinchon
10c4d46b97 Add delay to macos script startup (#1462) 2017-09-11 15:23:03 +01:00
Maksymilian Pawlak
069e31d006 Don't start Corda webserver if no webAddress has been defined for a node (#1434)
Don't start Corda webserver if no webAddress has been defined for a node
2017-09-08 15:25:20 +01:00
Patrick Kuo
57412d4498 Enforce X500Name format defined in design doc (#1427)
* Standardise X500Name format - WIP

* address PR issues

* failing test fix and replace X500Name with getX500Name

* gradle plugin fix

* Added country code validation
2017-09-07 14:47:42 +01:00
Clinton Alexander
40146cdbc0 Fixed a crash in cordformation when trying to build nodes for a project with a file as a dependency and any other dependencies without a group 2017-09-04 15:20:44 +01:00
Clinton Alexander
8756f337db Added a flag to denote debug mode for capsule in cordformation. 2017-08-24 15:57:11 +01:00
Clinton Alexander
1b61f94bb8 Improved logging message for including cordapp dependencies. 2017-08-16 18:04:41 +01:00
Matthew Nesbit
ca5ea1e25d Fix a bug where when using a groovy string a cordapp will not be included
because of a string and GString equality failure.
2017-08-16 18:02:20 +01:00
Shams Asari
008301c4e8 Introduced FlowLogic.getFlowContext which provides the flow version and app name of the other side. 2017-08-11 18:01:16 +01:00
Clinton
9eceb26ee9 Renamed corda configuration in gradle to cordaCompile to be more explicit. (#1131)
* Renamed corda configuration in gradle to cordaCompile to be more explicit.

* Bumped version number of gradle plugins.
2017-07-27 17:53:51 +01:00
Clinton
68d05eee04 Added corda and cordaRuntime configurations and documentation on integrating with Corda (#1103)
* Added new corda and cordaRuntime configurations for cordapps to be able to explicitly depend on Corda and exclude corda dependencies from the fatjar

* Added corda integration section to docsite to describe how to integrate with Corda.

* Updated more of the documentation to reflect the new method of specifying core corda dependencies.

* Reorganised document logic to move all build system related documentation to the cordapp build systems page.

* Renamed cordapp build systems doc to match actual purpose.

* Improved the warning for building against a net.corda dependency in a cordapp

* Added a line of dialogue to show further reading for those reading about writing cordapps.
2017-07-25 17:54:36 +01:00
Clinton
0ccfae252f POMs generated by publishing are now correct. (#1055)
* POMs generated by publishing are now correct. The publish extension now requires an explicit call to configure the publishing instead of waiting until after evaluation. This prevents evaluation order issues with the artifact renaming code that causes the POM to have the original, incorrect, artifact names.

* Fixed new test compile issues caused by removal of some dependencies in test utils that caused webserver code to be automatically included in any project also compiling test utils.
2017-07-18 12:34:56 +01:00
Clinton
74c8346863 Cordapps now exclude the META-INF of dependencies. (#988)
* Cordapps now exclude the META-INF of dependencies.

* Only exclude files that cause issues with signed JAR detection.
2017-07-07 15:37:28 +01:00
Clinton Alexander
2b3f6d9701 Revert "Cordapps now exclude the META-INF of dependencies."
This reverts commit 68068e5640.
2017-07-06 15:15:47 +01:00
Clinton Alexander
68068e5640 Cordapps now exclude the META-INF of dependencies. 2017-07-06 15:14:07 +01:00
Clinton
c1088038b7 Cordapps now contain their own dependencies (#915)
* Cordapps now contain all explicitly specified dependencies (and sub
dependencies).

* Removed some useless compile dependencies for trader demo.

* Dependent Cordapps are excluded from the build.
:Removed unnecessary dependencies of demos.

* Cleaned up exclusion rules for cordapp dependencies.
2017-06-30 14:18:46 +01:00
Mike Hearn
82f68f212a Minor: add another emoji, import a couple of changes for Enterprise 2017-06-30 13:06:46 +01:00
Joel Dudley
e5fba5d0af Docsite reorg ahead of beta launch. 2017-06-05 13:37:23 +01:00