2009-10-26 74 views
1

我想简化我的主要构建脚本,并且希望能够将某些常见的ant任务作为库重用,但我也希望它们可以作为一个包轻松使用。在没有解压缩的情况下包含ant build xml内联jar文件?

例如,我有一个任务,它设置了我需要构建各种项目的Flex环境变量。我可以(并且目前)通过源代码控制中另一个位置的相对路径包含这些脚本。但是我想做的是制作一个可下载的包,通过包含所有这些通用任务的常青藤可以抓取。

一个jar似乎是最自然的解决方案,因为这是可以从java(使用类加载器来访问jar中的文件),但我似乎无法在Ant中找到“本机”方式获取xml文件。

总之,我想做的事:

<import file="some.jar!bootstrap.xml"> 

但是,这并不工作。

有没有办法做到这一点?任何其他关于制作一个ant脚本库的建议都会非常感谢。

回答

1

从我所了解的你试图从你的jar中提取包含更多ant任务的文件,然后告诉ant来执行这些提取文件中的任务。由于这些文件是静态的,所以你最好在你的jar中创建实际的java任务定义并在你的ant构建文件中声明它们。但是,如果您不想这样做,只需使用Unzip ant任务将资源从jar中提取到文件系统上,然后使用Ant任务执行提取的文件。

+0

感谢您的回复,我不想提取文件。我的意思是我可以,但这几乎会打败任务共享的目的,因为会有一堆样板来提取任务。我正在寻找直接从jar文件内嵌的ant任务,没有解压缩。 – 2009-10-26 23:40:37

+1

Ant中的Ant任务非常明确地处理文件,而不是资源或流。您最好的选择是提取文件或创建您自己的可以使用资源的Ant任务版本。 – Jherico 2009-10-27 00:34:35

1

IIRC在Ant中正在进行的工作支持此功能,但它在任何已发布的版本中都不受支持。

+0

事实上,进一步的研究表明,它是一个功能计划(或至少谈到)为1.8 ..希望它会成功。 – 2009-10-28 01:11:54

相关问题