我有一个模糊的记忆,我见过一个 Java 或其他 JVM 语言的构建系统,你可以在连续模式下运行(可以这么说)。这将使构建系统在后台运行,观察源目录的变化。一旦源文件发生更改,构建系统就会启动并重新运行构建过程的相关部分以生成新的工件。
敲响任何铃铛?
谢谢
是gradle 守护进程吗?
这使 gradle 在后台运行,因为它的启动时间很长 - 并扫描文件系统以识别文件何时更改。
有很多引擎支持持续检查/构建/测试(例如 Jenkins nee Hudson、CruiseControl、TeamCity 等)。
如果您正在查看 Java 以外的 JVM 语言,那么(例如)Maven Scala 插件支持在文件更改时持续构建和测试。例如
$ mvn scala:cctest
将在循环中运行编译/测试循环,观察源代码更改并对其进行操作。
如果您的构建工具或语言本身不支持这一点,那么编写一个 shell 脚本来观察目录结构并在更改时执行另一个脚本/工具是很简单的。请参阅此 SO question以获取解决方案。
我发现我的意思实际上是sbt。这里还有一个关于如何构建 Java 项目的问题:使用 SBT 构建纯 Java 项目。感谢大家的帮助。