Как создать исходный код из Seq[Path] в файле mill build.sc?

В документации по мельнице говорится

Источники определяются с помощью T.sources {…}, принимая один или несколько os.Paths в качестве аргументов. Источник - это подкласс Target[Seq[PathRef]]

Так что это возможно в Mill v0.9.9

      def sourceRoots: Sources = T.sources { os.pwd / "src" }

и это

      def sourceRoots: Sources = T.sources ( os.pwd / "src", os.pwd / "foobar" ) 

но они не компилируются:

      def sourceRoots = T.sources { os.pwd / "src", os.pwd / "foobar" }
def sourceRoots = T.sources { Seq(os.pwd / "src", os.pwd / "foobar") }
def sourceRoots = T.sources { Seq(os.pwd / "src", os.pwd / "foobar") : _* }
def sourceRoots = T.sources ( Seq(os.pwd / "src", os.pwd / "foobar") )
def sourceRoots = T.sources ( Seq(os.pwd / "src", os.pwd / "foobar") : _* )

Возможно ли как-то создать def sourceRoots: Sources = T.sources ... из последовательности путей?

1 ответ

Для строительства есть две перегрузки. Один принимает os.Paths, другой принимает Seq[mill.api.PathRef].

Чтобы создать T.sources из Seq[os.Path], сделайте следующее:

      val paths = Seq(millSourcePath / "src", millSourcePath / "src-jvm")

def sourceRoots = T.sources { paths.map(p => PathRef(p)) }
Другие вопросы по тегам