JPL-IMCE/imce.sbt.plugin

Investigate how to support Windows platform.

Opened this issue · 0 comments

All SBT-based projects in JPL-IMCE and in TIWG build on Unix environments (linux, mac).

Building on Windows environment is a problem because of Unix utilities executed as SBT external processes, in particular:

  • sed for retrieving the contributors to the project from GIT:
      "CONTRIBUTORS" -> {
        val commit = Process("git rev-parse HEAD").lines.head
        val p1 = Process(s"git shortlog -sne --no-merges $commit")
        val p2 = Process(
          Seq("sed",
            "-e",
            """s|^\s*\([0-9][0-9]*\)\s*\(\w.*\w\)\s*<\([a-zA-Z].*\)>.*$|<tr><td align='right'>\1</td><td>\2</td><td>\3</td></tr>|"""))
        val whoswho = p1 #| p2
        whoswho.lines.mkString("\n")
      },
  • Graphviz' dot for generating Scaladoc diagrams as well as for generating SBT dependency graphs

Ideally, replace these external processes with pure SBT equivalents or SBT plugin APIs that handle such details already.