Commit Graph

473 Commits

Author SHA1 Message Date
Andras Slemmer
2daa8098c9 build: add integrationTest as a test dependency 2016-06-28 16:46:45 +01:00
Clinton Alexander
99fdacd0dc Integration tests now run separately from unit tests (with caveats described in the gradle file) 2016-06-28 14:03:32 +01:00
Andras Slemmer
32b593671b Merged in remove-warnings (pull request #169)
Remove warnings
2016-06-20 14:45:04 +01:00
Shams Asari
411fd1aeb3 Upgraded to artemis 1.3.0 so that exceptions are thrown if something goes wrong on startup 2016-06-20 14:29:27 +01:00
Andras Slemmer
3faf268feb build: add -Xlint: flags 2016-06-20 14:16:13 +01:00
Andras Slemmer
d8e0e8d548 test: Add JsonSupport testing using junit-quickcheck 2016-06-20 11:49:54 +01:00
Andras Slemmer
96d8d4b9d5 build: add comments on added lines 2016-06-17 11:02:43 +01:00
Andras Slemmer
2c6ed9223e build: add back applicationDefaultJvmArgs, mainClassName variables 2016-06-17 10:49:43 +01:00
Andras Slemmer
dc5da8e1ad build: use QuasarPlugin instead of copypasta 2016-06-17 10:16:46 +01:00
Matthew Nesbit
3a27ca5989 Correct main application class name 2016-05-23 15:20:20 +01:00
Matthew Nesbit
63a5fd1b9e Add com.r3corda to all namespaces. 2016-05-23 14:53:56 +01:00
Mike Hearn
e1f899647a Modify the trader demo so it doesn't need a shell script to start it anymore. Now all configuration is in the driver program. 2016-05-17 18:13:24 +02:00
Matthew Nesbit
4fd32c3455 Merge remote-tracking branch 'remotes/origin/master' into mnesbit-cor-174-reorganise-for-bank-developers 2016-05-16 15:27:44 +01:00
Matthew Nesbit
306c9a67cb Force wildcard classpath into generated windows startup scripts to prevent 'command line too long' issues 2016-05-16 13:48:09 +01:00
Matthew Nesbit
988e00099d Capture file moves to separate Node implementation code into its own gradle module and leave only demo code in top level src folders.
I have to temporarily break\disable the IRS demo to which has a circular dependency. Will fix next.
2016-05-14 17:57:41 +01:00
Mike Hearn
506441977f Minor: suppress an IntelliJ Gradle warning 2016-05-13 12:55:45 +02:00
Mike Hearn
232a4b7f53 Kotlin 1.0.2. Enable experimental incremental compilation in Gradle. 2016-05-13 12:50:54 +02:00
Matthew Nesbit
2e7f3a2017 The quasar 0.7.5-SNAPSHOT version has been removed from the Maven Repositories. The official 0.7.5 version has replaced it. 2016-05-05 14:42:56 +01:00
Shams Asari
0575bcc959 Sending message to self no longer goes into continuous loop 2016-04-27 14:50:07 +01:00
Mike Hearn
13f334ceba Dynamic class loading: check in a contract jar as a test resource to ensure tests can run from IntelliJ.
Minor tweak to use val more than var in tests.
2016-04-13 19:54:25 +02:00
sofusmortensen
d05e6bb6a4 Merge branch 'master' into dynamic-loading 2016-04-09 01:01:36 +02:00
sofusmortensen
6fe8107d27 Merge branch 'master' into dynamic-loading 2016-04-08 22:40:18 +02:00
Mike Hearn
a8cfa9df14 Minor: add a TODO to build.gradle about making the quasar scan task incremental. 2016-04-07 20:03:29 +02:00
rick.parker
55265e6115 IRS related protocols and scripts
Additional changes based on feedback

Additional changes based on feedback
2016-04-07 14:56:30 +01:00
rick.parker
3b2d236531 Add Quasar suspendables scanner to gradle build. 2016-03-31 16:52:54 +01:00
sofusmortensen
58a509de63 Merge branch 'master' into dynamic-loading 2016-03-24 13:10:36 +00:00
Mike Hearn
5b7fb86b6b Use TypeSafe Config library instead of Java properties files for the config file format. The default formats are compatible so this should not be disruptive. 2016-03-23 16:49:28 +00:00
sofusmortensen
5d5bcbfb00 Merge branch 'master' into dynamic-loading 2016-03-22 13:37:33 +00:00
sofusmortensen
527b0f4817 Improved unit tests.
Cleaned up project structure a bit.
2016-03-22 12:15:47 +00:00
Mike Hearn
b1694e2d0d Move MockNode/InMemoryNetwork to the main sourceset, as these are useful not only for unit testing, but also simulation tools. 2016-03-22 10:54:35 +00:00
Mike Hearn
9dbb575b51 Kotlin 1.0.1 2016-03-17 13:04:54 +01:00
Mike Hearn
2754546942 Don't report errors when dependency version conflicts are found, as Gradle's default behaviour of picking the newest version is normally the right one and in practice what we've been doing anyway.
Remove RxKotlin. It doesn't add enough value over just using the RxJava API directly.
2016-03-11 11:49:50 +01:00
rick.parker
429ac589df Clean integration of Jersey & Jackson for JAX-RS support, with Config for setting up custom marshalling. No API classes configured by default
Enable Jersey monitoring JMX MBean

Updates based on Mike's feedback
2016-03-11 08:37:53 +00:00
Mike Hearn
a03352e6cd Export JMX statistics via JSON REST endpoints using Jolokia. 2016-03-09 15:53:32 +01:00
Mike Hearn
0f208d8b4d Check in a demo of how to get an interest rate fix from an oracle. 2016-03-08 17:31:35 +01:00
Mike Hearn
8d3c9643e9 Minor: Move TraderDemo to demos package 2016-03-08 17:29:23 +01:00
Mike Hearn
1123c28f02 Make the trader demo attach a PDF to the commercial paper self-issuance and then scan for it on the buyer side, print out the path on the filesystem where the PDF can be found. 2016-03-02 15:08:55 +01:00
Mike Hearn
37f1de8a4d Refactor FetchTransactionsProtocol into FetchDataProtocol and add support for fetching attachments. 2016-02-29 19:05:05 +01:00
Mike Hearn
0224bca1a9 Add a simple file backed attachment store, with tests. 2016-02-29 19:04:41 +01:00
Mike Hearn
105f9e1069 Add Apache JEXL as a dependency, as part of an exploration of on-the-fly contract specialisation (this solution may not be taken forward but suffices to unblock other work) 2016-02-29 18:56:03 +01:00
Mike Hearn
478b6c5fba Trader demo: use a start script instead of Gradle, which simplifies setup.
It also stops Gradle messing with the console output.
2016-02-24 12:58:37 +01:00
Mike Hearn
c3f86f6557 Integrate a simple progress tracking system into the protocol framework.
The progress tracker API lets you model a tree of steps, along the same structure as protocols and subprotocols. Each step has an (optionally changing) label, and thus progress trackers can be arranged in a tree. Updates to the progress at each level flow up the tree via an RxJava observable (I guess we will use this more in future).

A simple console renderer is provided that uses ANSI escapes and Emoji to show animated progress through a protocol.

The trader demo is enhanced to use this framework, when run outside of Gradle.
2016-02-24 12:58:37 +01:00
Mike Hearn
f6167cbe12 Minor: tweak build file to describe how to activate Dokka API docs 2016-02-18 13:43:15 +01:00
Mike Hearn
1f8fd4b578 Kotlin 1.0 (huzzah) 2016-02-16 17:26:12 +01:00
Sofus Mortensen
994abb3edb Added new project core.
Project Contracts depends only on core.
2016-02-16 17:14:17 +01:00
Sofus Mortensen
00977c0d83 build.gradle edited online with Bitbucket 2016-02-16 17:14:17 +01:00
Sofus Mortensen
e34731bad7 Sorting of files. Create build.gradle in contracts. Comments. 2016-02-16 17:14:17 +01:00
Sofus Mortensen
cbfcac994a New separate project for contracts. Canonicalization. 2016-02-16 17:14:17 +01:00
Mike Hearn
88e02440d4 Kotlin 1.0 RC
Hopefully this is the last time they break backwards compatibility.
2016-02-08 19:35:30 +01:00
Mike Hearn
f705eee312 Use buyer/seller instead of alpha/beta and allow nodes to both be named localhost. Update docs. 2016-02-05 15:48:58 +01:00
Mike Hearn
1e8ea8eb2c Implement the beginnings of a serving node.
It uses Artemis (an embeddable MQ broker) and can run in either a 'serving' mode, in which case it will sit around waiting to sell fake commercial paper assets, or a 'buying' mode in which case it will connect to a specified serving node and run the two party trade protocol.

Most services are either mocked out or too trivial to be useful at this point. They will be fleshed out in the future.
2016-02-03 16:57:01 +01:00
Mike Hearn
360d8ec7ad Add dependency on Apache Artemis (message queue library) and clean up a few no longer necessary overrides and version pins. 2016-02-03 15:35:55 +01:00
Mike Hearn
fd63543566 Minor: Quasar 0.9.4 is out so we don't need the snapshot version anymore. 2016-01-22 12:00:14 +01:00
Mike Hearn
33b98bc9c3 Minor: bump Guava to v19 to avoid conflicts with new Quasar 2016-01-12 12:14:46 +01:00
Mike Hearn
412212a860 Switch from JavaFlow to Quasar to provide fibers.
Quasar is a more modern, better maintained and more powerful framework. The main improvement is that this lets us avoid the ClassLoader tricks that JavaFlow was requiring, by using an agent. This introduces a requirement to mark methods that might be on a suspended stack as @Suspendable, but means that code interops cleanly. In Java 9 it is hoped that the marking requirement may even go away entirely.
2016-01-12 12:14:39 +01:00
Mike Hearn
992b56a2b2 Bump Dokka version to fix gradle build 2016-01-05 11:46:26 +01:00
Mike Hearn
cd7d01917f Kotlin 1.0.0-beta-4584 2015-12-24 17:21:10 +00:00
Mike Hearn
0ca47156bc Trading protocol work in progress 2015-12-11 15:19:13 +01:00
Mike Hearn
f13b9b00e4 Minor: fix Arrays.asList serialisation by adding the extra serialisers lib as a dependency 2015-12-10 17:14:49 +01:00
Mike Hearn
65f1e52d12 Bump Dokka version, it has to be kept in sync with the Kotlin compiler. 2015-12-08 17:23:39 +01:00
Mike Hearn
f4ddbc9e82 Bump Kotlin version to 1.0-beta-3594 2015-12-07 13:35:19 +01:00
Mike Hearn
ea4a6d8f06 Add logging utilities using slf4j 2015-12-03 18:24:26 +00:00
Mike Hearn
a95cd056ea Implement a simple transaction graph visualiser tool. 2015-12-02 09:50:45 +00:00
Mike Hearn
8ea4ac8b15 Rename 'playground' to 'R3 Prototyping' 2015-11-30 17:00:25 +00:00
Mike Hearn
af4aa3dedc Minor: remove funktionale from build.gradle, it's unused 2015-11-24 15:21:59 +01:00
Mike Hearn
564fce7e99 Minor: set Java 8 as a requirement in gradle build file 2015-11-23 13:13:46 +01:00
Mike Hearn
92c92db33d Minor: bump Dokka version to fix build 2015-11-21 13:14:53 +01:00
Mike Hearn
6c66eee712 Kotlin Beta 2 2015-11-16 19:23:50 +01:00
Mike Hearn
2d58453225 Minor: add Dokka as an api doc generator tool. It's still kind of rough and needs a stylesheet to be supplied manually. 2015-11-16 12:16:37 +01:00
Mike Hearn
162b830bcd Add some serialization utilities and tests, using Kryo. 2015-11-13 20:38:29 +01:00
Mike Hearn
ac9a371179 Platform: commands can now have multiple signatures per command (i.e. you only have one command of any type per transaction even if there are multiple authorisations). 2015-11-09 19:27:53 +00:00
Mike Hearn
d7a5289c3d Build/git stuff: minor tweaks 2015-11-06 13:56:04 +01:00
Mike Hearn
c60db5544b Initial import 2015-11-03 17:54:17 +01:00