Ant build scripts, antcall, dependencies, etc我有一个构建脚本,作为该脚本的一部分,它将一个jar文件复制到一个目录中,为方便起见,我们将其称为utils jar。 utils jar由另一个目录中的另一个构建脚本构建。我想做的是让我的构建脚本运行utils构建脚本,以便确保utils jar是最新的。 所以我知道我需要导入utils构建文件。
这是行不通的,因为与几乎所有其他蚂蚁taks不同,导入任务不是从basedir运行,而是从pwd运行。因此,为了解决这个问题,我准备了一些小技巧,可以成功导入构建文件
因此,现在我已经解决了导入问题,我需要调用该任务,这应该很容易:
请注意,在上面,utils是../utils/build/build.xml的项目名称 我现在遇到的问题是ant调用没有在../utils/build中执行,所以我需要的却是runat属性或类似的东西,本质上是:
我需要这个的原因是,在我的utils构建文件中,选择要复制到jar的代码的步骤是基于相对路径的,以避免在ant文件中对路径进行硬编码。有任何想法吗? 我已经进行了类似的设置:我有一个主要的Ant build.xml,它调用了一个单独的build.xml,用于构建测试。 这是我的方法:
诀窍是使用 尝试使用" ant"任务代替" antcall"任务,后者直接运行导入的构建,而不是将其导入到当前构建文件中。 它具有" dir"参数:
因此,您可以执行以下操作:
或类似的东西。 您可以使用antcall块中的嵌套将参数传递给antcall。 因此,您可以以这种方式传递属性(由于属性是不可变的,因此甚至可以基于基础)。 |