aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorChick Markley2017-09-19 09:36:56 -0700
committerGitHub2017-09-19 09:36:56 -0700
commita4c072d5afd56cbc1d8292c865e9f8331d6e6f0f (patch)
treef2cf57a46b7e5dcddf2636f06e7073499b04c053 /src/main
parentc5627f355767d4c4f5232fee81a61b7e8510672f (diff)
Create way of collecting program arguments in Driver (#659)
Adds programArgs to commonOptions programArgs is all arguments on command line with out leading -/+ or are not bound to a flag. Create simple test
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/firrtl/ExecutionOptionsManager.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/ExecutionOptionsManager.scala b/src/main/scala/firrtl/ExecutionOptionsManager.scala
index e0bd1975..4ffc7915 100644
--- a/src/main/scala/firrtl/ExecutionOptionsManager.scala
+++ b/src/main/scala/firrtl/ExecutionOptionsManager.scala
@@ -34,7 +34,9 @@ case class CommonOptions(
globalLogLevel: LogLevel.Value = LogLevel.None,
logToFile: Boolean = false,
logClassNames: Boolean = false,
- classLogLevels: Map[String, LogLevel.Value] = Map.empty) extends ComposableOptions {
+ classLogLevels: Map[String, LogLevel.Value] = Map.empty,
+ programArgs: Seq[String] = Seq.empty
+) extends ComposableOptions {
def getLogFileName(optionsManager: ExecutionOptionsManager): String = {
if(topName.isEmpty) {
@@ -126,6 +128,10 @@ trait HasCommonOptions {
.text(s"shows class names and log level in logging output, useful for target --class-log-level")
parser.help("help").text("prints this usage text")
+
+ parser.arg[String]("<arg>...").unbounded().optional().action( (x, c) =>
+ commonOptions = commonOptions.copy(programArgs = commonOptions.programArgs :+ x) ).text("optional unbounded args")
+
}
/** Firrtl output configuration specified by [[FirrtlExecutionOptions]]