ファイルを解決したら、解決で見つかったすべての推移的な依存関係で構成されるivy.xml
新しいファイルを作成したいと思います。これを行うことは可能ですか?resolved-ivy.xml
ivy.xml
これは、推移的な依存関係ではなく、あなたからの直接の依存関係のみを書き出す配信とは異なります。deliver
Antタスクには属性delivertarget
があり、これはドキュメントでこれを行う必要があるように見えます。実際には、同じ組織内のモジュールに対してのみ機能し(通常、すべての依存関係に対してではありません)、モジュールごとにファイルを生成します。
ivy-report
また、解決中に生成されるXMLファイルとも異なりますが、大きな違いはありません。私が試していることが不可能な場合は、このファイルを直接ハックするだけだと思います。
ここでのコンテキストは、リポジトリへの変更(新しいライブラリ、バージョン)がある場合を含め、再現性のある再現可能なビルドを有効にしようとしています。これを行おうとするインターウェブの周りに投稿がありますが、私が見つけたものはどれもそれを正しく行うことができません。
- Ivyリポジトリに追加すると、解決結果が変わる可能性があります。特に、リポジトリ内の任意の場所(プロジェクトだけでなく)に範囲の依存関係がある場合はそうです。例:
A
依存しB;[2.0,4.0]
、B;3.1
後でリポジトリに追加されます。 - アイデアは、通常どおりに解決し、解決をフラット化されたIvyファイルとして記述し、そのタグ(またはその他)のプロジェクトのVCSに保存してから、。を使用してそのファイルに対して解決することです
transitive="false"
。リポジトリ内の既存のアイテムが変更されないと仮定すると、これにより繰り返し可能なビルドが可能になります。 - 誰かがこれを行うためのより良いアイデアを持っているなら、私はすべての耳です。現時点では、を利用できる
ResolveEngine
ようにするためにいくつかの組み合わせをハックしてからResolveReport
、それを使用するためのカスタムを追加する必要があると予想してDeliverEngine
います。