如何在自定义任务之前对 sbt-assembly 进行排序
How to sequence sbt-assembly before custom task
我想在我的项目 build.sbt
文件中定义一个自定义任务。来自 sbt-assembly 插件的 assembly
任务 returns 每个组装 jar 的文件名。自定义任务应等到 assembly
任务完成并使用文件名列表执行 shell 脚本。
这是我要实现的目标的想法
lazy val listOfFiles = taskKey[Unit]("Run script passing jar file names as parameters.")
listOfFiles := {
val files = List[File]()
files :+ assembly
// run script passing file names as parameters
}
我试过使用Def.sequential
,但我认为它不适合我的自定义任务的要求。非常感谢任何有关如何创建这样的自定义任务的帮助!
在花了几个小时研究 sbt 和在线搜索文档后,我发现我对问题的思考方式有点不正确。
我想到的解决方案是这样定义任务:
lazy val listOfFiles = taskKey[Unit]("Run script passing jar file names as parameters.")
listOfFiles := {
val files = assembly.all(ScopeFilter(inProjects(project1, project2, project3))).value
files.map(x => println("jar file: " + x))
// run script passing file names as parameters
}
上面的listOfFiles
任务将运行project1、project2、project3和return一系列文件名范围内的组装任务。这正是我想要达到的目标。希望这对某人有帮助。
我想在我的项目 build.sbt
文件中定义一个自定义任务。来自 sbt-assembly 插件的 assembly
任务 returns 每个组装 jar 的文件名。自定义任务应等到 assembly
任务完成并使用文件名列表执行 shell 脚本。
这是我要实现的目标的想法
lazy val listOfFiles = taskKey[Unit]("Run script passing jar file names as parameters.")
listOfFiles := {
val files = List[File]()
files :+ assembly
// run script passing file names as parameters
}
我试过使用Def.sequential
,但我认为它不适合我的自定义任务的要求。非常感谢任何有关如何创建这样的自定义任务的帮助!
在花了几个小时研究 sbt 和在线搜索文档后,我发现我对问题的思考方式有点不正确。
我想到的解决方案是这样定义任务:
lazy val listOfFiles = taskKey[Unit]("Run script passing jar file names as parameters.")
listOfFiles := {
val files = assembly.all(ScopeFilter(inProjects(project1, project2, project3))).value
files.map(x => println("jar file: " + x))
// run script passing file names as parameters
}
上面的listOfFiles
任务将运行project1、project2、project3和return一系列文件名范围内的组装任务。这正是我想要达到的目标。希望这对某人有帮助。