diff options
| author | Schuyler Eldridge | 2018-11-07 17:42:31 -0500 |
|---|---|---|
| committer | Schuyler Eldridge | 2019-04-22 20:29:54 -0400 |
| commit | d0a7205d9e9ba02fb234eb70371012443deb242c (patch) | |
| tree | 71883721a1f0b7ceba2a059a0c463a6597823eaa /src | |
| parent | 99ae1d6649f1731c5dec2098b10733735232b72c (diff) | |
Improve registered library help text
This changes the base Shell to print information about all registered
libraries/transforms. This addresses an @azidar comment about difficulty
debugging whether registration worked.
This also changes the "FIRRTL Transform Options" help text for registered
transforms to only print if registered transforms exist.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/options/Shell.scala | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/scala/firrtl/options/Shell.scala b/src/main/scala/firrtl/options/Shell.scala index 4fb89450..9f0cb8bd 100644 --- a/src/main/scala/firrtl/options/Shell.scala +++ b/src/main/scala/firrtl/options/Shell.scala @@ -38,7 +38,7 @@ class Shell(val applicationName: String) { lazy val registeredTransforms: Seq[RegisteredTransform] = { val transforms = scala.collection.mutable.ArrayBuffer[RegisteredTransform]() val iter = ServiceLoader.load(classOf[RegisteredTransform]).iterator() - parser.note("FIRRTL Transform Options") + if (iter.hasNext) { parser.note("FIRRTL Transform Options") } while (iter.hasNext) { val tx = iter.next() transforms += tx @@ -53,8 +53,12 @@ class Shell(val applicationName: String) { * line options via methods of [[Shell.parser]] */ def parse(args: Array[String], initAnnos: AnnotationSeq = Seq.empty): AnnotationSeq = { - registeredTransforms - registeredLibraries + val rtString = registeredTransforms.map(r => s"\n - ${r.getClass.getName}").mkString + val rlString = registeredLibraries.map(l => s"\n - ${l.getClass.getName}").mkString + parser.note(s"""| + |The following FIRRTL transforms registered command line options:$rtString + |The following libraries registered command line options:$rlString""".stripMargin) + parser .parse(args, initAnnos) .getOrElse(throw new OptionsException("Failed to parse command line options", new IllegalArgumentException)) |
