我遇到了一些javadoc警告的问题。当我在GitHub仓库中推送我的提交并创建一个pull请求时,Lint Code Base测试运行,然后在控制台中显示很多方法和类没有Javadoc注解,如下所示:
缺少Javadoc注解。[JavadocVariable]
我需要抑制所有的Javadoc警告,但我不能,我尝试了不同的方法。我的研究把我带到了很多关于这个主题的线程,但我没有找到任何解决方案来解决我的问题。
我试着补充:
tasks.withType(Javadoc) {
failOnError false
options.addStringOption('Xdoclint:none', '-quiet')
options.addBooleanOption('Xdoclint:none', true)
options.compilerArgs << "-Xdoclint:none"
}
x
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"
}
}
}
型
=更新=
正如第一个答案所说和建议的那样,我在项目的根目录下创建了一个checkstyle.xml文件。checkstyle.xml的内容如下:
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<!-- Javadoc -->
<!-- Configuración para permitir comentarios Javadoc faltantes en JavadocVariable -->
<module name="JavadocVariable">
<property name="allowMissingJavadoc" value="true" />
</module>
<!-- Configuración para permitir comentarios Javadoc faltantes en JavadocMethod -->
<module name="JavadocMethod">
<property name="allowMissingJavadoc" value="true" />
</module>
<!-- Configuración para permitir comentarios Javadoc faltantes en JavadocPackage -->
<module name="JavadocPackage">
<property name="allowMissingJavadoc" value="true" />
</module>
<!-- Formatting -->
<module name="LineLength">
<property name="max" value="160" />
</module>
</module>
</module>
型
并在gradle添加了这一点:
插件:
plugins {
id 'checkstyle'
}
型
任务:
checkstyle {
toolVersion = '8.42'
configFile = file("${rootDir}/config/checkstyle/checkstyle.xml")
}
checkstyleMain {
source = 'src/main/java'
}
checkstyleTest {
source = 'src/test/java'
}
型
但是在GitHub操作的Lint代码库运行后仍然显示警告。
1条答案
按热度按时间toe950271#
问题是这些都不是来自javadoc linter的警告,所以配置或禁用javadoc工具对你没有帮助。消息 “Missing a Javadoc comment. [JavadocVariable]" 是一个CheckStyle警告,所以你运行了CheckStyle,它的配置文件被配置为要求所有变量(实际上是字段)都使用javadoc。
鉴于CheckStyle未在Gradle文件中列出,您可能从GitHub Action运行它(或者您的build.gradle未完成)。
据我所知,JavadocVariable 规则在默认情况下是不启用的,所以要禁用它,请从CheckStyle XML配置中删除它。
基于CheckStyle documentation,规则看起来像这样:
字符串
搜索
name="JavadocVariable"
并删除特定的模块可能是处理此问题的最佳方法。