一个优秀的ant最佳实践演示案例。

8

我已经阅读了很多关于Ant的文章,解释了各种选项,也阅读了很多Ant的文档,但我不知道许多事情的“正确”方式。有人能推荐一个好的例子来说明如何使用Ant吗?既不太复杂又不太简单。

我发现了Doug Sparling(特别与Hibernate相关)的这个示例,看起来相当不错,但我想知道你们能否对其发表评论,因为我不想采用有可疑习惯的人的风格,但它对我来说似乎是不错的。

4个回答

9

3
我建议您查看使用ant作为构建脚本的开源实现的ant脚本。通常,ant脚本不会得到太多关注,但它们比典型的内部工作要更健壮,因为它们分发给许多开发人员,这些开发人员希望在各种环境中运行它们。
我认为最佳实践是不要超出完成任务并且保持可维护性的范围来担心您的构建脚本。毕竟,大多数项目的目标不是生成一个好的构建脚本。当然,像任何最佳实践一样,也有例外。
我所看过的JSR-310的脚本还不错。

1

1

我通常倾向于将我的目标分为两种类型:

1)执行任务的目标 - 编译,打包等。这些目标没有依赖关系,每个目标只做一件事。

2)你可能想要运行的目标 - 构建,部署等。这些目标是指定依赖关系的地方。

我这样做的原因是可以让你拥有可运行的目标,使用任意一组执行任务的目标。例如,在 Web 应用程序中,能够在不编译、运行测试等每次都需要的情况下进行部署非常有用,而这种 Ant 脚本的结构允许实现这一点。

当我使用多个模块时,我还会创建一个包含所有公共目标的主构建脚本,这些目标由模块特定属性文件中的变量驱动。


我猜现在对于1),你应该使用macrodef - abergmeier
肯定要使用 macrodef 来完成这个任务,或者直接切换到 Maven(我相信它在今天使用的丰富 Mojo 结构之前就已经开始使用一系列 macrodef 了)。 - Nick Holt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接