Отключить проверку javadoc для загрузки Bintray

Я пытаюсь загрузить новую версию своей библиотеки в Bintray, но получаю ошибки.

Одним из изменений, которые я сделал, было добавление настраиваемого атрибута в мою документацию Javadoc. Например:

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

Я добавил тег настраиваемого атрибута @attr ref, который будет отображать связанные атрибуты XML при генерации Javadoc HTML (как в документации разработчика 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?) ?


person Farbod Salamat-Zadeh    schedule 16.01.2016    source источник
comment
Похоже, что отключение генерации JavaDoc просто маскирует проблему. Мне удалось найти ошибку с помощью ./gradlew javadoc. См. этот ответ.   -  person Suragch    schedule 18.08.2017


Ответы (3)


Мне удалось решить мою проблему, добавив в свой проект build.gradle следующее:

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

Я нашел свой ответ из этого комментария к проблеме GitHub - вы также можно просмотреть фиксацию GitHub, которая устранила проблему.

person Farbod Salamat-Zadeh    schedule 27.03.2016

Не думаю, что это лучший способ, но у меня он работает. Добавлять

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

в ваш build.gradle.

person Kyaw San Oo    schedule 29.07.2017

Артефакты Javadoc - это один из артефактов, созданных публикацией Maven по умолчанию, которая создается плагином.
Плагин документация объясняет, как создать настраиваемую публикацию. Вы можете использовать эту опцию для создания настраиваемой публикации, которая не будет включать артефакт javadoc или изменить способ создания документации Javadoc.

person Dror Bereznitsky    schedule 21.01.2016