小编Rya*_*Bis的帖子

Javadoc排除导致导入错误

我正在调整我公司生产的库的javadocs.我们希望将javadocs排除在那些并非真正用于公共消费的类中(主要是内部使用的类).

该项目使用gradle作为构建系统,我已经在build.gradle文件中标记了要排除的包/类.但是,这会导致错误发生.我希望得到一个警告,或者如果有一个排除的类的@link,则会出现错误,但是当简单地导入这些排除的类时,它也会抛出错误.有没有办法"包含"类/包,但不为它们导出javadoc?

编辑:这是相关的javadoc任务:

task gendocs(type: Javadoc) {
    options.stylesheetFile = new File("./assets/doc_style.css")
    String v = "${SEMVER}"
    version = v.replace("_", '.')
    title = "SweetBlue ${version} API"
    options.windowTitle = "SweetBlue"
    options.memberLevel = JavadocMemberLevel.PROTECTED
    options.author = true
    options.linksOffline('http://d.android.com/reference', System.getenv("ANDROID_HOME") + '/docs/reference')    
    destinationDir = new File("${BUNDLE_FOLDER}/docs/api")
    source = sourceSets.main.allJava
    classpath += configurations.compile
    exclude "com/idevicesinc/sweetblue/backend"
    exclude "com/idevicesinc/sweetblue/utils/Utils**.java"
    exclude "com/idevicesinc/sweetblue/utils/UpdateLoop.java"
    exclude "com/idevicesinc/sweetblue/utils/Pointer.java"
    exclude "com/idevicesinc/sweetblue/utils/HistoricalDataQuery.java"
}
Run Code Online (Sandbox Code Playgroud)

编辑2:这是我正在谈论的错误:

SweetBlue/src/com/idevicesinc/sweetblue/BleCharacteristic.java:5: error: cannot find symbol
import com.idevicesinc.sweetblue.utils.Utils;                                      
symbol:   class Utils
location: package com.idevicesinc.sweetblue.utils
Run Code Online (Sandbox Code Playgroud)

编辑3:

似乎在gradle javadoc任务中排除与在javadoc命令行上使用-exclude不同.我使用CLI javadoc生成运行测试,并且我没有得到使用Gradle时发现的未找到的错误.

java javadoc gradle

10
推荐指数
1
解决办法
1882
查看次数

如何在Javadoc警告的gradle构建上失败

我正在使用Java 7(尽管使用1.6编译)来编译类和javadoc.我已经消除了所有出现的javadoc警告,但是如果有任何javadoc警告,那么想法是让构建失败.

使用Java 8,这是默认行为.但是,在警告方面它也更加严格(如果方法没有列出所有@params或@returns,我们不希望发出警告).另外,我不认为公司很快会转向8,所以这是一个没有实际意义的问题.

我希望有一些简单的标志设置为gradle失败,如果有警告(只有failonError).我在想的是刮掉javadoc进程的控制台输出.如果该输出包含警告,那么我知道有警告,并且构建应该失败.

这是我的build.gradle中的javadoc块:

task gendocs(type: Javadoc) {
options.stylesheetFile = new File("./assets/doc_style.css")
options.windowTitle = "OurTitle"
options.memberLevel = JavadocMemberLevel.PROTECTED
options.author = true
options.linksOffline('http://d.android.com/reference', System.getenv("ANDROID_HOME") + '/docs/reference')
String v = "${SEMVER}"
version = v.replace("_", '.')
destinationDir = new File("${BUNDLE_FOLDER}/docs/api")
source = sourceSets.main.allJava
classpath += configurations.compile
}
Run Code Online (Sandbox Code Playgroud)

所以,如果没有更简单的方法来做到这一点,我如何检查javadoc的控制台输出来刮掉它?

java javadoc gradle

7
推荐指数
2
解决办法
2201
查看次数

标签 统计

gradle ×2

java ×2

javadoc ×2