Gradle调用终端指令

在Java中可以通过Runtime.exec()方法来获取终端指令的数据。在Gradle中同样可以获取终端数据,例如笔者新建一个task,代码如下所示。

  1. task testcmd {
  2. println 'git log --pretty=oneline -1'.execute([], project.rootDir).text
  3. }

在上面的代码中,笔者想调用git log—pretty=oneline-1指令,即打印最近的一行git log信息,通过调用‘command’.execute([],project.rootDir).text即可返回其数据,类似于Runtime.exec()方法,显示结果如下所示。

  1. GradleTest git:(master) gradle testcmd
  2. d983317524f95337274bd0fedfb517206e50a5e9 update gradle script

在Gradle脚本中调用终端指令会降低编译速度。开发者需要权衡利弊,决定是否使用。