使用 Gradle 抑制 Android 项目中的 Javadoc 警告

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

我在 javadoc 警告方面遇到了一些麻烦。当我推送提交并在 GitHub 存储库中创建拉取请求时,Lint 代码库测试会运行,然后在控制台中显示许多方法和类没有 Javadoc 注释,如下所示:

缺少 Javadoc 注释。 [Javadoc变量]

我需要抑制所有 Javadoc 警告,但我做不到,我尝试了不同的方法。我的研究让我找到了许多关于这个主题的线索,但我没有找到任何解决方案来解决我的问题。

我尝试添加:

tasks.withType(Javadoc) {
    failOnError false
    options.addStringOption('Xdoclint:none', '-quiet')
    options.addBooleanOption('Xdoclint:none', true)
    options.compilerArgs << "-Xdoclint:none"
}
tasks.withType(Javadoc).all { enabled = false }
subprojects {
    tasks.withType(Javadoc).all { enabled = false }
}
subprojects {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xdoclint:none"
    }
}

但没有人无法抑制 javadoc 警告。

所有这些代码行都位于

allprojects
方法内。

此时我的 build.gradle 看起来像这样:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.1'
        classpath 'com.google.gms:google-services:4.3.10'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
plugins {
    id 'com.android.application' version '7.3.0' apply false
    id 'com.android.library' version '7.3.0' apply false
}

allprojects {
    repositories {
        // Check that you have the following line (if not, add it):
        google() // Google's Maven repository
        jcenter()
    }

    //
    tasks.withType(Javadoc) {
        failOnError false
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addBooleanOption('Xdoclint:none', true)
        options.compilerArgs << "-Xdoclint:none"
    }

    tasks.withType(Javadoc).all { enabled = false }

    subprojects {
        tasks.withType(Javadoc).all { enabled = false }
    }

    subprojects {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xdoclint:none"
        }
    }
}
java android gradle javadoc lint
1个回答
0
投票

问题是这些不是来自 javadoc linter 的警告,因此配置或禁用 javadoc 工具不会对您有帮助。消息 “缺少 Javadoc 注释。[JavadocVariable]” 是一个 CheckStyle 警告,因此您已运行 CheckStyle,并且其配置文件配置为要求所有变量(实际上是字段)上有 javadoc。

鉴于 CheckStyle 未在您的 Gradle 文件中列出,您可能从 GitHub Action 运行它。

据我所知,默认情况下未启用 JavadocVariable,因此要禁用它,请将其从 CheckStyle XML 配置中删除。

根据 CheckStyle 文档,规则如下所示:

<module name="Checker">
  <module name="TreeWalker">
    <module name="JavadocVariable"/>
  </module>
</module>
© www.soinside.com 2019 - 2024. All rights reserved.