我想使用文本文件作为命令行参数运行gradle任务。
如何在Windows和Linux中执行此操作?
文本文件" run.txt"包含这些参数:
--tests com.tests.TestSpec.groovy -Denv=test
尝试在Windows机器中运行它,如下所示,它不起作用。
c:\MyProject\Tests>gradle < run.txt
答案 0 :(得分:1)
在Linux中,您可以将文件内容读入变量并将其用作参数,如下所示:
gradle "$(< run.txt)"
对于Windows,您可以使用以下内容:
for /F "tokens=*" %x in (run.txt) do gradle %x
这是Loop command示例,它迭代run.txt文件内容,将其拆分为令牌并对此令牌执行gradle
命令。在这种情况下,tokens=*
表示 - 在每一行处理所有令牌,默认情况下它只处理第一个令牌。
购买恕我直言,使用批处理文件或shell脚本来执行此类任务要容易得多。例如,在Linux中,您只需创建一个名为run.sh
的文件,其内容为:
gradle --tests com.tests.TestSpec.groovy -Denv=test
使此文件可执行
chmod +x ./run.sh
然后按如下方式运行
./run.sh
在Windows中,它更容易,因为您不需要使批处理文件可执行。