我有一个我添加到项目源的开源项目。 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项目时,它正在使用父build.xml中定义的变量。
我可能会创建唯一的名称,在我的oss-project \ build.xml中为该项目名称添加前缀。但是,它开始看起来很难看。然后很难在将来保持同步。
是否有一种方法可以通过父build.xml中的一次覆盖子build.xml中定义的变量?
答案 0 :(得分:3)
(在本例中)您不应导入build.xml。相反,它应该将子构建委托给适当的构建文件。您可以使用ant task
您的顶级版本应具有以下条目..
<ant dir="${source_base}/oss-project/"/>