1) deliver
交付当前模块的解析好的描述符,而且可能执行依赖的递归交付。
这个任务主要做两个事情:
1. 生成一个解析好的ivy 文件
这个任务生成一个当前模块的解析好的描述符,基于最后一次解析。解析好的ivy文件包含交付的模块的已更新信息,例如修订版本和状态。
此外,所有被包含的配置的文件将包含在ivy文件中,而且变量被他们的值替代。
最终,在解析好的ivy文件中,动态修订版本被在解析过程中找到的静态的修订版本替换,因此这些ivy文件后面可以安全的使用来获得相同的依赖(前提条件是修订版本唯一的标识一个模块,这是ivy正常使用的基础)。
从1.3起 动态修订版本被静态修订版本的替换可以被关闭,因此动态修订版本被保留在ivy文件中。这对于发行的模块描述符是完全解析好的推荐标准是一个例外,所以请小心使用。
2. 执行递归交付
仅在delever target被设置给delever任务时才这样做。
如果delever target被设置,则为每个和这个任务设置的delever状态对比没有suffisant状态的依赖,它会被调用(通过antcall)。这意味着如果你交付一个集成修订版本,递归交付不会进行。
如果你交付一个里程碑或者发行修订版本,delever target将和每个集成依赖一起被调用。
delever target被调用时有下面的属性可用:
- dependency.name
递归交付的依赖的名称
- dependency.published.status
将交付的依赖的状态
- dependency.published.version
将交付的依赖的修订版本
- dependency.version
将交付的依赖的修订版本
dependency.published.status和dependency.published.version 要求用户通过ant输入任务给出(默认行为),或者对于整个递归交付过程总是相同,如果下列属性被设置:
- recursive.delivery.status
设置被要求交付的所有依赖的状态
- recursive.delivery.version
设置被要求交付的所有依赖的版本
通常交付任务自身引发另外一个ant build(使用ant 任务),虽然这取决于你。
交付的ivy文件将使用那些在这里给出的更新它的依赖的修订版本。
2) deliver和publish
交付任务大多数情况下并不显式调用,而且通过publish任务自动调用。因此,什么时候应该显示的调用deliver任务呢?当你真正需要区分什么是deliver任务产生的,什么是publish任务产生的时候。或者说,上传一个模块到仓库。
如果你想在上传之前处理产生的ivy文件(如果你想自动添加更多信息如使用SCM 标签,执行release的用户,...),这将非常有用。
如果你想触发一个递归交付并保证你如依赖一样得到递归交付的模块,它也将有用。在这种情况下你的构建的顺序可能像这样:
-
ivy:configure
-
ivy:resolve
-
ivy:deliver with recursive delivery
-
ivy:resolve again with the ivy file generated by the recursive delivery
-
do
your build stuff (compile, jar, whatever)
-
ivy:publish
3) 属性
属性
描述
必要
deliverpattern |
ivy文件交付时使用的正则表达式
|
不,默认为${ivy.deliver.ivy.pattern} |
pubrevision |
发布时使用的修订版本
|
不,默认为${ivy.deliver.revision}如果设置了,或者解析好的修订版本如果设置了,或者时间戳 |
pubbranch |
发布时使用的分支
|
不,默认为${ivy.deliver.branch}如果设置了,或者解析好的分支如果设置了,或者没有(分支信息将不被更新)
|
pubdate |
用于发行的发行时间。这个时间应该要不是'now',要是是通过下面的正则表达式给出的时间:yyyyMMddHHmmss
|
不,默认为'now'
|
status |
用于发行的状态
|
不,默认为 ${ivy.status} |
delivertarget |
为递归交付而要调用的target
|
不,默认不进行递归交付。
|
validate |
true to force ivy files validation against ivy.xsd, false to force no validation
true强制ivy文件通过ivy.xsd进行验证,false强制不做验证。
|
不,默认为ivy的默认值 (在配置文件中设置) |
replacedynamicrev |
true强制在交付的文件中将动态修订版本替换为静态,false避免这个替换。(从1.3起)
|
不,默认为true |
settingsRef |
必须被这个任务使用的ivy设置的引用(从2.0起)
|
不,默认为'ivy.instance' |
conf |
需要包含在交付文件中的逗号分隔的配置列表。接受通配符。(从2.0起)
|
不,默认为所有配置 |
generateRevConstraint |
true在交付的文件中自动生成一个'revConstraint'属性(查阅dependency
页面来得到更多的有关这个属性的信息), false从不生成这个属性(从2.1.0起)
|
不,默认为true
|
4) 例子
交付一个ivy文件,不使用private设置:
<deliver conf="*(public)" />
分享到:
相关推荐
go-deliver - Go语言编写的Payload交互工具.zip
交付Go-deliver是用Go编码的有效载荷交付工具。 这是第一个版本,将来还会添加其他功能。安装从源编译: 克隆此存储库。 安装所需的依赖项。 编译并运行。依存关系 配置当前,go-deliver仅支持http和https服务器进行...
screenshot-deliver.zip --- A tool for personal use
ET-deliver发货单查询系统.zip
ds-deliver-dev-superior
传送api-v1 Testeprático提供API版本1
Specification by Example: How Successful Teams Deliver the Right Software Gojko Adzic (Author) <<Product Details>> - Paperback: 296 pages - Publisher: Manning Publications; 1 edition (June 3, 2011) -...
重点分析了信号处理过程中,进程从内核态切换到用户态,再由用户态切换到内核态的整个过程。
Deliver-PSD-Theme.zip
顺利交付-Circle CI介绍Circle CI是一种SaaS工具,可以轻松地使程序员将持续集成添加到他们的项目中。 通过在项目中编写单元测试,开发团队能够一天几次合并和推送代码,而不会在生产中遇到合并冲突或代码破裂的情况...
投资,分享-无法交付(FTD) 我对SEC的无法交付(FTD)数据的分析。 请参阅以下视频: 无法交付(FTD)-我们是否应该担心-是否即将出现另一种“金融危机”?
为重力运送骷髅 交付框架是的端口。 无论您是想炫耀自己投资组合的创意人士,还是想提升公司形象的企业,此主题都适合您。 特征 全面响应 包括自动和自定义导航菜单 ...为Grav安装Deliver主题的最简单方法
讨论组单元测试添加XDebug以进行测试覆盖 关于这个项目 这是的测试项目。 目标设定 要创建的服务: 参加比赛的跑步者 唯一身份 姓名 公积金 出生日期 ...比赛类型(3、5、10、21、42公里) ... 18-25岁
顺利交付-Circle CI 介绍 Circle CI是一种SaaS工具,可以轻松地使程序员将持续集成添加到他们的项目中。 通过在项目中编写单元测试,开发团队能够一天几次合并和推送代码,而不会在生产中遇到合并冲突或代码破裂的...
云开发 quickstart 这是云开发的快速启动指引,其中演示了如何上手使用云开发的三大基础能力: 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库 文件存储:在小程序前端直接上传...参考文档
顺利交付-Circle CI介绍Circle CI是一种SaaS工具,可以轻松地使程序员将持续集成添加到他们的项目中。 通过在项目中编写单元测试,开发团队能够一天几次合并和推送代码,而不会在生产中遇到合并冲突或代码破裂的情况...
Cadastro de Contas Pagar Cadastro de contas pagaréummicrosserviçopara manter contas。 épossívelcadastrar,atualizar,remove,buscar e listar as contas cadastradas。 快速API。...
Zarafa 将邮件发送到公共文件夹(Postfix 方式) Github Readme to Zarafa 提供了将收到的邮件传送到公共文件夹中的不同可能性。 第一种方法是使用 procmail 或使用 Zarafa-Dagent 插件。 我在此处描述的方法仅...
Learning DevOps Continuously Deliver Better Software 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
交付重力主题 传递主题是的端口。 无论您是想炫耀自己投资组合的创意人士,还是想提升公司形象的企业,此主题都适合您。 特征 全面响应 ...可以通过以下两种方法之一来安装Deliver主题。 我们的GPM