From 57a52f43a438512a6951ef40a8ed84550a1ff614 Mon Sep 17 00:00:00 2001
From: ags <andrzej.grzesik@gmail.com>
Date: Wed, 21 Feb 2018 11:37:34 +0000
Subject: [PATCH 1/3] shell: list commands alphabetically

---
 .../main/java/net/corda/tools/shell/RunShellCommand.java    | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/shell/src/main/java/net/corda/tools/shell/RunShellCommand.java b/tools/shell/src/main/java/net/corda/tools/shell/RunShellCommand.java
index c946190c05..f6c0623ad1 100644
--- a/tools/shell/src/main/java/net/corda/tools/shell/RunShellCommand.java
+++ b/tools/shell/src/main/java/net/corda/tools/shell/RunShellCommand.java
@@ -36,8 +36,10 @@ public class RunShellCommand extends InteractiveShellCommand {
     private void emitHelp(InvocationContext<Map> context, StringToMethodCallParser<CordaRPCOps> parser) {
         // Sends data down the pipeline about what commands are available. CRaSH will render it nicely.
         // Each element we emit is a map of column -> content.
-        Map<String, String> cmdsAndArgs = parser.getAvailableCommands();
-        for (Map.Entry<String, String> entry : cmdsAndArgs.entrySet()) {
+        Set<Map.Entry<String, String>> entries = parser.getAvailableCommands().entrySet();
+        ArrayList<Map.Entry<String, String>> entryList = new ArrayList<>(entries);
+        entryList.sort(Comparator.comparing(Map.Entry::getKey));
+        for (Map.Entry<String, String> entry : entryList) {
             // Skip these entries as they aren't really interesting for the user.
             if (entry.getKey().equals("startFlowDynamic")) continue;
             if (entry.getKey().equals("getProtocolVersion")) continue;

From ff7db8685a0610abef1b514c24f792c36c726794 Mon Sep 17 00:00:00 2001
From: ags <andrzej.grzesik@gmail.com>
Date: Wed, 21 Feb 2018 14:46:35 +0000
Subject: [PATCH 2/3] increased crash shell version

---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 0d2d8ec9a4..586ae74790 100644
--- a/build.gradle
+++ b/build.gradle
@@ -63,7 +63,7 @@ buildscript {
     ext.dependency_checker_version = '3.1.0'
     ext.commons_collections_version = '4.1'
     ext.beanutils_version = '1.9.3'
-    ext.crash_version = 'cce5a00f114343c1145c1d7756e1dd6df3ea984e'
+    ext.crash_version = 'df87f8944b83b1187a6c741253d2aa7b232a1c62'
     ext.jsr305_version = constants.getProperty("jsr305Version")
     ext.shiro_version = '1.4.0'
     ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')

From 8a22a00d681da08db4c19f8987b5eafd37986afe Mon Sep 17 00:00:00 2001
From: ags <andrzej.grzesik@gmail.com>
Date: Wed, 21 Feb 2018 16:46:03 +0000
Subject: [PATCH 3/3] crash shell with help and bye

---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 586ae74790..0919a07179 100644
--- a/build.gradle
+++ b/build.gradle
@@ -63,7 +63,7 @@ buildscript {
     ext.dependency_checker_version = '3.1.0'
     ext.commons_collections_version = '4.1'
     ext.beanutils_version = '1.9.3'
-    ext.crash_version = 'df87f8944b83b1187a6c741253d2aa7b232a1c62'
+    ext.crash_version = 'cadb53544fbb3c0fb901445da614998a6a419488'
     ext.jsr305_version = constants.getProperty("jsr305Version")
     ext.shiro_version = '1.4.0'
     ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')