Как да публикувате библиотека на Kotlin-Android в jCenter

Изглежда има липса на информация за това как да публикувате библиотека с Android, написана в Котлин до jCenter. Ако търсите как да публикувате Android библиотека в jCenter, може би сте попаднали на тази публикация, която твърди, че има решение. Въпреки че това решение вероятно е работило в даден момент, в момента то не работи. Въпреки това, той дава важен намек, който можем да използваме, за да поправим любимия ми начин да публикувам библиотека.

Моят личен любим пост за това как да публикувам библиотека в Android е статия в inthecheesefactory.com. Ако вашата библиотека е написана на Kotlin, това решение продължава да се появява грешка. Тази публикация е за това какви промени трябва да направите, за да накарате това решение да работи. Сигурен съм, че това решение е работило веднъж, но изглежда, че е старо и вече не работи.

Основната грешка, която получавате, когато се опитате да използвате метода, очертан от inthecheesefactory, е, че JavaDoc не се генерира и това кара скрипта да се откаже.

Решението за това е просто

В /lib/build.gradle в горната част добавете приставка dokka-android след приставката kotlin-android.

прилагам плъгин: 'com.android.library'
прилагам плъгин: 'kotlin-android'
прилагам плъгин: 'org.jetbrains.dokka-android'

След това конфигурирайте dokka (все още под lib / build.gradle).

android {
    ...
}

dokka {
    outputFormat = 'html'
    outputDirectory = "$ buildDir / javadoc"
}

И накрая, inthecheesefactory.com ви дава следните 2 файла, които да включите.

кандидатствайте от: „https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle“
кандидатствайте от: „https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle“

Трябва да изтеглите и редактирате файла bintrayv1.gradle, първият блок код трябва да изглежда така:

if (project.hasProperty ("android")) {// библиотеки за Android
    задачи източнициJar (тип: Jar) {
        classifier = 'източници'
        от android.sourceSets.main.java.srcDirs
    }

    задача javadoc (тип: Javadoc) {
        source = android.sourceSets.main.java.srcDirs
        classpath + = project.files (android.getBootClasspath (). join (File.pathSeparator))
    }
}

Трябва да направите промените по-долу.

if (project.hasProperty ("kotlin")) {// Kotlin библиотеки
    задачи източнициJar (тип: Jar) {
        classifier = 'източници'
        от android.sourceSets.main.java.srcDirs
    }

    задача javadoc (тип: Javadoc, зависи от: dokka) {

    }
} else if (project.hasProperty ("android")) {// библиотеки за Android
    задачи източнициJar (тип: Jar) {
        classifier = 'източници'
        от android.sourceSets.main.java.srcDirs
    }

    задача javadoc (тип: Javadoc, зависи от: dokka) {
        source = android.sourceSets.main.java.srcDirs
        classpath + = project.files (android.getBootClasspath (). join (File.pathSeparator))
    }
}

По принцип ние му казваме, че използването на javadoc задача зависи от dokka. Задачата javadoc не прави нищо друго, освен задейства dokka, която е конфигурирана под lib / build.gradle.

Трябва да поставите редактирания файл под директорията на lib и след това вашата заявка трябва да изглежда така:

кандидатствайте от: „https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle“
кандидатства от: 'bintrayv1.gradle'

Това трябва да бъде! Вече би трябвало да можете да изградите и разгърнете библиотеката си, за да премествате.

накрая

Не съм сложил целия си код, надявам се да се свържа в thecheesefactory и да ги накарам да актуализират своя блог и техния код. Ако това работи или не, ще докладвам тук. Харесвайте статията, така че да сте сигурни, че не пропускате обновяването на Android.

И накрая, За да създадете страхотни приложения за Android, прочетете още моите статии.

Супер! стигнахте до края! Трябва да се мотаем! не се колебайте да ме следвате в Medium, LinkedIn, Google+ или Twitter.