ivy中文参考文档(1)-目录
欢迎使用ivy参考文档,如果你完全不了解ivy,请在深入阅读这份参考文档之前,简单了解一下它的特性,FAQ和教程。 参考概要: 这份文档被分解为以下几个部分 一. 介绍 1. 术语 (English / 中文 ) 这个部分介绍一些在ivy文档中到处使用的词语,例如组织,模块,配置,设置 2. 主要概念 (English / 中文 上 /下 ) 这个部分介绍ivy中使用的主要概念:依赖解析器,变量, ...
ivy中文参考文档(4)-主要概念(下)
六. 冲突管理器 冲突管理器可以在冲突的模块修订本列表中选择需要保留的修订本。 如果修订本对应相同的模块,举例说相同的组织/模块名对,那么称为冲突的修订本列表。 可用的冲突管理器列表在可以冲突管理器页面可以得到。 想得到更多如果配置冲突管理器的细节,请看ivy文件参考的冲突章节。 七. Pattern matcher 模式匹配 从1.3之后在很多地方ivy使用模式来匹配一系列对象。例如,当通过使用 ...
ivy中文参考文档(7)-最佳实践(下)
5) 处理集成版本 当工作在一个团队中或者多个模块时,你需要依赖中间的没有完成的模块版本。这些版本我们称之为集成版本,因为他们主要的目标就是和其他模块集成来构成或者测试一个运用或者框架。 如果你在模块开发过程中欧那个遵循持续集成的规范,这些集成版本可以被持续集成服务器非常频繁的产生。 因此,如何处理这些可能数量繁多的集成版本呢? 主要有两种方法可以处理它们,ivy目前都支持: 1. 使用命名约定如一 ...
ivy中文参考文档(10)-ivy文件
1) ivy文件 ivy的使用完全是基于以"ivy文件"著称的模块描述符。ivy文件是xml文件,通常被称为ivy.xml,包含模块依赖的描述,它发布的制品和它的配置。 这里有一个最简单的ivy文件: < ivy-module version ="2.0" > < info organisation ="myorg&qu ...
ivy中文参考文档(13)-ant任务(1)-buildlist
buildlist任务用于获取按照ivy依赖信息从小到大排序的文件(通常是build.xml文件) 列表,或者相反(从1.2之后) 这个任务在结合subant构建相关项目集合时特别有效, 可以确保依赖在其他依赖它的模块之前被构建。 当你要排序的模块的ivy.xml不包含修订版本号,在依赖上定义的rev属性将不被使用。 当你要排序的模块的ivy.xml包含修订版本号,修订版本号将被使用。如果修订版 ...
ivy中文参考文档(16)-ant任务(4)-configure
1) configure configure任务用于通过xml设置文件来配置ivy。 查阅设置文件来获取设置文件自身的细节。 从2.0起 可以通过sttings声明来配置ivy。和这个任务的不同之处在于当使用settings声明时,ivy的配置在settings第一次需要时(例如当你做一次resolve)完成,而configure任务立即执行一次配置,这样如果有某些错误发生可以容易看到。 2) 属性 ...
ivy中文参考文档(20)-ant任务(8)-cachefileset
1) cachefileset 为配置构建一个有ivy缓存中的制品组成的ant fileset 从1.2版本起)。 这是一个后解析任务,有所有后解析任务共有的所有行为和属性。注意这个任务不依赖retrieve,因为构建的fileset是由ivy缓存中的制品直接构成的。 请尽量采用retrieve + 标准ant 路径创造,这使得你的构建不那么依赖ivy(一旦制品被正确的获得,ivy不再需要)。 构建 ...
ivy中文参考文档(2)-术语
在ivy中使用了很多术语,他们的定义如下: * Organisation / 组织 * Module / 模块 * Module Descriptor / 模块描述符 * Artifact / 制品 * Type of an artifact / 制品类型 * Artifact file name extension / 制品文件扩展名 * Module Revision / 模块修订本 * Br ...
ivy中文参考文档(5)-ivy如何工作
前面已经介绍了ivy主要的术语和概念,现在是时候说明ivy如何工作的了。 不同位置下模块的通常周期 更多细节请查考ant任务。 一. 配置 ivy需要配置以便能够解析依赖。这个配置通常是通过配置文件来完成的,配置文件定义了一系列的依赖解析器。每个解析器能够发现ivy文件和/或制品,提供简单信息诸如组织,模块,修订版本,制品名字,制品类型和制品扩展名。 配置通常负责支出哪个解析器应该用于解析哪 ...
ivy中文参考文档(8)-安装
安装ivy主要有两种方式,手工安装或者自动安装。 1) 手工安装 从这里 下载你想要的版本,在任何你想的地方解开下载的zip文件,并复制ivy的jar文件到你的ant的lib目录(ANT_HOME/lib). 如果你使用ant 1.6.0或者更高,你可以简单的到src/example/hello-ivy 目录并运行ant: 如果构建成功,你就成功的安装了ivy! 如果你使用ant1.5.1或者更高, ...
ivy中文参考文档(11)-ant任务
1) ant任务 使用ivy的主要和最频繁的方式是在ant构建文件中。不过,ivy也可以作为独立的应用被调用。 如果你使用ant版本1.6.0 或更高,你仅仅需要添加ivy的命名空间到你的项目中(你的project标签的属性) xmlns:ivy="antlib:org.apache.ivy.ant" 这样你就可以调用ivy任务了。 如果你想让你的构建处理ivy.jar, ...
ivy中文参考文档(14)-ant任务(2)-resolve
1) 解析 解析任务实际解析在ivy文件中描述的依赖,并将解析后的依赖放置到ivy缓存中。 如果在resolve任务前没有调用configure任务,则将使用默认的configuration (等同于不带参数的调用configure). 在这个任务调用之后,在ant中有四个属性被设置: ivy.organisation 设置为在用于解析的ivy文件中找到的组织名 ivy.module 设置为在用于 ...
ivy中文参考文档(17)-ant任务(5)-publish
1) publish 发行当前模块的制品和已解析的描述符(已交付的ivy文件)。 这个任务的目的是发行当前模块描述符和它的声明的发行制品到仓库中。 所有制品必须在这个任务调用前创建。它不会自己创建制品,而是只期望能在制品正则表达式之处的地方找到他们。 目标仓库通过在当前ivy设置中声明的解析器的名字来给出。查阅设置文件来获取解析器支持制品发行的细节。 同时也发行已交付的ivy文件(除非你不想),并且 ...
ivy中文参考文档(19)-ant任务(7)-cachepath
1) cachepath 为解析过的模块配置构建一个由在ivy 缓存(或者取决于useOrigin 设置的原始位置)中的制品组成的ant path. 这是一个后解析任务,有所有后解析任务共有的所有行为和属性。 如果你想让你的构建更少的依赖ivy,你可以考虑使用retrieve 任务。一旦制品被正确的获得,你可以使用标准ant path,这使得ivy不再必不可少。 构建path在ant中通过使用给定的 ...
ivy中文参考文档(3)-主要概念(上)
一. 依赖解析器 依赖解析器是ivy中使用的可插入是的类: * 发现ivy文件中的依赖 * 下载依赖的制品 制品下载的概念很大:制品可以在网站上,或者在你机器上的本地文件系统上。下载是从仓库取文件放到ivy缓存的行为。 而且,解析器的职责是找到ivy文件并下载制品,这有助于实现不同的解析策略。 如你所见,依赖解析器可以被认为是负责描述仓库的类。 如果你想知道在ivy中有哪些解析器可用,你可以转到对 ...
ivy中文参考文档(6)-最佳实践(上)
这里有一些我们从我们的经验和一些客户的顾问工作中收集到的建议和最佳实践。 1) 为所有的模块添加模块描述符 在ivy的世界种,模块描述符是ivy文件的一种,基本上是简单的xml文件,用来描述模块生产什么作为制品和它的依赖。 为你的开发涉及到的所有模块编写或者下载模块描述符是一个好习惯,甚至是为你的第三方依赖,哪怕他们不提供他们自己的模块描述符。 开始这将看上去像是一个额外的工作,并且需要时间。但是当 ...
ivy中文参考文档(9)-设置文件
1) 设置文件 为了如您所想的工作,ivy有时需要一些设置。实际上,ivy可以在完全没有任何特殊设置的情况下工作,查阅默认设置文档 来获取相关的更详尽的信息。但是ivy有能力在完全不同的上下文下工作。你只需要正确的配置它。 设置通过xml文件来指定,通常命名为called ivysettings.xml。为了在ant中配置ivy,你只需要用你的设置文件的路径来使用配置数据类型。 这里有一个设置文件 ...
ivy中文参考文档(12)-单独使用
1) 单独使用 ivy可以非常容易的作为一个单独的程序使用。你所需要的只是一个java1.4+的运行环境(JRE)! 这是如何调用它的例子: java - jar ivy.jar -? 它将实现类似这样的在线帮助: ==== settings options -settings < settingsfile > use given file for settings - ...
ivy中文参考文档(15)-ant任务(3)-retrieve
1) retrieve retrieve任务复制解析好的依赖到你的文件系统的任何位置。 这是一个post resolve任务,带有所有post resolve任务共有的所有的行为和属性。 从1.4起 这个任务甚至可以根据依赖解析的结果用实际应该存在的东西来同步目标目录。这意味着如果设置sync为"true",ivy不仅将复制必要的文件,而且它还会删除那些不再需要在那里的文件。 同 ...
ivy中文参考文档(18)-ant任务(6)-deliver
1) deliver 交付当前模块的解析好的描述符,而且可能执行依赖的递归交付。 这个任务主要做两个事情: 1. 生成一个解析好的ivy 文件 这个任务生成一个当前模块的解析好的描述符,基于最后一次解析。解析好的ivy文件包含交付的模块的已更新信息,例如修订版本和状态。 此外,所有被包含的配置的文件将包含在ivy文件中,而且变量被他们的值替代。 最终,在解析好的ivy文件中,动态修订版本被在解析过 ...
ivy中文参考文档(21)-ant任务(9)-post resolve tasks
1) post resolve tasks 在ivy中有几个任务被认为是后解析任务(post resolve task),并相应地共享公用行为和设置。 这些任务是: * retrieve * cachefileset * cachepath * artifactproperty (since 2.0) * artifactreport (since 2.0) 所有这些任务都将自动触发resolve ...