Как сгенерировать source.jar публичного API AAR с закрытым исходным кодом?

Мы разрабатываем библиотеку с закрытыми исходными кодами на Kotlin, которая выпускается как AAR. К сожалению, наши пользователи не могут видеть KDoc (JavaDoc для Kotlin) в IDE. Поэтому мы хотим выпустить только исходный код общедоступного API. Внутреннее устройство и общедоступный API можно распространять с помощью пакетов foo.bar.api.* и foo.bar.internal.*.

Возможно ли это с Gradle 3.4?

Я нашел Создание библиотеки Android AAR, включая javadoc и исходники, но мы не хочу включать все источники.


person Chriss    schedule 24.01.2019    source источник
comment
Привет @chriss, Вы нашли на это ответ?   -  person ben_joseph    schedule 12.03.2020
comment
@notsopopularguy да, мы создаем банку с исходными кодами и включаем только пакеты api   -  person Chriss    schedule 23.03.2020


Ответы (1)


Предположим, вы уже знаете, как создавать и использовать артефакты javadoc и sources. Тип Jar создает только специальный zip-архив и копирует файлы в него. Таким образом, вы также можете исключить файлы:

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    baseName = artifact_id
    from android.sourceSets.main.java.srcDirs
    exclude 'foo./bar/internal/**'
}
person tynn    schedule 24.01.2019