Страницы

Поиск по вопросам

пятница, 10 января 2020 г.

Android Library различия -source и -javadocs артефактов

#android #gradle #android_library #javadoc


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



Ни в одной библиотеке, которую я использовал до этого не было такого алерта, следовательно
- я где-то накосячил в таске формирования -source и -javadocs артефактов.

Может кто сталкивался с этим до меня?

Скрипт формирования артефактов:

android.libraryVariants.all { variant ->
    def javadocTask = task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
        description "Generates Javadoc for $variant.name."
        source = variant.javaCompile.source
        ext.androidJar = project.files(android.getBootClasspath().join(File.pathSeparator))
        classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)
        exclude '**/BuildConfig.java'
        exclude '**/R.java'
    }

    javadocTask.dependsOn variant.javaCompile

    def jarJavadocTask = task("jar${variant.name.capitalize()}Javadoc", type: Jar) {
        description "Generate Javadoc Jar for $variant.name"
        classifier = 'javadoc'
        from javadocTask.destinationDir
    }

    jarJavadocTask.dependsOn javadocTask
    artifacts.add('archives', jarJavadocTask)

    def jarSourceTask = task("jar${variant.name.capitalize()}Sources", type: Jar) {
        description "Generates Java Sources for $variant.name."
        classifier = 'sources'
        from variant.javaCompile.source
    }

    jarSourceTask.dependsOn variant.javaCompile
    artifacts.add('archives', jarSourceTask)
}


Сама библиотека: https://bintray.com/ztrap-llc/maven/FormattedEditText/
    


Ответы

Ответ 1



Разобрался (правда не без пары вырванных клоков волос). Косяк действительно допустил я. Но узнать в каком именно месте, мне не удалось, т.к. на просторе GitHub'ов я позаимствовал скрипт, который (О, чудо!) идеально отработал. Ниже сам скрипт: task androidJavadocs(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) classpath += configurations.compile } task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { classifier = 'javadoc' from androidJavadocs.destinationDir } task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles } artifacts { archives androidSourcesJar archives androidJavadocsJar }

Комментариев нет:

Отправить комментарий