Ant 构建:从不覆盖其属性的子文件夹中导入构建.xml



我有一个开源项目,我把它添加到我的项目源代码中。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"/>

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

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

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

(在本例中)您不应导入build.xml。相反,它应将子生成委托给相应的生成文件。你可以使用ant任务

您的顶级构建应该具有如下所示的条目。

   <ant dir="${source_base}/oss-project/"/>

相关内容

  • 没有找到相关文章

最新更新