From a4c072d5afd56cbc1d8292c865e9f8331d6e6f0f Mon Sep 17 00:00:00 2001 From: Chick Markley Date: Tue, 19 Sep 2017 09:36:56 -0700 Subject: 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--- src/main/scala/firrtl/ExecutionOptionsManager.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main') 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]("...").unbounded().optional().action( (x, c) => + commonOptions = commonOptions.copy(programArgs = commonOptions.programArgs :+ x) ).text("optional unbounded args") + } /** Firrtl output configuration specified by [[FirrtlExecutionOptions]] -- cgit v1.2.3