9

私が取り組んでいる Scala プロジェクトのために、maven から sbt に切り替えています。以前は、ワークスペース内の任意のディレクトリをアセンブリ内のターゲット ディレクトリにマップできる maven アセンブリ プラグインを使用していました。sbt-native-package に同等のものは見つかりませんでした。この機能をユニバースの種類に提供する価値があります。

ユニバーサル サブディレクトリに存在するすべてのものがそのままパッケージにコピーされ、魅力的に機能することを理解しましたが、次のスニペットのようなものが欠けています。

mappings in Universal += {
  directory("my/local/dir") -> "static/dirInPackage"
}

すでにそれを行う方法があるかどうか知りたいです。そのような場合は、その方法を喜んでお知らせします。必要に応じて、その部分のドキュメントをコミットするための支援を提案します。この種のカスタマイズを行う方法がない場合は、仕様を検討した後、喜んでパッチを提案します。

ところで、すばらしい仕事です。あなたのパッケージャーは非常にうまく機能しています。ありがとう!

4

4 に答える 4

11

sbt-native-manager チームと議論し、最初の「拒否された」プル リクエストの後、build.sbt ファイルでこのディレクトリ マッピングを行う方法を次に示します (プル リクエストhttps://github.com/sbt/sbtを参照)。 -native-packager/pull/160モードの詳細なドキュメントを提供します):

mappings in Universal <++= (packageBin in Compile, target ) map { (_, target) =>
    val dir = target / "scala-2.10" / "api"
    (dir.***) pair relativeTo(dir.getParentFile)
} 

上記のスニペットの冗長性を減らすために、問題 ( https://github.com/sbt/sbt-native-packager/issues/161 ) があり、このディレクトリ マッピングを表現するためのより人間が読みやすい方法を提案しています。

mappings in Universal ++= allFilesRelativeTo(file(target / "scala-2.10" / "api"))
于 2014-02-10T12:57:09.240 に答える