diff --git a/bridge/src/main/kotlin/net/corda/bridge/FirewallCmdLineOptions.kt b/bridge/src/main/kotlin/net/corda/bridge/FirewallCmdLineOptions.kt index ca64276d7c..d2fa44da99 100644 --- a/bridge/src/main/kotlin/net/corda/bridge/FirewallCmdLineOptions.kt +++ b/bridge/src/main/kotlin/net/corda/bridge/FirewallCmdLineOptions.kt @@ -3,6 +3,7 @@ package net.corda.bridge import net.corda.bridge.services.api.FirewallConfiguration import net.corda.bridge.services.config.BridgeConfigHelper import net.corda.bridge.services.config.parseAsFirewallConfiguration +import net.corda.cliutils.CommonCliConstants.BASE_DIR import net.corda.core.internal.div import net.corda.core.internal.exists import net.corda.core.utilities.contextLogger @@ -32,7 +33,7 @@ class FirewallCmdLineOptions { } @Option( - names = ["-b", "--base-directory"], + names = ["-b", BASE_DIR], description = ["The firewall working directory where all the files are kept."] ) var baseDirectory: Path = Paths.get(".").toAbsolutePath().normalize() diff --git a/bridge/src/main/kotlin/net/corda/bridge/internal/FirewallStartup.kt b/bridge/src/main/kotlin/net/corda/bridge/internal/FirewallStartup.kt index 28c27979ad..3e74a9962b 100644 --- a/bridge/src/main/kotlin/net/corda/bridge/internal/FirewallStartup.kt +++ b/bridge/src/main/kotlin/net/corda/bridge/internal/FirewallStartup.kt @@ -22,7 +22,7 @@ class FirewallStartup: CordaCliWrapper("corda-firewall", "The Corda Firewall app companion object { // lazy init the logging, because the logging levels aren't configured until we have parsed some options. private val log by lazy { contextLogger() } - val LOGS_DIRECTORY_NAME = "logs" + const val LOGS_DIRECTORY_NAME = "logs" } @Mixin diff --git a/docs/source/ha-utilities.rst b/docs/source/ha-utilities.rst index fdae2552a3..656bf03873 100644 --- a/docs/source/ha-utilities.rst +++ b/docs/source/ha-utilities.rst @@ -86,7 +86,7 @@ Command-line options * ``-p``, ``--password=``: Default password for all generated keystore and private keys. Default: changeit * ``-o``, ``--organization=``: X500Name's organization attribute. Default: Corda * ``-l``, ``--locality=``: X500Name's locality attribute. Default: London -* ``-c``, ``--county=``: X500Name's country attribute. Default: GB +* ``-c``, ``--country=``: X500Name's country attribute. Default: GB * ``-b``, ``--base-directory=``: The node working directory where all the files are kept. * ``-h``, ``--help``: Show this help message and exit. * ``-V``, ``--version``: Print version information and exit. diff --git a/tools/cliutils/src/main/kotlin/net/corda/cliutils/CordaCliWrapper.kt b/tools/cliutils/src/main/kotlin/net/corda/cliutils/CordaCliWrapper.kt index c2c6586145..3d15a585f3 100644 --- a/tools/cliutils/src/main/kotlin/net/corda/cliutils/CordaCliWrapper.kt +++ b/tools/cliutils/src/main/kotlin/net/corda/cliutils/CordaCliWrapper.kt @@ -186,6 +186,13 @@ abstract class CordaCliWrapper(alias: String, description: String) : CliWrapperB fun printHelp() = cmd.usage(System.out) } +/** + * Useful commonly used constants applicable to many CLI tools + */ +object CommonCliConstants { + const val BASE_DIR = "--base-directory" +} + /** * Converter from String to slf4j logging Level. */ diff --git a/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/BridgeSSLKeyTool.kt b/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/BridgeSSLKeyTool.kt index b8e535f78d..e3c15fda4f 100644 --- a/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/BridgeSSLKeyTool.kt +++ b/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/BridgeSSLKeyTool.kt @@ -1,6 +1,7 @@ package com.r3.ha.utilities import net.corda.cliutils.CliWrapperBase +import net.corda.cliutils.CommonCliConstants.BASE_DIR import net.corda.cliutils.ExitCodes import net.corda.core.crypto.SecureHash import net.corda.core.internal.div @@ -16,7 +17,7 @@ class BridgeSSLKeyTool : CliWrapperBase("import-ssl-key", "Key copying tool for lateinit var nodeKeystore: Array @Option(names = ["--node-keystore-passwords"], arity = "1..*", paramLabel = "PASSWORDS", description = ["The password(s) of the node SSL keystore(s)"], required = true) lateinit var nodeKeystorePasswords: Array - @Option(names = ["-b", "--base-directory"], paramLabel = "FOLDER", description = ["The working directory where all the files are kept."]) + @Option(names = ["-b", BASE_DIR], paramLabel = "FOLDER", description = ["The working directory where all the files are kept."]) var baseDirectory: Path = Paths.get(".").toAbsolutePath().normalize() @Option(names = ["-k", "--bridge-keystore"], paramLabel = "FILES", description = ["The path to the bridge SSL keystore."]) private var _bridgeKeystore: Path? = null diff --git a/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/InternalKeystoreGenerator.kt b/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/InternalKeystoreGenerator.kt index 34b0c33018..09fc351993 100644 --- a/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/InternalKeystoreGenerator.kt +++ b/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/InternalKeystoreGenerator.kt @@ -1,6 +1,7 @@ package com.r3.ha.utilities import net.corda.cliutils.CliWrapperBase +import net.corda.cliutils.CommonCliConstants.BASE_DIR import net.corda.cliutils.ExitCodes import net.corda.core.crypto.Crypto import net.corda.core.internal.div @@ -19,7 +20,7 @@ class InternalKeystoreGenerator : CliWrapperBase("generate-internal-ssl-keystore private const val DEFAULT_PASSWORD = "changeit" } - @Option(names = ["-b", "--base-directory"], description = ["The node working directory where all the files are kept."]) + @Option(names = ["-b", BASE_DIR], description = ["The node working directory where all the files are kept."]) var baseDirectory: Path = Paths.get(".").toAbsolutePath().normalize() // TODO: options to generate keys for different HA deployment mode? @@ -31,7 +32,7 @@ class InternalKeystoreGenerator : CliWrapperBase("generate-internal-ssl-keystore var organizationUnit: String? = null @Option(names = ["-l", "--locality"], description = ["X500Name's locality attribute."], defaultValue = "London") lateinit var locality: String - @Option(names = ["-c", "--county"], description = ["X500Name's country attribute."], defaultValue = "GB") + @Option(names = ["-c", "--country"], description = ["X500Name's country attribute."], defaultValue = "GB") lateinit var country: String override fun runProgram(): Int { diff --git a/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/RegistrationTool.kt b/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/RegistrationTool.kt index ab0213ee11..9e58165d44 100644 --- a/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/RegistrationTool.kt +++ b/tools/ha-utilities/src/main/kotlin/com/r3/ha/utilities/RegistrationTool.kt @@ -1,6 +1,7 @@ package com.r3.ha.utilities import com.typesafe.config.ConfigValueFactory +import net.corda.cliutils.CommonCliConstants.BASE_DIR import net.corda.cliutils.CordaCliWrapper import net.corda.cliutils.CordaVersionProvider import net.corda.cliutils.ExitCodes @@ -26,7 +27,7 @@ class RegistrationTool : CordaCliWrapper("node-registration", "Corda registratio CordaVersionProvider.vendor) } - @Option(names = ["-b", "--base-directory"], paramLabel = "FOLDER", description = ["The node working directory where all the files are kept."]) + @Option(names = ["-b", BASE_DIR], paramLabel = "FOLDER", description = ["The node working directory where all the files are kept."]) var baseDirectory: Path = Paths.get(".").toAbsolutePath().normalize() @Option(names = ["--config-files", "-f"], arity = "1..*", paramLabel = "FILE", description = ["The path to the config file"], required = true) lateinit var configFiles: List diff --git a/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/InternalKeystoreGeneratorTest.kt b/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/InternalKeystoreGeneratorTest.kt index e5dc5ca1c1..a21a4a1ffd 100644 --- a/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/InternalKeystoreGeneratorTest.kt +++ b/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/InternalKeystoreGeneratorTest.kt @@ -1,5 +1,6 @@ package com.r3.ha.utilities +import net.corda.cliutils.CommonCliConstants.BASE_DIR import net.corda.core.internal.div import net.corda.core.internal.exists import net.corda.nodeapi.internal.crypto.X509KeyStore @@ -22,7 +23,7 @@ class InternalKeystoreGeneratorTest { @Test fun `generate keystores correctly`() { val workingDirectory = tempFolder.root.toPath() - CommandLine.populateCommand(generator, "--base-directory", workingDirectory.toString()) + CommandLine.populateCommand(generator, BASE_DIR, workingDirectory.toString()) Assertions.assertThat(generator.baseDirectory).isEqualTo(workingDirectory) generator.runProgram() diff --git a/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/RegistrationToolTest.kt b/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/RegistrationToolTest.kt index ada042724e..01333b1114 100644 --- a/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/RegistrationToolTest.kt +++ b/tools/ha-utilities/src/test/kotlin/com/r3/ha/utilities/RegistrationToolTest.kt @@ -1,5 +1,6 @@ package com.r3.ha.utilities +import net.corda.cliutils.CommonCliConstants.BASE_DIR import net.corda.core.internal.copyTo import net.corda.core.internal.div import net.corda.core.internal.exists @@ -37,7 +38,7 @@ class RegistrationToolTest { RegistrationServer(NetworkHostAndPort("localhost", 10000)).use { it.start() - CommandLine.populateCommand(registrationTool, "--base-directory", workingDirectory.toString(), + CommandLine.populateCommand(registrationTool, BASE_DIR, workingDirectory.toString(), "--network-root-truststore", trustStorePath.toString(), "--network-root-truststore-password", "password", "--config-files", (workingDirectory / "nodeA.conf").toString(), (workingDirectory / "nodeB.conf").toString(), (workingDirectory / "nodeC.conf").toString())