4

私たちの環境では、最終的に複数のワークスペース (ランクと複数のブランチ) になります。

解決キャッシュを分離したいが、実際のキャッシュは共有したい。

これまでのところ、これは簡単ですが、ローカル解決キャッシュ名 (ivysettings.local.xml など) の識別子を手作業でコーディングする必要があり、明らかにそれは最適ではなく、ブランチごとに手動で設定する必要があります (またはブランチごとに複数のワークスペースがある場合はワークスペース)。

私たちがやりたいことは、(Eclipse が${workspace_name}変数を提供しているかのように) ワークスペース名を利用することですが、そうではないようです。使用可能な変数のリストにそのようなものは見つかりません。また、デバッガーで ivy を実行すると、ワークスペース名を保持するものは何も表示されません。

これらの質問の両方を見てきましたが、どちらもこの問題に対処していないようです:

競合する Ivy リポジトリの管理 (Eclipse で)

Ivy's Cache の場所をオーバーライドするには?

4

1 に答える 1

4

私たちが思っていたよりも簡単であることが判明しましたが、他の誰かを助けるかもしれないと思います. レゾリューション キャッシュ名を名前で ivy に伝える代わりに、相対パスを使用しています。ivysettings.local.xml (各ワークスペースのプロジェクトに含まれています) からのこれは、私が何を意味するかを示しています。

これを組み合わせる:

<property name="ivy.local.resolution.cache" 
    value="${ivy.settings.dir}/../../.ivy/resolution-cache"/>

これとともに:

<caches default="local-cache" 
        defaultCacheDir="${ivy.local.cache}" 
        resolutionCacheDir="${ivy.local.resolution.cache}">
    <cache name="local-cache"/>
</caches>

共有ローカル キャッシュとワークスペースごとの解決キャッシュがあります。

しかし、それは別の課題を残します: まだchangingPattern正規表現を設定したいのです。そのためには、eclipse からワークスペース名を取得できると非常に便利です。

提案をいただければ幸いです。

于 2012-09-06T17:51:00.640 に答える