在我们的环境中,我们最终会有多个工作区(runk加上多个分支)。
我们希望将分辨率缓存分开,但共享实际缓存。
到目前为止,这很简单,但它需要手动编码本地解析缓存名称的标识符(例如,在ivysettings.local.xml中),显然这是次优的,并且必须手动为每个设置branch(如果我们每个分支有多个工作区,则为工作区)。
我们想要做的是使用工作区名称(就像Eclipse提供了${workspace_name}
变量一样),但似乎并非如此。我在可用变量列表中找不到类似的内容,在调试器中运行常春藤时,我们看不到任何包含工作区名称的内容。
我已经看过这两个问题,但似乎都没有解决这个问题:
答案 0 :(得分: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中获取工作区名称将非常有用。
建议将受到高度赞赏。