如何为所有模块,java,android应用程序和android库配置sourceCompatibility和compilerArgs?

问题描述 投票:12回答:1

我想在控制台中看到lint错误,我想配置只使用java 7而不是每个模块(我们有12个模块)。

我把它放到我的根build.gradle

allprojects {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:deprecation,unchecked"
        sourceCompatibility = 1.7
        targetCompatibility = 1.7
    }
}

它确实适用于纯Java项目(apply plugin: 'java'在其自己的build.gradle)但不适用于com.android.applicationcom.android.library模块。

我假设有一些比withType(JavaCompile)更普遍的“过滤器”,我将不得不使用,但我找不到它。 Gradle脚本对我来说仍然是神奇的。我四处尝试JavaCompile的超级AbstractCompile,但这并没有成功。

我怎样才能避免添加

android {
    …
    compileOptions {
        targetCompatibility 1.7
        sourceCompatibility 1.7
    }
}

对于Java版本以及compilerArgs对每个Android模块的需求是什么?

java android gradle build.gradle
1个回答
3
投票

试试这个,它应该为AndroidJava项目做的伎俩。

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:deprecation,unchecked"
            sourceCompatibility = 1.7
            targetCompatibility = 1.7
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.