Gradle调用终端指令
在Java中可以通过Runtime.exec()方法来获取终端指令的数据。在Gradle中同样可以获取终端数据,例如笔者新建一个task,代码如下所示。
- task testcmd {
- println 'git log --pretty=oneline -1'.execute([], project.rootDir).text
- }
在上面的代码中,笔者想调用git log—pretty=oneline-1指令,即打印最近的一行git log信息,通过调用‘command’.execute([],project.rootDir).text即可返回其数据,类似于Runtime.exec()方法,显示结果如下所示。
- ➜ GradleTest git:(master) ✗ gradle testcmd
- d983317524f95337274bd0fedfb517206e50a5e9 update gradle script
在Gradle脚本中调用终端指令会降低编译速度。开发者需要权衡利弊,决定是否使用。
