Ant:可以创建动态Ant脚本吗?

  • 本文关键字:Ant 脚本 动态 创建 ant
  • 更新时间 :
  • 英文 :


所以,在工作中,我经常不得不创建几乎相同的ant脚本。基本上,我们提供给客户的应用程序都被设计成易于扩展的,我们为它提供设计和创建自定义模块的服务。由于我们的应用程序很复杂,有很多交叉依赖,我倾向于在我们的核心开发环境中开发模块,使用IntelliJ编译它,然后运行一个基本的ant脚本,执行以下任务:

1)清理构建目录

2)根据包路径创建构建目录和目录层次。

3)复制类文件(和源文件到一个单独的源目录)

问题是,要做到这一点,我需要一行一行地浏览脚本并更改一堆属性名称,因此它适用于新的用例。我还保存了所有的脚本,以防我需要返回它们。

这不是世界上最糟糕的事情,但我总是在寻找更好的方法来做事情。这就是我的想法:

对于每个特定的实现,我将提供一个仅包含属性的ant脚本(或其他文件)。键值对,根据每个键的用途,每个键都有特定的前缀。然后,我希望我的ant脚本运行各种任务,为合适的键值对执行每个任务。

例如,复制类文件。我将有一个名称为" classfile。filepath "的属性。我希望脚本为它检测到的以"classFile…"开头的每个属性调用任务。

老实说,从我目前的研究来看,我不相信这是可能的。但是…我超级固执,总是在寻找新的创意选择。那么,我有什么选择?还是没有?

动态生成ANT脚本是可能的,例如下面的代码使用XML输入文件实现了这一点:

  • 使用纯Ant搜索文件列表是否存在,并根据条件
  • 采取行动

就我个人而言,我总是尽量避免这种程度的复杂性。Ant不是一门编程语言。

看看你想要实现什么,你似乎可以从将你的依赖打包成jar并使用像Nexus或Artifactory这样的Maven存储库管理器进行存储中获益。这将简化每个子项目的构建。当构建依赖于这些已发布库的项目时,您可以使用依赖管理工具(如Apache ivy)来下载它们。

希望对你的问题有帮助

相关内容

  • 没有找到相关文章

最新更新