【问题标题】:Disable javadoc check for Bintray upload禁用 Bintray 上传的 javadoc 检查
【发布时间】:2016-01-16 15:03:13
【问题描述】:

我正在尝试将我的库的新版本上传到 Bintray,但出现错误。

我所做的更改之一是在我的 Javadoc 中添加了一个自定义属性。例如:

/**
 * The method does something.
 *
 * @param myParameter This is my parameter
 * @see #anotherMethod(int)
 * @attr ref R.styleable#MyLibrary_anAttribute
 */

我添加的自定义属性标签是@attr ref,它会在生成 Javadoc HTML 时显示相关的 XML 属性(就像在 Android 开发者文档中一样)。我在我的 IDE (Android Studio) 中将此作为自定义标签添加,但在上传到 Bintray 时会导致错误。另外,我正在使用 novoda bintray 插件 - 这是我的build.gradle 的一部分。

apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'

...

publish {
    ...
}

所以当我在终端运行以下命令时:

gradlew bintrayUpload -PbintrayUser=me -PbintrayKey=key -PdryRun=false

我收到以下错误:

:mylibrary:compileDebugJavaWithJavac UP-TO-DATE      
:mylibrary:mavenAndroidJavadocs
C:\Users\...\ALibraryFile.java:216: error: unknown tag: attr
 * @attr ref R.styleable#MyLibrary_anAttribute

...

13 errors                                             
:mylibrary:mavenAndroidJavadocs FAILED          

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mylibrary:mavenAndroidJavadocs'.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): 'C:\Users\...\build\tmp\mavenAndroidJavadocs\javadoc.options'

* Try:        
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED  

Total time: 12.711 secs

有没有办法解决这个问题(例如,禁用这个 javadoc 检查?)

【问题讨论】:

  • 似乎禁用 JavaDoc 生成只是掩盖了问题。我能够使用./gradlew javadoc 找到错误。见this answer

标签: android javadoc bintray


【解决方案1】:

我设法通过将以下内容添加到我的项目的build.gradle 中来解决我的问题:

allprojects {
    tasks.withType(Javadoc) {
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
    }
}

我找到了我的答案from this comment on a GitHub issue - 你也可以查看GitHub commit that resolved the issue

【讨论】:

    【解决方案2】:

    我认为这不是最好的方法,但它对我有用。添加

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

    到您的 build.gradle

    【讨论】:

      【解决方案3】:

      Javadoc 工件是由插件创建的默认 Maven 发布创建的工件之一。
      插件documentation 解释了如何创建自定义出版物。您可以使用此选项来创建不包含 javadoc 工件或更改 Javadoc 生成方式的自定义发布。

      【讨论】:

        猜你喜欢
        • 2020-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-02
        • 2015-08-03
        • 2020-11-17
        相关资源
        最近更新 更多