在build.gradle中为CLI命令编写groovy代码

时间:2016-01-13 04:11:33

标签: groovy gradle android-gradle build.gradle

在Android Studio中,在build.gradle内,我可以编写一个包含CLI命令的groovy代码的任务吗?我希望我的命令只能通过执行任务来执行,而不是每次都通过CLI运行它们。就像我有一个命令,我正在通过CLI执行:

gradlew <task_name> -Dorg.ajoberstar.grgit.auth.hardcoded = true

在上面的命令中,我正在编写一个任务来从bitbucket克隆存储库,并在执行命令时在CLI中传递我的凭据。有没有办法在我的任务中写这个?

1 个答案:

答案 0 :(得分:0)

您可以在gradle脚本中的任何位置使用System.setProperty()。 所以你可以在脚本的开头添加:

System.setProperty('org.ajoberstar.grgit.auth.hardcoded', 'true')

或更多groovier:

System.properties['org.ajoberstar.grgit.auth.hardcoded'] = true

但最好直接把它放在任务中:

task someTask << {
   System.properties['org.ajoberstar.grgit.auth.hardcoded'] = true
}

任务完成后,最好使用System.clearProperty()清除该属性。