From 7ec41fba4380dec71b75cdbc2bb1db48f05e88ab Mon Sep 17 00:00:00 2001 From: Thomas Schroeter Date: Tue, 14 Aug 2018 12:13:22 +0100 Subject: [PATCH] Config file and base dir can be specified together (#3783) --- node/src/main/kotlin/net/corda/node/NodeArgsParser.kt | 7 +++---- node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt | 7 ------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt b/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt index c2d93f7879..eb6e35ad12 100644 --- a/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt +++ b/node/src/main/kotlin/net/corda/node/NodeArgsParser.kt @@ -61,11 +61,10 @@ class NodeArgsParser : AbstractArgsParser() { override fun doParse(optionSet: OptionSet): CmdLineOptions { require(optionSet.nonOptionArguments().isEmpty()) { "Unrecognized argument(s): ${optionSet.nonOptionArguments().joinToString(separator = ", ")}"} - require(!optionSet.has(baseDirectoryArg) || !optionSet.has(configFileArg)) { - "${baseDirectoryArg.options()[0]} and ${configFileArg.options()[0]} cannot be specified together" - } + val baseDirectory = optionSet.valueOf(baseDirectoryArg).normalize().toAbsolutePath() - val configFile = baseDirectory / optionSet.valueOf(configFileArg) + val configFilePath = Paths.get(optionSet.valueOf(configFileArg)) + val configFile = if (configFilePath.isAbsolute) configFilePath else baseDirectory / configFilePath.toString() val loggingLevel = optionSet.valueOf(loggerLevel) val logToConsole = optionSet.has(logToConsoleArg) val isRegistration = optionSet.has(isRegistrationArg) diff --git a/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt b/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt index c47c1e7aeb..bdd34d7bba 100644 --- a/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt +++ b/node/src/test/kotlin/net/corda/node/NodeArgsParserTest.kt @@ -80,13 +80,6 @@ class NodeArgsParserTest { assertThat(cmdLineOptions.configFile).isEqualTo(configFile) } - @Test - fun `both base-directory and config-file`() { - assertThatExceptionOfType(IllegalArgumentException::class.java).isThrownBy { - parser.parse("--base-directory", "base", "--config-file", "conf") - }.withMessageContaining("base-directory").withMessageContaining("config-file") - } - @Test fun `base-directory without argument`() { assertThatExceptionOfType(OptionException::class.java).isThrownBy {