5

圧縮されていない jar ファイルを作成して、いくつかのクラスのみが変更されたときに rsync を高速化することに興味がありますが、これまでのところ、sbtassemblyに圧縮を無効にするように指示する方法がわかりません。

server > inspect assembly
[info] Task: java.io.File
[info] Description:
[info]  Builds a single-file deployable jar.
[info] Provided by:
[info]  {file:/.../}server/*:assembly
[info] Dependencies:
[info]  server/*:assembly-merge-strategy(for assembly)
[info]  server/*:assembly-output-path(for assembly)
[info]  server/*:package-options(for assembly)
[info]  server/*:assembly-assembled-mappings(for assembly)
[info]  server/*:cache-directory
[info]  server/*:test(for assembly)
[info]  server/*:streams(for assembly)
[info] Delegates:
[info]  server/*:assembly
[info]  {.}/*:assembly
[info]  */*:assembly

...

server > inspect assembly-option(for assembly)
[info] Setting: sbtassembly.AssemblyOption = AssemblyOption(true,true,true,<function1>)
[info] Description:
[info]  
[info] Provided by:
[info]  {file:/.../}server/*:assembly-option(for assembly)
[info] Dependencies:
[info]  server/*:assembly-assemble-artifact(for package-bin)
[info]  server/*:assembly-assemble-artifact(for assembly-package-scala)
[info]  server/*:assembly-assemble-artifact(for assembly-package-dependency)
[info]  server/*:assembly-excluded-files(for assembly)
...

ただし、 AssemblyOptionはパッケージングについては何も言っておらず、プラグインはそのために sbt 独自のPackageを使用しているように見えるので、それを構成する方法があるのではないでしょか? 次に、パッケージはIO.jar(...)を呼び出してファイルを書き込みます。それはwithZipOutputを使用して ZipOutputStream (または JarOutputStream) を作成します。その上でsetMethod(ZipOutputStream.STORED)を呼び出したいのですが、できません。

sbt 機能のリクエスト以外のアイデアはありますか?

4

1 に答える 1