ivy中文参考文档(4)-主要概念(下)
2009-09-22 00:00:00 来源:WEB开发网2.2) 制品变更
一些用户,尤其是从maven2过来的用户,喜欢使用一个特别的修订版本来处理经常变更的模块。在maven2中这个通常被称为SNAPSHOT(快照) 版本,并且有一种主张认为这样可以帮助节约空间,因为只需要为开发时可能创建的大量的中间产物保留一个修订版本。
ivy使用"changing revision"的概念来支持这种方法。changing revision就是这样:一个ivy认为随着时间推移始终可能变更的修订版本.为了处理这个,可以通过使用以来标签明确指定一个依赖为可以变更,或者在解析器上使用changingPattern 和changingMatcher 属性来知名那个修订版本或者修订版本组可以被认为是变更的。
一旦ivy知道一个修订版本是变更的,它将遵循这样的原则来避免过于频繁的检查仓库:如果模块的元数据没有修改,它将认为整个模块(包括制品)没有修改。即使如果模块描述符文件已经修改,它将检查模块的发行数据来看这个是不是同一个修订版本的一个新的发行。然后如果发行数据被修改了,它将检查制品的最后修改时间戳,并相应的下载它们。
因此如果你想使用变更修订版本,使用发布任务来发布你的模块,请小心更新发布数据,然后一切都会工作的很好。并且记住也要将你的解析器设置checkModified=true"。
十三. 路径处理
作为一个依赖管理器,ivy有一系列的文件相关操作,大部分使用路径或者路径模式来在文件系统上定位文件。
这些路径可以明确是的相对路径或者绝对路径。我们推荐经常使用绝对路径,这样你不必担心你的相对路径的基准路径是什么。ivy提供一些变量,可以被用来作为你的绝对路径的基准路径。例如,ivy有基准路径的概念,这个基本和ant一致。你可以使用变量ivy.basedir来访问这个基准目录。因此如果你有类似这样的路径:
${ivy.basedir}/ivy.xml
你就得到了一个绝对路径。在设置文件中,你同样有一个名为ivy.settings.dir的变量指向你的设置文件所在的目录,这使得定义和这个目录相关的路径变得非常容易。
如果你真的想使用相对路径,被用于实际定位文件的基准路径取决于相对路径在哪里被定义:
* 在ivy文件中,路径是相对于ivy文件自身(在ivy文件中唯一可能的路径是用于配置包含申明)。
* 在设置文件中,用于文件包含的路径(也就是属性文件装载和设置文件包含)是相对于设置文件所在的目录。所有其他路径除非明确记录否则必须是绝对路径。
* 在ivy的ant任务和ivy参数或选项中,路径是相对于ivy基准路径的,当在ant中调用时这个路径就是ant的basedir路径一致。
更多精彩
赞助商链接