2

Fedora パッケージング ガイドラインを満たす sbt 0.12.3 用の RPM パッケージをビルドすることに興味があります。これを行うには、ソースからビルドされ、RPM パッケージ経由でインストールされたライブラリに対して sbt 自体をビルドできる必要があります。

Ivy を使用する Fedora の Java パッケージは、ネットワーク リゾルバーを無効にしてすべてのパッケージを解決することにより、RPM でインストールされたアーティファクトを解決できます。例については、こちら/usr/share/java/[artifact].[ext]を参照してください。

ブート プロパティファイルを使用して sbt のデフォルト リゾルバをオーバーライドする方法は理解できたと思いますが、ここで問題が発生します。Ivy ディレクトリを に設定すると/usr/share/java、sbt はこのディレクトリにアーティファクトを公開できることを期待しますそこに既存のアーティファクトを探すため)、私はそれをしたくありません (一般的にも、RPM 構築のこの特定のケースでも)。プロキシの場所として指定するfile:///usr/share/javaと (以下の Mark の指示に従って)、sbt は失敗します (ivy.xmlその場所に が存在しないことを理由に)。

project/p.sbt明示的な URL (例: ) を指すように変更することで、ローカルにインストールされた依存関係を見つけることができます"org.jsoup" % "jsoup" % "1.7.1" from "file:///usr/share/java/jsoup.jar"が、これは scala と scala ライブラリでは機能しません (明らかに一般的に正しいことではありません)。

ローカルにインストールされ、RPM で管理されているシステムの Scala とライブラリに対して (そしてそれに対してのみ) sbt をビルドするにはどうすればよいですか?

4

0 に答える 0