`
maomaode
  • 浏览: 120396 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Fant 支持Build子项目

阅读更多
<link rel="stylesheet" type="text/css" href="http://maomaode.bokeland.com/plugins/plogeshi/styles/plogeshi.css">Fant我的一个玩具项目,现在支持子项目了,比如我们有下面这样的结构:
project
   |
    --b
        --b1
        --b2
    --c
        --c1
        --c2
应该说这个结构算是比较复杂了,我们的依赖关系是这样的
b2 --> c1 --> c2 --> b1
       |______|______^               
我们的project/build.xml 可以定义成:

 
  <property name="fant.etc.dir" value="${ant.home}/etc/fant"/"""">
  <import file="${fant.etc.dir}/ant-inc/master.xml"/"""">
 
  <modules id="project.modules" builddep="true">
    <module name="b/b1" buildfile='mybuild.xml' />
    <module name="b/b2"/"""">
    <module name="c/c1"/"""">
    <module name="c/c2"/"""">
  </modules>
 

如果我们在project目录下执行
> ant install
所有的子项目会同时build, 而且会按照依赖关系来自动排列build的顺序
那么如果c2也依赖于b2呢? 也即说我们有了一个循环依赖

b2 --> c1 --> c2 --> b1
  ^     |______|______^
  |____________|
这个情况下build就会fail, 我们会得到类似下面的错误,
You have a cyclic dependency :b2 <-- c2 <-- c1 <-- b2
如果你不想让fant去找依赖关系,只是build子项目,则可以通过modules 的builddep属性置为false即可
Fant会把你的项目注册到source repo里, fant会根据这个数据库,来找到项目所依赖的module的目录,以及build文件(默认为build.xml)
所以你可以为任何一个依赖项目创建fant build, 这样build你的项目之前,就会先build依赖项目了
分享到:
评论

相关推荐

    fant4s1sta.github.io

    【标题】"fant4s1sta.github.io" 指的可能是一个个人或项目在GitHub上托管的静态网站。在GitHub上,用户可以利用GitHub Pages服务创建并发布自己的网页,通常这种网页是基于HTML、CSS和JavaScript等前端技术构建的。...

    FantApp:移动Obli2 Fant Android应用

    Java以其面向对象的特性、强大的库支持和跨平台兼容性,成为Android开发的首选语言之一。 在深入讨论之前,让我们先明确几个基本概念: 1. **Android应用结构**:一个Android应用通常由多个组件构成,如Activity...

    CSS3 @font-face属性使用指南

    在CSS3中,`@font-face`规则是一个强大的特性,允许开发者将自定义字体引入到网页设计中,从而使页面的视觉效果...而像Icomoon这样的字体图标下载网站,则提供了大量预先设计好的图标,方便开发者直接引入到项目中。

    动画-幻想:Projeto do curso JavaScript Completo ES6 da Origamid

    在“Animais Fantásticos”项目中,你将有机会运用 JavaScript 的核心概念和 ES6 的新特性来创建一个以奇幻动物为主题的互动应用。这个项目会涉及以下几个关键知识点: 1. **变量与数据类型**:学习如何声明和使用...

    元音空间的数学模型_A mathematical model of the vowel space

    Fant模型是由Per Agne Fant提出的,它是一种描述发音器官动态变化的数学模型,而4-Tube DRM则是一个更具体的声门-喉-鼻腔-口腔的四部分模型,用于语音合成。Berthommier的研究表明,协调函数在处理这两个模型时表现...

    php反弹shell实现代码

    文章中描述了该网站的特殊性——上传文件后,访问页面时文件名会随机变化,从而给常规的Webshell操作带来了困难。作者想要简化操作流程,因此选择实现了一个反弹Shell到本地监听端口的功能。... ... ...

    语音信号处理-语音合成

    1960年G.Fant教授在《Acoustic Theory of Speech Production》中系统地阐述了语言产生的理论。利用这个技术可以对语音产生模型的参数进行准确估计。 1980年,MIT教授D.Klatt 设计的串/并联混合型共振峰合成 器。它用...

    FantasyPlus, 将FantasyPros投影添加到 fantasy football.zip

    FantasyPlus, 将FantasyPros投影添加到 fantasy football FantasyPlus我怎么得到它?https://chrome.google.com/webstore/detail/fantasyplus/gojndgicjncbiobejfpjpcahadininga这是什么?从 Fant

    中国语音产业江湖和科大讯飞的前半生

    文章追溯到1939年贝尔实验室的第一台电子合成器,以及瑞典语言学家G.Fant在1960年代提出的线性预测编码(LPC)技术。进入1980年,D.Klatt开发的共振峰合成器进一步提升了语音合成技术。文章还介绍了90年代以来,随着...

    传输设备PON.docx

    - **7360 NT板支持上联口数量**:7360 NT板支持3个上联口。 - **光分路器封装结构**:盒式封装结构适用于光分路器安装在综合机架内的情况。 - **服务等级划分**:802.1p标准关注于服务等级划分,用于区分不同类型的...

    吴恩达老师的深度学习单层神经网络实现

    吴恩达老师的深度学习单层神经网络实现 数据集下载: train_catvnoncat.h5(训练集),test_catvnoncat.h5(测试集) 链接:link. 提取码:qxm6 代码(自己拿别人的改的) ...train_dataset = h5py.File('C:/Users/Fant

    多媒体传感器网络中基于ACO的QoS路由协议 (2009年)

    首先,抽象出多媒体传感器网络QoS路由模型,进而,利用蚁群算法设计了一个运用带网络约束条件的权值去更新信息素浓度增量的路由算法———AntWMSN算法,AntWMSN算法利用正向蚂蚁Fant收集链路带宽、时延、丢包率等参数,...

    MOTOMAN INFORM说明

    - AOUT、ARATE、FANT和OUT命令分别用于输出模拟信号、设置模拟输出速率、输出风扇信号和开始模拟输出。 控制命令用于程序流程控制,如: - JUMP用于转移到指定程序位置; - CALL用于调用指定的程序; - GETARG用于...

    L等级考试练习L3传输-设备PON贝尔.pdf

    这表示在服务VPLS(Virtual Private LAN Service)1703中,需激活NT-A的XFp接口1的子接口1703。 3. OLT背板速率:7360 OLT中LT(Line Terminator,线路终结器)板的最大可配置背板速率为40Gbps。这说明该OLT设备能...

    格式转换工具(HEIC转JPG)

    1.能将苹果手机保存的HEIC格式转换为JPG格式。 2.支持批量转换。 3.支持windows操作系统。

    完形填空解题技巧.ppt

    第二例中,Ella Fant的兴奋情绪与她的喊声相符,第一空选“B. happiness”;第二空的“out of step”提示我们应关注步调,选择“D. him”,指John与其他人的不同步。 最后,了解句际间的逻辑关系也是关键。例如,...

Global site tag (gtag.js) - Google Analytics