Как создать исходный код из 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.Path
s, другой принимает
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)) }