`

ivy中文参考文档(18)-ant任务(6)-deliver

阅读更多

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

    5. 加密与签名:go-deliver还提供了加密和签名功能,具体使用方法可以根据库文档进行操作。 五、应用场景 go-deliver广泛应用于API接口开发、微服务之间的通信、消息队列中的数据封装等多个领域。例如,在构建...

    go-deliver:Go-deliver是用Go编码的有效载荷交付工具

    交付Go-deliver是用Go编码的有效载荷交付工具。 这是第一个版本,将来还会添加其他功能。安装从源编译: 克隆此存储库。 安装所需的依赖项。 编译并运行。依存关系 配置当前,go-deliver仅支持http和https服务器进行...

    ET-deliver发货单查询系统.zip

    《ET-deliver发货单查询系统:深度解析与应用》 ET-deliver发货单查询系统是一款专为物流行业设计的高效管理工具,它基于源码开发,允许用户自定义功能,以满足不同业务需求。该系统的核心功能是实现发货单的快速...

    deliver-api-v1:TestePrático

    5. 文档测试:确保提供的API文档准确无误,开发者可以轻松理解和使用。这包括检查 Swagger 或 OpenAPI 规范是否与实际实现一致。 6. 回归测试:在API更新或修复后,重新运行之前的测试,以确保未引入新的问题或破坏...

    D365 for Talent- Deliver seamless payroll with Ceridian Dayforce

    D365 for Talent- Deliver seamless payroll with Ceridian Dayforce

    ds-deliver-dev-superior

    要完全理解"ds-deliver-dev-superior"项目,我们需要查看源代码、阅读文档,甚至运行项目以了解其具体功能和使用方式。不过,从上述分析可以看出,这是一个以Java为基础,面向开发者,可能涉及数据处理、优化开发...

    screenshot-deliver.zip

    【screenshot-deliver.zip】是一个个人使用的工具,其主要功能可能是与截图管理和分发相关的。这个压缩包包含了一些关键的项目文件和目录,暗示着它是一个基于Node.js开发的Web应用或者命令行工具。 首先,`index....

    Invest-Finance-Shares---Fail-to-Deliver-FTD-:投资,分享-无法交付(FTD)

    无法交付(Fail to Deliver, FTD)在金融投资领域是一个重要的概念,特别是在股票交易中。FTD是指在证券交易所规定的交收时间内,卖方未能按照约定交付股票给买方的情况。这种现象可能由多种原因引起,包括但不限于...

    signal-deliver

    重点分析了信号处理过程中,进程从内核态切换到用户态,再由用户态切换到内核态的整个过程。

    Ant速学笔记.doc

    Apache Ant 是一个开源的构建工具,广泛用于Java项目,它基于XML来定义任务,使得构建过程可配置且可复用。在本文档中,我们主要关注Ant在创建和管理Java项目中的基本应用,特别是如何使用它来编写CC(可能是持续...

    startnow-ops200-deliver-it-well

    顺利交付-Circle CI介绍Circle CI是一种SaaS工具,可以轻松地使程序员将持续集成添加到他们的项目中。 通过在项目中编写单元测试,开发团队能够一天几次合并和推送代码,而不会在生产中遇到合并冲突或代码破裂的情况...

    grav-skeleton-deliver-site:Grav交付站点骨架

    为重力运送骷髅 交付框架是的端口。 无论您是想炫耀自己投资组合的创意人士,还是想提升公司形象的企业,此主题都适合您。 特征 全面响应 包括自动和自定义导航菜单 ...为Grav安装Deliver主题的最简单方法

    deliver-it:测试交付

    讨论组单元测试添加XDebug以进行测试覆盖 关于这个项目 这是的测试项目。 目标设定 要创建的服务: 参加比赛的跑步者 唯一身份 姓名 公积金 出生日期 ...比赛类型(3、5、10、21、42公里) ... 18-25岁

    startnow-ops200-deliver-it-well:顺利交付

    顺利交付-Circle CI 介绍 Circle CI是一种SaaS工具,可以轻松地使程序员将持续集成添加到他们的项目中。 通过在项目中编写单元测试,开发团队能够一天几次合并和推送代码,而不会在生产中遇到合并冲突或代码破裂的...

    Deliver-PSD-Theme.zip

    《Deliver PSD 主题设计详解》 在UI设计领域,PSD(Photoshop Document)文件是一种常见的设计格式,常用于创建网页、应用界面以及其他视觉元素的原型。"Deliver PSD Theme"是一个专为设计师们提供的资源包,它包含...

    deliver-water-weapp

    云开发 quickstart 这是云开发的快速启动指引,其中演示了如何上手使用云开发的三大基础能力: 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库 文件存储:在小程序前端直接上传...参考文档

    startnow-ops200-deliver-it-well:原始码学院-OPS200-交付良好

    顺利交付-Circle CI介绍Circle CI是一种SaaS工具,可以轻松地使程序员将持续集成添加到他们的项目中。 通过在项目中编写单元测试,开发团队能够一天几次合并和推送代码,而不会在生产中遇到合并冲突或代码破裂的情况...

    Specification by Example - How Successful Teams Deliver the Right Software

    6. **Validating Frequently**: Regular validation checks are performed throughout the development cycle, ensuring that the software remains aligned with the specified requirements. 7. **Evolving a ...

    Addison.Wesley.Stand.Back.and.Deliver.Jun.2009.rar

    很抱歉,根据您提供的信息,"Addison.Wesley.Stand.Back.and.Deliver.Jun.2009.rar"似乎是一个压缩文件,通常包含电子书、文档或课程材料。然而,压缩包内的文件列表中有一个是"15.Forever Friends.mp3",这可能是一...

    desafio-tecnico-deliver-it:传递信息到Python的变幻莫测

    Cadastro de Contas Pagar Cadastro de contas pagaréummicrosserviçopara manter contas。 épossívelcadastrar,atualizar,remove,buscar e listar as contas cadastradas。 快速API。...

Global site tag (gtag.js) - Google Analytics