【问题标题】:How to ommit codecheck when executing custom gradle task执行自定义gradle任务时如何省略代码检查
【发布时间】:2021-07-30 00:59:48
【问题描述】:

我有一个 gradle 项目,它通过分析本地文件系统来构建一个 api(KotlinPoet 生成类)。

这是由自定义 gradle 插件完成的。 然后,项目中的主应用程序用于打包和部署 api。 基本上我想利用 gradle 通过 DSL 来配置分发。

一个 Gradle 任务是清理我的 buildDir/generated/classes。

此任务不得检查生成代码中未解析引用的错误,我想知道如何配置此任务来执行此操作。

【问题讨论】:

    标签: kotlin gradle dsl


    【解决方案1】:

    Gradle 为删除任务提供基类 (Delete) - 使用它:

    tasks.register<Delete>("deleteGeneratedClasses") {
        delete("$buildDir/generated/classes")
    }
    

    【讨论】:

    • 感谢您的提示。由于您的帮助,我很确定会朝着正确的方向前进。然而,这并不是诀窍,因为执行这个任务,它仍然依赖于任务“kotlinCompile”。我必须手动删除生成的文件夹,然后将(重新)生成类。请看一下截图。执行 clean 任务时:postimg.cc/K1RVW8JS 显式执行 kotlinCompile 任务并用于演示目的(不要关心错误):postimg.cc/ph43Q9wL
    • 这个任务不依赖任何东西。在您的情况下,不是compileKotlin 任务被触发,而是buildSrc:compileKotlin。这与删除任务无关。如果您的项目中有 buildSrc 目录,则默认情况下会发生这种情况:发现目录后,Gradle 会自动编译和测试此代码并将其放入构建脚本的类路径中(请参阅docs.gradle.org/current/userguide/… )
    • 非常感谢您的回答。在这种特殊情况下工作时,我怀疑这种行为。好眼力,辨别现象发生在哪里!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2016-11-10
    • 2018-10-16
    • 2019-08-17
    • 2019-06-07
    相关资源
    最近更新 更多