0
Как я могу изменить вывод окончательного упакованного почтового индекса, чтобы переместить содержимое каталога «lib» на один уровень. В основном я выходной почтовый и содержимое примерно так:sbt изменить каталог вывода lib при использовании sbt-native-packager
ZIP FILE CONTENT:
-- my-plugin-1.0.jar
-- /lib
-- /lib/mydependency1.jar
-- /lib/mydependency2.jar
ZIP FILE CONTENT I WISH TO HAVE:
-- my-plugin-1.0.jar
-- mydependency1.jar
-- mydependency2.jar
Я хочу, чтобы переместить все в «Lib» на один уровень вверх к корню.
SBT версия 0.13.0
Вот мой build.sbt:
import NativePackagerHelper._
organization := "com.company.product"
name := "my-plugin"
version := "1.0"
enablePlugins(UniversalPlugin)
packageName in Universal:= "deployment"
publishArtifact in (Compile, packageDoc) := false
artifactName := {
(sv: ScalaVersion, module: ModuleID, artifact: Artifact) =>
artifact.name + "-" + module.revision + "." + artifact.extension
}
javacOptions ++= Seq("-source", "1.8")
mappings in Universal <+= packageBin in Compile map { jar => jar -> (jar.getName()) }
topLevelDirectory := None
plugins.sbt
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0")
командной строки:
sbt universal:packageBin
Привет, спасибо за ответ, мой вопрос был сформулирован плохо, хотя. Я обновил вопрос, чтобы отразить реальную проблему. –
Чтобы решить мою «настоящую» проблему, мне пришлось это сделать: сопоставления в Universal ++ = contentOf (unmanagedBase.value), поэтому ваш ответ правильный. Теперь мне просто нужно выяснить, как удалить каталог «lib» в zip. Спасибо! –
Объект 'mappings' - это просто' Seq [(File, String)] '. Просто отфильтруйте строки, которые вы не хотите, с помощью сопоставлений в Universal: = (сопоставления в Universal) .filterNot {case (src, dest) => dest startsWith "lib /"} ' – Muki