我想简化我的主要构建脚本,并且我希望能够将某些常见的ant任务重用为库,但我也希望它们可以作为一个包轻松使用。
例如,我有一个任务可以设置构建各种项目所需的Flex环境变量。我可以(当前)通过源控件中另一个位置的相对路径包含这些脚本。但我想做的是制作一个可下载的软件包,我可以通过Ivy获取包含所有这些通用任务的软件包。
jar似乎是最自然的解决方案,因为这是可以从java(使用类加载器访问jar中的文件)。但我似乎无法在Ant中找到“本机”方式来获取xml文件。
简而言之,我想这样做:
<import file="some.jar!bootstrap.xml">
但这不起作用。
有没有办法做到这一点?关于制作蚂蚁脚本库的任何其他建议也将非常受欢迎。
答案 0 :(得分:1)
根据我的理解,你试图从jar中提取包含更多ant任务的文件,然后告诉ant在这些提取的文件中执行任务。由于文件是静态的,因此最好在jar中创建实际的Java Task定义并在ant构建文件中声明它们。但是,如果您不想这样做,您可以使用解压缩ant任务从jar中提取资源并将其提取到文件系统,然后使用Ant任务执行提取的文件。
答案 1 :(得分:1)
IIRC正在进行Ant的工作以支持这一点,但在任何已发布的版本中都不支持。