无法禁用WriteProperties任务

时间:2017-04-13 20:29:26

标签: gradle groovy build.gradle

只有在存在两个环境变量时才需要编写属性文件。我的用例是,如果我正在通过IDE(IntelliJ / Android Studio)运行,则此属性文件由IDE自动生成(并且全局环境变量不可用于IDE),但是从终端编译时我需要自己生成它。

我的问题是我似乎无法禁用任务。这是我的任务:

task createLocalProperties(type: WriteProperties) {
    String sdkDir = System.getenv('ANDROID_HOME')
    String ndkDir = System.getenv('ANDROID_NDK_HOME')
    File propFile = file('../local.properties')
    project.logger.info('Creating local.properties')
    property('sdk.dir', sdkDir)
    property('ndk.dir', ndkDir)
    setOutputFile(propFile)
    writeProperties()
}
createLocalProperties.onlyIf { !System.getenv('ANDROID_HOME')?.isEmpty() && !System.getenv('ANDROID_NDK_HOME')?.isEmpty() }

onlyIf替换false中的条件仍然运行任务。设置createLocalProperties.enabled false仍然运行任务。我不确定为什么似乎无法阻止此任务运行。

0 个答案:

没有答案