Java プロジェクトでIvyの動的リビジョンを効果的に使用する方法を理解するのに問題があります。
現在、次のレイアウトがあります。
lib-a
revision: 1.0.0
status: release
dependencies: none
lib-b
revision: 2.0.0
status: release
dependencies: lib-a, rev 1.0.0
project-a
revision: 3.0.0
status: release
dependencies: lib-b, rev 2.0.0
project-b
revision: 4.0.0
status: release
dependencies: lib-b, rev 2.0.0
つまり、私は常にステータスを保持し、release
明示的なバージョン番号を使用しています。lib-a
開発中に変更する場合、たとえばlib-a
、これは非常に苦痛です。
変更を に保存lib-a
し、ivy ファイルのリビジョンを に更新し1.0.1
て小さな変更を加えます。次に、lib-a のリビジョン 1.0.1 を発表するために、lib-b の依存関係を更新する必要があります。これで、実行可能ファイルであり、実行する必要がある統合テストが含まれているlib-b
ためproject-a
、のリビジョンを更新できます。project-a
lib-b
2 番目の方法は、更新された依存関係を同じバージョンで再公開することです。これは通常、コマンドラインの ant で機能しますが、ivy-beansプラグインを使用した NetBeans では機能しません。彼らはまだアイビーファイルのキャッシュされたバージョンを使用しているlib-b.
ので、それを機能させるにはローカルキャッシュにクリーンアップする必要があります。
すべてのプロジェクトで、SVN リポジトリにある共通build-ivy.xml
の ant スクリプトを使用しています。各プロジェクトbuild.xml
のルートには、ほとんどの場合単にbuild-ivy.xml
. 必要なタスクが追加または上書きされることがあります。こことここで、ソリューションが動的リビジョンを使用している可能性があることを読みました。私が理解している限り、すべてのivyファイルのリビジョンをに設定し、すべてのivyファイルintegration-latest
のステータスをintegration
. その後、ivy は常に最新バージョンを自動的に解決します。しかし、モジュールのリビジョンを何に設定すればよいでしょうか? 完全に省略?リリース バージョンを作成するにはどうすればよいですか? すべてのアイビー ファイルを変更し、ステータスをrelease
release
または、可能であればステータスを上書きしてモジュールを公開する前に、配信タスクを実行しますか?