java - 如何实现模块化 Ant 构建?

标签 java ant build modularity properties-file

我想要一个“模块化”(可重用)Ant 构建,我可以在多个项目中重用它。构建可能能够将项目(目录)名称作为输入,并在各个项目的源代码上运行相同的公共(public)目标。这是为了防止每个项目都具有完全相同(或几乎完全相同)的 build.propertiesbuild.xml 文件。

因此,考虑到以下设置:

  1. build-base.properties 是一个“基本”props 文件,包含所有构建脚本都存在的属性
  2. build-1.xml 使用 build-base.properties 以及 build-1.properties 中定义的属性
  3. build-2.xml 使用 build-base.properties 以及 build-2.properties 中定义的属性
  4. build-3.xml 使用 build-base.properties 以及 build-3.properties 中定义的属性,并使用 build-1.xmlbuild-2.xml
  5. 中定义的目标

build-3.xml 需要是什么样子(基本结构)才能导入/使用 build-base.properties 属性,并有权访问 build-1.xml/build-2.xml 目标?预先感谢!

最佳答案

据我所知,在 Ant 中实现此类模块化的最佳方法是创建一个 ant 文件来包含公共(public)目标(将其称为 common-targets.xml 或任何您喜欢的名称),然后使用build-[n].xml 属性文件中的 import 任务。如果您遇到属性无法按照您喜欢的方式共享的问题,您还应该考虑使用macrodef

关于java - 如何实现模块化 Ant 构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18984082/

相关文章:

java - Collections.sort 方法有时会在多线程环境中抛出 ConcurrentModificationException。列表未在结构上进行修改

java - 将 null 分配给字符串文字和 GC

java - `create` Cordova Android 脚本无法创建新项目 - java/ant 配置错误

java - Facebook 登录崩溃 java.lang.UnsupportedOperationException

java - ant build.xml 读取 list 文件

apache - 如何通过 Apache Ant 任务获取 ZIP 文件列表?

build - 我对我应该引用哪个 fsharp.core 以及如何去做感到困惑

java - 如何通过C函数调用方便OCamljava编译ocaml库?

javascript - Storybook webpack 绝对导入

Java - Android - MyCustomAdapter