自动化Ant构建 - 任何发现文件系统中的更改以触发构建的开源项目?

时间:2012-02-10 22:24:19

标签: ant build automation

有没有人发现根据文件系统更改自动触发ant构建过程的任何方法?

我基本上希望我的ant构建系统开始构建类似于IDE(编译java类),但是来自某种命令行服务。

如果没有,那么总是用Java编写代码并将Ant API集成到其中。

我熟悉像詹金斯之类的持续集成系统,但我需要触发构建而不是签入。此外,我希望它独立于IDE,因为它可以用于后期保存。

我正在寻找没有源控制要求的独立构建服务。

3 个答案:

答案 0 :(得分:2)

由于您使用的是Ant,我假设基于Java的目录轮询程序在这里会有所帮助。您可以使用IO notification api

编写程序

页面上的注释

  

何时使用和不使用此API

     

Watch Service API专为需要的应用程序而设计   通知有关文件更改事件。它非常适合任何人   应用程序,如编辑器或IDE,可能有许多打开   文件和需要确保文件与之同步   文件系统。它也非常适合应用程序服务器   监视目录,可能等待.jsp或.jar文件丢弃,   为了部署它们。

     

此API不适用于索引硬盘驱动器。大多数文件系统   实现具有对文件更改通知的本机支持。该   Watch Service API在可用的情况下利用此支持。   但是,当文件系统不支持此机制时,Watch   服务将轮询文件系统,等待事件。

修改

在我写完之后,这个问题及其答案似乎在这里更有用:Is there a sophisticated file system monitor for Java which is freeware or open source?

答案 1 :(得分:1)

广泛实践的方式是“持续构建”/“持续集成”的方式。工作流示例:

  1. 您将代码签入源代码管理存储库
  2. 继续集成服务器从存储库中获取更改并启动构建过程
  3. 构建过程会导致成功或失败,从而为您提供快速反馈
  4. Lot的持续集成服务器(Bamboo,Jenkins,Go)本身支持Ant。

    您还可以在IDE中设置保存后挂钩。大多数现代支持它:IntelliJ,NetBeans,Eclipse。

    在google中查找“持续集成”。

答案 2 :(得分:0)

一位朋友向我指出:

https://serverfault.com/questions/179706/how-can-i-trigger-a-script-to-run-after-the-rsyncdaemon-received-file-changes-to

监控变更,执行和独立任务的小脚本。

如果有人有更好的方法直接使用ANT脚本,请告诉我。