我们正在使用 groovy 来构建我们的 java 应用程序。groovy 脚本的目标是从 SVN 签出,运行 MVN,从 Jira 下载发行说明,允许用户编辑发行说明,然后将所有内容上传到 S3 以供公众使用。
我的问题是关于发行说明的编辑。我想让 groovy 在 txt 文件上运行 vim 并允许用户编辑文件并退出 vim。在 vim 退出时,我希望脚本继续。这应该在无头 linux 服务器上运行。我使用 open 命令在我的 Mac 上本地运行它,但我们正在将我们的构建移动到中央 AWS linux 服务器。
我正在寻找这样的东西:
println "Downloading release notes..."
"vi RELEASE-NOTES.txt".execute().waitFor()
println "Uploading the edited release notes here"
FWIW 我在 Mac OS 上使用的解决方案是:
"open -eW RELEASE-NOTES.txt".execute().waitFor();
它打开 TextEdit,允许我编辑和保存文件,在退出 TextEdit 时,应用程序继续前进并上传我编辑的文件。