0

我有一个开源项目,已添加到我的项目源中。oss-project 目前使用 ant 及其 build.xml 独立构建。

我想将此项目构建为我项目的一部分。我的目录结构如下所示:

my-project\
  build.xml
  oss-project\
     build.xml
     {all the code}

我尝试将 oss-project\build.xml 导入 my-project\build.xml。

<import file="${source_base}/oss-project/build.xml"/>

我的 build.xml 定义了 basedir、source.base 等变量,导入的 xml 也包含这些变量。但是,当我尝试通过在源根目录运行“ant”来构建时,在构建 oss-project 时,它使用的是父 build.xml 中定义的变量。

我可能会创建唯一名称,并在我的 oss-project\build.xml 中的所有变量前面加上该项目名称。但是,它开始看起来很难看。然后也很难在未来保持同步。

有没有办法让子 build.xml 中定义的变量不会被父 build.xml 中的一次覆盖?

4

1 回答 1

3

(在这种情况下)您不应该导入 build.xml。相反,它应该将子构建委托给适当的构建文件。你可以使用蚂蚁任务

您的顶级构建应该具有如下条目..

   <ant dir="${source_base}/oss-project/"/>
于 2013-09-18T04:19:47.807 回答