1) ivy文件
ivy的使用完全是基于以"ivy文件"著称的模块描述符。ivy文件是xml文件,通常被称为ivy.xml,包含模块依赖的描述,它发布的制品和它的配置。
这里有一个最简单的ivy文件:
< info organisation ="myorg"
module ="mymodule"
/>
</ ivy-module >
如果你想知道一个使用几乎所有ivy文件可能设置的模块描述符的例子,看这里,带xslt
和不带xslt
.
在开始参考文档前,要求对在本参考文档的主页面
中定义的术语有所了解。
对于那些熟悉的xml schema,用来验证ivy文件的schema在这里
可以找到。对于那些使用xsd的ide,你可以通过在你的ivy文件中声明这些xsd以便从代码自动完成和验证中获益。
< ivy-module version ="2.0"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation =
"http://ant.apache.org/ivy/schemas/ivy.xsd" >
< info organisation ="myorg"
module ="mymodule"
/>
</ ivy-module >
2)动态或固定的ivy文件
模块描述符(ivy文件)在模块的每个修订版本发布前后都需要。根据这种情况,模块描述符可以使动态或者固定的:
1. 用于模块开发的动态描述符
在模块开发的时间中,在发布之间,描述符帮助管理模块的所有可能改变的依赖。处于这个目的,在开发时间ivy文件可以申明动态依赖来容许最大限度的使用灵活性。类似"latest.integration" 或 "1.0.+"的动态修订版本
是可能的并可以在不同时间解析为不同的制品。变量可以用于更多的灵活性。开发时间ivy文件之所以被称为"动态",因为随着时间的推移他们能产生不同的结果。动态ivy文件一般被当成源文件处理并和他们保持在一起(在SCM控制下)。
2. 用于发布的确定了的描述符
每次发布时,需要另一种模块描述符来记录模块特定发布修订版本的依赖。处于这个目的,描述符通常需要确定它的依赖不再改变。为了做到这点,被发布的模块修订版本获取固定的明确被解析的依赖。不再容许任何变量。这样发布友好的静态的ivy文件被称为"resolved",因为他们通常产生同样的结果。确定的ivy文件和发布的制品同样对比并在仓库中一起保存。
确定的ivy文件通过交付任务
从他们原始动态的ivy文件中产生。
注意虽然使用动态ivy来发布模块修订版本从技术上是可能的,但是这不是一个普遍推荐的做法。
3) 分层索引
ivy-module
info
license
ivyauthor
repository
description
configurations
conf
publications
artifact
conf
dependencies
dependency
conf
mapped
artifact
conf
include
conf
exclude
conf
exclude
override
conflict
conflicts
manager
4) ivy-module
标签:ivy-module
每个ivy文件的root标签(模块描述符).
属性
version | ivy文件规格的版本 - 当前版本应该是'2.0' | 必须 |
子元素
info | 包含被描述的模块的信息 |
1 |
configurations | 配置元素的容器 |
0..1 |
publications | 发布制品元素的容器 |
0..1 |
dependencies | 依赖元素的容器 | 0..1 |
conflicts | 配置使用的冲突管理器的章节 |
0..1 |