在我们的环境中,我们最终会拥有多个工作区(主干加上多个分支)。
我们希望分离我们的分辨率缓存,但共享实际的缓存。
到目前为止,这很容易,但它需要手动编码本地解析缓存名称的标识符(例如,在 ivysettings.local.xml 中),显然这不是最理想的,并且必须为每个分支(如果每个分支有多个工作区,则为工作区)。
我们想要做的是使用工作区名称(就好像 Eclipse 提供了一个 ${workspace_name}
变量),但情况似乎并非如此。我在可用变量列表中没有找到类似的内容,并且在调试器中运行 ivy 时我们没有看到任何保存工作区名称的内容。
我已经研究了这两个问题,但似乎都没有解决这个问题:
最佳答案
事实证明这比我们想象的要容易,但我认为这可能对其他人有帮助。我们使用相对路径,而不是通过名称告诉 ivy 解析缓存名称是什么。来 self 们的 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 中获取工作空间名称将非常有帮助。
我们将非常感谢您的建议。
关于eclipse - 共享ivy缓存但在eclipse中单独的分辨率缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12305618/