【问题标题】:Gradle: programmatically specifying compiler options for compileJava taskGradle:以编程方式为 compileJava 任务指定编译器选项
【发布时间】:2018-06-09 07:07:27
【问题描述】:

我有一个带有 compileJava 任务的 gradle 脚本,我希望它提供两个不同的 Jar 任务,jarjarForcejarForce 任务应该编译带有 -Awarns 选项的源代码,以便注释处理器错误被视为警告,jar 任务应该使用默认参数运行编译,以便在有任何注释处理器时编译失败错误。我怎样才能做到这一点?

【问题讨论】:

    标签: java gradle groovy build annotation-processing


    【解决方案1】:

    考虑以下内容,如果jarForce 在任务图中,则将选项修改为compileJava

    apply plugin: 'java'
    
    gradle.taskGraph.whenReady { taskGraph ->
        if (taskGraph.hasTask(jarForce)) {
            println "TRACER jarForce detected"
    
            // we use verbose simply to illustrate that the options are changed
            compileJava.options.compilerArgs << "-verbose"
            compileJava.options.compilerArgs << "-Awarns"
        }
    }
    
    task jarForce(dependsOn: 'jar') {
        doFirst {
            println "TRACER jarForce"
        }
    }
    

    如果您执行gradle clean jargradle clean jarForce,您会看到输出完全不同,因为我们使用-verbose 作为说明。 -Awarns 的使用留给读者。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2014-02-23
    相关资源
    最近更新 更多