mirror of
https://github.com/corda/corda.git
synced 2024-12-22 14:22:28 +00:00
18c57cf951
* 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.
60 lines
2.0 KiB
Groovy
60 lines
2.0 KiB
Groovy
/**
|
|
* This build.gradle exists to package Node Explorer as an executable fat jar.
|
|
*/
|
|
apply plugin: 'us.kirchmeier.capsule'
|
|
|
|
description 'Node Explorer'
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
maven {
|
|
url 'http://oss.sonatype.org/content/repositories/snapshots'
|
|
}
|
|
jcenter()
|
|
maven {
|
|
url 'https://dl.bintray.com/kotlin/exposed'
|
|
}
|
|
}
|
|
|
|
// Force the Caplet to target Java 6. This ensures that running 'java -jar explorer.jar' on any Java 6 VM upwards
|
|
// will get as far as the Capsule version checks, meaning that if your JVM is too old, you will at least get
|
|
// a sensible error message telling you what to do rather than a bytecode version exception that doesn't.
|
|
// If we introduce .java files into this module that need Java 8+ then we will have to push the caplet into
|
|
// its own module so its target can be controlled individually, but for now this suffices.
|
|
sourceCompatibility = 1.6
|
|
targetCompatibility = 1.6
|
|
|
|
dependencies {
|
|
compile project(':tools:explorer')
|
|
}
|
|
|
|
task buildExplorerJAR(type: FatCapsule) {
|
|
applicationClass 'net.corda.explorer.Main'
|
|
archiveName "node-explorer-${corda_version}.jar"
|
|
applicationSource = files(project.tasks.findByName('jar'), '../build/classes/main/ExplorerCaplet.class')
|
|
classifier 'fat'
|
|
|
|
capsuleManifest {
|
|
applicationVersion = corda_version
|
|
systemProperties['visualvm.display.name'] = 'Node Explorer'
|
|
minJavaVersion = '1.8.0'
|
|
// This version is known to work and avoids earlier 8u versions that have bugs.
|
|
minUpdateVersion['1.8'] = '102'
|
|
caplets = ['ExplorerCaplet']
|
|
|
|
// JVM configuration:
|
|
// - Constrain to small heap sizes to ease development on low end devices.
|
|
// - Switch to the G1 GC which is going to be the default in Java 9 and gives low pause times/string dedup.
|
|
//
|
|
// If you change these flags, please also update Driver.kt
|
|
jvmArgs = ['-Xmx200m', '-XX:+UseG1GC']
|
|
}
|
|
|
|
manifest {
|
|
attributes('Corda-Version': corda_version)
|
|
}
|
|
}
|
|
|
|
build.dependsOn buildExplorerJAR
|