通过build.sbt将单个依赖jar复制到一个文件夹中

时间:2014-06-03 21:02:31

标签: scala jar build sbt newrelic

stage任务期间,我希望sbt常春藤回购中抓取 newrelic jar并将其复制到文件夹中。理想情况下,jar的配置方式与依赖项相同,但不一定在libraryDependencies Seq本身内(因为它不是构建或运行时依赖项)。

1 个答案:

答案 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