java - Gradle 脱离 Bash for 循环

标签 java bash git gradle

我有一个版本历史记录,我正在尝试在其上运行 gradle 构建,并在我的 bash 脚本中运行

while read -r version
do
    git checkout $version
    gradle clean
    gradle javadoc
    ...
done < version-history.log

它试图获取我的代码的每个标记版本的文档。问题是 gradle 运行一次构建,然后就跳出了 for 循环。我尝试将其封装在函数调用中,但它仍然设法跳出循环。这种行为是故意的吗?我怎样才能阻止它这样做?我的gradle版本是

------------------------------------------------------------
Gradle 6.2.1
------------------------------------------------------------

Build time:   2020-03-01 17:25:20 UTC
Revision:     <unknown>

Kotlin:       1.3.61
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          13.0.2 (Oracle Corporation 13.0.2+8)
OS:           Linux 5.5.6-arch1-1 amd64

最佳答案

Gradle 由于某种原因消耗输入,这就是导致此行为的原因。正在追加</dev/null到 gradle 调用似乎可以解决问题,尝试

while read -r version; do
  git checkout $version
  gradle clean </dev/null
done <version-history.log

关于java - Gradle 脱离 Bash for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60499226/

相关文章:

java - JSON - 获取值(value)

c++ - 从 Bash 命令行向函数传递参数

linux - 在 bash 中将两个 cat 语句组合成一个 cat 语句

git - 开发分支与生产分支的 Javascript/CSS 文件位置

git - Gerrit 代码审查错误 - 你不是提交者

Git interactive rebase 没有提交可供选择

java - 在 Java 中处理 map 的 map

java - 是否可以在 Android 上使用 GoogleFinanceAPI?

java - 不允许用户使用 Gradle 将 '.json' 部署到 Artifactory

bash - 分配给位置参数