在stage
任务期间,我希望sbt
从常春藤回购中抓取 newrelic jar并将其复制到文件夹中。理想情况下,jar的配置方式与依赖项相同,但不一定在libraryDependencies
Seq
本身内(因为它不是构建或运行时依赖项)。
答案 0 :(得分:2)
您可以声明新配置Stage
。您可以将libraryDependencies
设置为该配置中的所需值。稍后您的stage
任务可以读取更新报告并将文件复制到所需目录。
val stage = taskKey[Unit]("Stage task")
val Stage = config("stage")
val root = project.in(file(".")).configs(Stage).settings( inConfig(Stage)(Classpaths.ivyBaseSettings): _* )
libraryDependencies in Stage := Seq("com.newrelic.agent.java" % "newrelic-api" % "3.7.0")
stage := {
(update in Stage).value.allFiles.foreach { f =>
IO.copyFile(f, baseDirectory.value / f.getName)
}
}
您可以查看工作示例in my github repository