diff --git a/build.gradle b/build.gradle index 1ee0c3a42a..cd31b768a7 100644 --- a/build.gradle +++ b/build.gradle @@ -64,7 +64,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 = 'cadb53544fbb3c0fb901445da614998a6a419488' ext.jsr305_version = constants.getProperty("jsr305Version") ext.shiro_version = '1.4.0' ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion') 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 context, StringToMethodCallParser 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 cmdsAndArgs = parser.getAvailableCommands(); - for (Map.Entry entry : cmdsAndArgs.entrySet()) { + Set> entries = parser.getAvailableCommands().entrySet(); + ArrayList> entryList = new ArrayList<>(entries); + entryList.sort(Comparator.comparing(Map.Entry::getKey)); + for (Map.Entry 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;