Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sbt 如何找到zip依赖路径?_Sbt_Sbt Native Packager - Fatal编程技术网

Sbt 如何找到zip依赖路径?

Sbt 如何找到zip依赖路径?,sbt,sbt-native-packager,Sbt,Sbt Native Packager,在我的SBT构建中,我获取了一个zip依赖项(以前使用SBT native packager插件构建),该依赖项使用bundle分类器发布在我的本地Ivy repo中 但是我需要Ivy repo中的依赖路径,以便解压缩它(使用IO.unzip),在其中放入一些文件,并使用sbt native packager重新打包 我正在使用工件(…)方法查找工件并将其添加为依赖项: "foo" % "bar" % "1.0-SNAPSHOT" artifacts(Artifact("bar-bundle",

在我的SBT构建中,我获取了一个zip依赖项(以前使用SBT native packager插件构建),该依赖项使用
bundle
分类器发布在我的本地Ivy repo中

但是我需要Ivy repo中的依赖路径,以便解压缩它(使用
IO.unzip
),在其中放入一些文件,并使用sbt native packager重新打包

我正在使用
工件(…)
方法查找工件并将其添加为依赖项:

"foo" % "bar" % "1.0-SNAPSHOT" artifacts(Artifact("bar-bundle", "zip", "zip", "bundle"))
但在那之后,我有点迷路了

我试图过滤掉
dependencyClasspath
以找到它:

val bundleFile = taskKey[File]("bundle's path")

val settings = Seq(bundleFile <<= dependencyClasspath map { _ filter (_.endsWith(".zip"))})
val bundleFile=taskKey[File](“bundle的路径”)

val settings=Seq(默认情况下,bundleFileZip文件不在类路径上。包含的工件类型由
classpathTypes
配置。您可以使用以下方法向其添加“Zip”:

classpathTypes += "zip"
然后它将出现在
dependencyClasspath

但是,如果它实际上不应该在类路径上运行,那么您可以直接将其从更新报告中取出

bundleFile := {
   val report: UpdateReport = update.value
   val filter = artifactFilter(name = "bar-bundle", extension = "zip")
   val all: Seq[File] = report.matching(filter)
   all.headOption getOrElse error("Could not find bar-bundle")
}
有关详细信息,请参阅上的文档