1) post resolve tasks
在ivy中有几个任务被认为是后解析任务(post resolve task),并相应地共享公用行为和设置。
这些任务是:
* retrieve
* cachefileset
* cachepath
* artifactproperty (since 2.0)
* artifactreport (since 2.0)
所有这些任务都将自动触发resolve,如果:
* 在当前构建中没有任何一个keep属性设置为true的任务被调用
* 组合和模块没有设置
从ivy1.4版本起,有两种方法可以运行resolve :使用ivy文件,或者使用inline模式。当你使用ivy文件调用resolve时,默认会为后面的后解析任务保持被解析的数据。当你运行inline模式的resolve时,默认不保持数据。你可以通过设置keep属性为你想要的值来覆盖这个行为。
如果你想重用在另外一个构建(或者说不是当前这个)中通过调用resolve而得到的数据,则你不得不设置组织和模块属性。这个仅在从你的最后一次resolve调用后缓存没有被清理的情况下才能有效工作。在inline调用下这个不能工作,inline必须在同一个构建中完成。
2) 属性
下面列出的属性大部分只在resove自动触发时可用.
属性
描述
必要
conf |
用于retriev的逗号分隔的配置列表,或者是 “*”
从2.0起可以使用 '*(public)' or '*(private)'.注意当inline为true时 '*'做'*(public)'理解。 |
不。默认是最后一次resolve调用使用的设置,或者没有显示调用resolve时是'*' |
inline |
true使用inline模式,false解析ivy文件(从1.4版本起) |
不,默认是false |
organisation |
要获取的模块的组织。通常不需要设置,因为默认为最后解析的组织,除了inline模式需要之外。
|
在inline模式下是,其他不是,默认为最后解析的模块的组织。 |
module |
要获取的模块的名称。通常不需要设置,因为默认为最后解析的组织,除了inline模式需要之外。 |
在inline模式下是,其他不是,默认为最后解析的模块的名称。 |
revision |
要获取的模块的版本约束,仅在inline模式下使用。从1.4版本起。 |
不,默认为latest.integration |
branch |
在inline模式下要解析的模块的分支(从2.1版本起) |
在inline模式下默认没有分支,标准模式下无关。 |
transitive |
true递归解析依赖,false不递归,从1.4起
|
不,默认为true |
resolveMode |
当自动解析被触发时使用的
resolve mode
(从2.1起 )
|
不,默认为使用在设置中设置的resolve mode.
|
keep |
true
to keep the results of the automatic resolve in memory, false to
discard them. When this is false, the standard ivy properties won't be
set and other postresolve-tasks (like retrieve and cachepath) won't be
able to resuse the results of this resolve!
true在内存中保持自动解析的结果,false抛弃结果。当这个是false时,标准ivy属性不会被设置,而其他postresolve-tasks(如retrieve 和 cachepath)将不能重用这次解析的结果! |
不,inline模式默认是false,而其他情况默认为true
|
haltonfailure |
true当ivy失败时挂起构建,false继续
|
不,默认为true |
validate |
true强制使用ivy.xsd验证ivy文件,false强制不验证。
|
不,默认为ivy默认值(在设置中间中配置)
|
refresh |
true强制ivy在这次解析过程中解析动态版本,false使用缓存的解析好的版本。从2.1起
|
不,默认为false |
file |
要解析的文件,如果解析式必要的,从2.0起
|
不,默认为前面解析的ivy文件或者默认为${ivy.dep.file} |
settingsRef |
A reference to the ivy settings that must be used by this task (since 2.0)
必须被这个任务使用的ivy设置的引用。(从2.0起)
|
不,默认使用'ivy.instance' |
resolveId |
The id which was used for a previous resolve, or the resolveId if a new resolve is performed (since 2.0)
之前解析使用过的id,或者
resolveId如果一个新的解析被执行(从2.0起) |
不,默认为'[org]-[module]'. |
log |
在解析过程中使用的日志设置(从2.0起)
可用选项是:
- default
默认日志设置,所以通常的消息都被输出到控制台
- download-only
除下载消息外其他所以通常消息都失效。所有东西都在缓存的解析将不输入任何消息。
- quiet
所有消息失效,除非发生错误,否则整个解析过程保持安静。
|
不,默认为 'default'. |
3) 示例
<
ivy:cachepath
organisation
="emma"
module
="emma"
revision
="2.0.4217"
inline
="true"
conf
="ant"
pathid
="emma.classpath"
/>
<
taskdef
resource
="emma_ant.properties"
classpathref
="emma.classpath"
/>
解析版本为2.0.4217的emma 模块,用对应的制品构造一个ant路径,然后使用这个路径定义emma任务。
分享到:
相关推荐
Maven Ant Tasks 是一个由 Maven 项目提供的库,它允许 Ant 构建脚本与 Maven 交互,实现 Ant 任务中的 Maven 功能,如编译、测试、打包等。在 Maven Ant Tasks 2.1.3 版本中,包含了主要的 jar 包 `maven-ant-tasks...
本篇文章将详细探讨“leaflet-ant-path”这个插件以及它在Leaflet中的应用。 “leaflet-ant-path”是一个专门为Leaflet设计的插件,它提供了动态路径效果,能够模拟汽车、火车轨道、飞机航线等物体的移动轨迹。这种...
- 添加了新的任务和条件,比如`ivy:resolve`用于集成Ivy依赖管理,以及`failonerror`属性控制任务失败时的行为。 - 提升了性能,减少了内存消耗,提高了构建速度。 - 修复了大量的bug,提高了整体稳定性。 在实际...
Apache Ant 是一个开源的构建工具,它主要用于Java项目构建、自动化任务执行,如编译、打包、测试和部署。在Java开发中,Ant以其XML格式的构建文件(build.xml)著称,允许开发者定义项目构建的步骤和依赖关系。...
这段代码首先引入了Ivy的Ant任务,然后解析`ivy.xml`,最后将“compile”配置中的依赖添加到Ant的类路径中。 总之,Apache Ivy是一个强大的依赖管理工具,能够简化Java项目的构建过程,提高开发效率。通过使用Ivy,...
在Ant构建脚本中,你可以使用`<ivy:resolve>`任务来解析依赖,`<ivy:retrieve>`任务来将依赖下载到本地文件系统。 Apache Ivy的特性包括: - 支持多种依赖管理协议,如Maven 2.x的POM,或者Ivy自己的XML格式。 - ...
然后,可以在Ivy的`ivy.xml`文件中定义依赖,并在Ant的构建文件中调用Ivy任务来解决这些依赖: ```xml <target name="resolve"> <ivy:resolve file="ivy.xml" /> <ivy:cachepath pathid="compile.path" conf=...
包含翻译后的API文档:aliyun-sdk-oss-3.11.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.aliyun.oss:aliyun-sdk-oss:3.11.2; 标签:aliyun、oss、sdk、中文文档、jar包、java; 使用方法:解压翻译后的...
包含翻译后的API文档:byte-buddy-1.11.22-javadoc-API文档-中文(简体)版.zip; Maven坐标:net.bytebuddy:byte-buddy:1.11.22; 标签:bytebuddy、byte、buddy、jar包、java、中文文档; 使用方法:解压翻译后的API...
Ivy学习使用文档 Ivy 是一种基于 Apache Ant 的依赖管理工具,用于管理项目中的依赖项和库文件。下面是对 Ivy 学习使用文档的详细解释和知识点总结。 Ivy 基础知识 Ivy 是一个开源的依赖管理工具,基于 Apache ...
包含翻译后的API文档:javassist-3.24.0-GA-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.javassist:javassist:3.24.0-GA; 标签:javassist、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用...
标签:commons、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
包含翻译后的API文档:jackson-databind-2.12.5-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.fasterxml.jackson.core:jackson-databind:2.12.5; 标签:fasterxml、jackson、core、databind、中文文档、jar...
包含翻译后的API文档:spring-context-support-1.0.10-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.alibaba.spring:spring-context-support:1.0.10; 标签:spring、alibaba、context、support、jar包、java...
包含翻译后的API文档:jakarta.annotation-api-1.3.5-javadoc-API文档-中文(简体)版.zip; Maven坐标:jakarta.annotation:jakarta.annotation-api:1.3.5; 标签:annotation、api、jakarta、jar包、java、中文文档...
然后,你可以在Ant构建文件(`build.xml`)中引用Ivy任务,例如`<ivy:resolve>`用于下载依赖,`<ivy:cachepath>`将依赖添加到类路径,以及`<ivy:publish>`用于发布你的项目到仓库。 总结一下,Apache Ivy 2.4.0是...
最新包org.apache.ant:ant:1.10.9
包含翻译后的API文档:javax.transaction-api-1.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:javax.transaction:javax.transaction-api:1.2; 标签:javax、transaction、api、中文文档、jar包、java; 使用...
包含翻译后的API文档:opencv-4.5.5-1.5.7-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.bytedeco:opencv:4.5.5-1.5.7; 标签:bytedeco、opencv、中英对照文档、jar包、java; 使用方法:解压翻译...
包含翻译后的API文档:sentinel-transport-common-1.8.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.alibaba.csp:sentinel-transport-common:1.8.0; 标签:alibaba、csp、sentinel、common、transport、...