标签: doclet

当内部类依赖于R.java时,Gradle在Android Javadocs中排除R.java

我正在为API构建JavaDoc,其中API中的类依赖于R.java.我想构建引用缺少的R.java文件的Javadoc w/o符号错误,即使我设置failOnError false构建成功但我们的Jenkins作业会在成功构建中发生错误时将构建报告为失败.下面的任务将成功创建javadocs,但会在构建过程中报告与未找到R.java相关的错误.

android.libraryVariants.all { variant ->
def name = variant.name.capitalize()

task("generate${name}Doclava", type: Javadoc) {

    description "Generates Javadoc for $variant.name."
    source = variant.javaCompile.source
    title = null
    // use android.bootClasspath instead of building our own path to android jar
    //ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
    // hardcoded path to generated R.java file to avoid javadoc compile issues
    ext.R = "build/generated/source/r/minSDK15/release"
    classpath += project.files(android.sourceSets.main.java.srcDirs, variant.javaCompile.classpath.files, android.bootClasspath)
    destinationDir = file("${project.docsDir}/${name}/doclava")
    options {
        docletpath = configurations.jaxDoclet.files.asType(List)
        doclet "com.google.doclava.Doclava"
        bootClasspath new File(System.getenv('JAVA_HOME') + "/jre/lib/rt.jar")
        addStringOption "XDignore.symbol.file", …
Run Code Online (Sandbox Code Playgroud)

android javadoc gradle doclet android-gradle-plugin

26
推荐指数
1
解决办法
1902
查看次数

如何在Eclipse中调试Doclet?

我正在创建一个自定义doclet,我希望在我的Maven构建中使用Javadoc插件运行,但是现在我想在Eclipse中测试/调试Doclet.我怎样才能做到这一点?

我是否必须以编程方式调用javadoc?如何?

java eclipse debugging doclet

18
推荐指数
1
解决办法
2971
查看次数

8
推荐指数
1
解决办法
1927
查看次数

从javadocs制作一个bitbucket源wiki

嗨,我正在研究我们用于应用程序的相当大的内部SDK.我配备了大量的Javadocs.现在我的目标是以某种方式从这些javadoc生成.MD文件,以便我可以直接将这些.md文件放入我的bitbucket wiki中.

有没有办法实现这个或生成bitbucket wiki可以使用的任何其他文件格式?

java markdown javadoc bitbucket doclet

8
推荐指数
1
解决办法
1024
查看次数

有没有办法为公共方法的子集生成Javadoc?例如,通过将公共方法注释为"不是公共API的一部分"

我知道如何为类/接口/包的子集生成Javadoc.但有没有办法只为一部分公共方法生成Javadoc?

我更喜欢的是能够将方法(Javadoc标记或注释)标记为属于某个API或不属于它.然后有一个工具只为指定的方法集生成Javadoc - 形成API的方法.

公共/私有/包访问方法之间的选择对我的项目来说是不够的.公共方法可能属于公共API,也可能属于API 1,但不属于API 2.本质上,我希望能够从公共方法的任意子集中选择API.

java api javadoc doclet

7
推荐指数
1
解决办法
694
查看次数

如何扩展JavaDoc 5.0标准doclet?

我想扩展Javadoc5.0提供的标准doclet来修改它的HTML输出.例如,我希望在生成的JavaDoc HTML中发生关键字'implemented'或'Interfaces',而不是其他单词.不应更改所有其他元素.我怎样才能做到这一点?生成Javadoc后我不想修改HTML源代码!我必须扩展哪些类?网上有一个有用的教程吗?我搜索了教程,但发现只有这个http://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/doclet/overview.html这对我没什么帮助,因为这些例子没有扩展标准doclet.在http://www.oracle.com/technetwork/java/javase/documentation/index-137483.html#customizingjavadoc上找到了另一个来源,但我无法将其应用于JavaDoc5.0.任何人都能提供一个有用的例子吗?谢谢!

java javadoc doclet

7
推荐指数
1
解决办法
736
查看次数

JavaDoc Parser用于常见的javadoc?

有什么东西可以用来解析JavaDoc,这样我就可以在运行时通过标准的Doclet接口对它进行操作了吗?基本上,Doclet的反向操作.

我知道为每个Javadoc写一个解析器是不可能的(因为这可以是一个任意的文档格式),但我很想知道是否有类似的标准Doclet.

java parsing javadoc doclet

6
推荐指数
1
解决办法
589
查看次数

使用maven-javadoc-plugin将jar添加到doclet类路径

我写了一个doclet来收集一些数据并将其传递给记者.我希望这位记者能够互换.我尝试使用additionalDependency和/或pluginDependency将一个报告器实现添加到doclet类路径.我无法使用Java 6服务加载器加载报告器实现,也无法使用doclet类加载器或线程上下文类加载器来获取类.

如何将test.TestReporterImpl导入test-doclet类路径?

在doclet中:

apiReporterServiceLoader = ServiceLoader.load(TestReporter.class); // test.TestReporter

apiReporterServiceLoader.iterator().hasNext(); // false

Thread.currentThread().getContextClassLoader().loadClass("test.TestReporterImpl"); // ClassNotFoundException

getClass().getClassLoader().loadClass("test.TestReporterImpl"); // ClassNotFoundException
Run Code Online (Sandbox Code Playgroud)

在执行doclet的pom中

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.10.3</version>
    <executions>
        <execution>
            <id>run-my-doclet</id>
            <goals>
                <goal>javadoc</goal>
            </goals>
            <phase>generate-resources</phase>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>test</groupId>
            <artifactId>test-doclet-test-reporter</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <configuration>
        <doclet>test.TestDoclet</doclet>
        <docletArtifact>
            <groupId>test</groupId>
            <artifactId>test-doclet</artifactId>
            <version>${project.version}</version>
        </docletArtifact>
        <additionalDependencies>
            <additionalDependency>
                <groupId>test</groupId>
                <artifactId>test-doclet-test-reporter</artifactId>
                <version>${project.version}</version>
            </additionalDependency>
        </additionalDependencies>
        <useStandardDocletOptions>false</useStandardDocletOptions>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

测试的doclet - 测试 - 记者/ src目录/主/资源/ META-INF /服务/ test.TestReporter

test.TestReporterImpl
Run Code Online (Sandbox Code Playgroud)

java maven doclet

6
推荐指数
1
解决办法
620
查看次数

在自定义 doclet 中处理某些 5.0 语言功能(枚举和注释)的问题

我正在使用 JDK 1.7 编写一个全新的自定义 doclet。这些是我目前发现的问题:

文件的方法isAnnotationType()isAnnotationTypeElement()isEnum()并且isEnumConstant()不工作。他们总是返回 false

PackageDoc方法enums()不起作用。它总是返回一个空数组Enums包含在方法allClasses()和的结果中ordinaryClasses()

ClassDoc方法enumConstants()不起作用。它总是返回一个空数组Enum常量包含在 method 的结果中fields()

PackageDoc方法annotationTypes()不起作用。它总是返回一个空数组Annotations包含在 method 的结果中interfaces(),因此我可以实施以下解决方法:

AnnotationTypeDoc annotationDoc;
ClassDoc[] interfaces = packageDoc.interfaces();
for (ClassDoc classDoc : interfaces) {
if (classDoc instanceof AnnotationTypeDoc) {
    annotationDoc = (AnnotationTypeDoc) classDoc;
} else {
    continue;
}
process(annotationDoc); …
Run Code Online (Sandbox Code Playgroud)

enums annotations javadoc doclet

5
推荐指数
1
解决办法
144
查看次数

maven-javadoc-plugin overwrites central repository

I have a problem with the Maven Javadoc Plugin and a custom doclet.

I'm using the maven-javadoc-plugin v2.10.1 and a custom doclet which is basicly a maven jar project.

I have also a settings.xml which defines the central repository to a custom artifactory.

The problem is that evertime I run the maven-javadoc-plugin it tries to resolves the dependencies of the custom doclet from https://repo.maven.apache.org/maven2, the doclet himself it resolves from the custom artifactory.
The debug output is also …

javadoc maven doclet maven-javadoc-plugin maven-jar-plugin

5
推荐指数
1
解决办法
5188
查看次数