代码之家  ›  专栏  ›  技术社区  ›  cmcginty

Ant支持基于文件的依赖关系吗?

  •  0
  • cmcginty  · 技术社区  · 14 年前

    我想在目标文件依赖于源文件的地方建立一个ant依赖关系。你怎么用蚂蚁来形容这个?

    data.txt: header1.txt body.txt footer.txt
          cat header1.txt body.txt footer.txt > data.txt
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   duffymo    14 年前

    你也许可以做这样的事情,但它开始听起来像脚本。Ant不是一种脚本语言。如果你有很多“If/then/else”逻辑,那么你可能做错了。

    请描述“其他数据”。我们说的是复制文件吗?这是devl/test/prod环境问题吗?在这种情况下,您当然可以传入一个指定环境名称的参数,并使用条件测试来决定要复制哪个集合。阅读 this 看看怎么做。

        2
  •  1
  •   martin clayton egrunin    14 年前

    如果你只是想让一个目录中的文件相对于你的源树是最新的, 你可以用 sync

    <sync todir="site">
      <fileset dir="generated-site"/>
    </sync>
    

    覆盖中的所有文件 具有 来自的新文件 生成站点 从中删除文件 那不是 出席

    如果需要确定哪些资源需要更新, 为了执行比同步更复杂的操作, 你可以用 ant-contrib outofdate 任务。例如

    <outofdate property="compile.needed" outputsourcespath="sources.for.recompile">
        <sourcefiles>
            <fileset dir="${src}" includes="*.c"/>
        </sourcefiles>
        <mapper type="glob" dir="${src}" from="*.c" to="${obj}/*.o"/>
    </outofdate>
    

    compile.needed 如果任何对象文件与源文件相比已过期,则返回true, sources.for.recompile 只列出了需要重新编译的源代码-

    (这里的假设是,生成输出区域中的单个文件与一个源直接相关。)

        3
  •  0
  •   cmcginty    14 年前