Я постепенно перевожу свой библиотечный проект с Java на Kotlin. У меня есть требование предоставить Javadoc как для библиотеки, так и для тестов инструментов Android. Я больше не могу использовать Javadoc, поскольку он умирает, когда видит файл *.kt. Поэтому я обратился к Dokka.
Моя проблема в том, что я могу легко генерировать Javadoc с помощью Dokka, но только для основного набора исходных кодов. Но я не могу заставить его генерировать документацию для моих инструментальных тестов.
У меня есть следующая конфигурация в градиенте сборки библиотеки:
apply plugin: 'org.jetbrains.dokka'
...
dokkaJavadoc.configure {
dokkaSourceSets {
named("main") {
// Main source set conf
outputDirectory = file("dokkadoc/service-doc")
includes.from(files("dokka_modules_test.md"))
sourceRoots.from(file("src/main/java"))
}
named("androidTest") {
// Test source set conf
outputDirectory = file("dokkadoc/service-test-doc")
includes.from(files("dokka_modules_test.md"))
sourceRoots.from(file("src/androidTest/java"))
}
configureEach {
// Shared conf for all source sets
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
В корне build.grade импортирую:
buildscript {
..
ext.dokka_version = '1.4.10.2'
repositories {
..
}
dependencies {
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
}
}
Что я делаю не так? Или я неправильно понял и не могу таким образом создавать отдельные Javadocs? Нужно ли генерировать задачи расширения для всех вариантов сборки, а-ля:
libraryVariants.all { variant ->
..
def variantDokkadoc = task("dokkadoc${variant.name.capitalize()}", type: org.jetbrains.dokka.gradle.DokkaTask) {
...
}
РЕДАКТИРОВАНИЕ:
Кажется, когда я создаю отдельную задачу для части тестов, вот так, она делает это:
// Dokka task for Service tests
task dokkaJavadocTests(type: org.jetbrains.dokka.gradle.DokkaTask) {
dokkaSourceSets {
named("main") {
outputDirectory.set(file("dokkadoc/service-test-doc"))
includes.from(files("dokka_modules_test.md"))
sourceRoots.setFrom(file("src/main/java"))
sourceRoots.from(file("src/androidTest/java"))
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
По какой-то причине мне приходится использовать
named("main")
в противном случае он игнорирует тестовые классы.
Кроме того, я все еще не могу создать версию Javadoc, он генерирует версию HTML.
Если я добавлю
outputFormat = "javadoc"
тогда он просто игнорирует его.
РЕДАКТИРОВАТЬ 2:
На данный момент я решил эту проблему, создав вторую задачу для тестов и сохранив их обе в формате HTML. Например:
// Main dokka task for the library
dokkaHtml.configure {
dokkaSourceSets {
named("main") {
// Main source set conf
outputDirectory.set(file("dokkadoc/${project.ext.versionNameDokkaDoc}"))
includes.from(files("dokka_modules_main.md"))
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
// Dokka task for the library tests
task dokkaHtmlTests(type: org.jetbrains.dokka.gradle.DokkaTask) {
dokkaSourceSets {
named("main") {
outputDirectory.set(file("dokkadoc/${project.ext.versionNameDokkaDocTests}"))
includes.from(files("dokka_modules_test.md"))
sourceRoots.setFrom(file("src/main/java"))
sourceRoots.from(file("src/androidTest/java"))
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/646 ... the-main-a
Как я могу создать Javadoc для своей библиотеки Android с помощью Dokka как для основного набора исходных кодов, так и д ⇐ Android
Форум для тех, кто программирует под Android
1761489794
Anonymous
Я постепенно перевожу свой библиотечный проект с Java на Kotlin. У меня есть требование предоставить Javadoc как для библиотеки, так и для тестов инструментов Android. Я больше не могу использовать Javadoc, поскольку он умирает, когда видит файл *.kt. Поэтому я обратился к Dokka.
Моя проблема в том, что я могу легко генерировать Javadoc с помощью Dokka, но только для основного набора исходных кодов. Но я не могу заставить его генерировать документацию для моих инструментальных тестов.
У меня есть следующая конфигурация в градиенте сборки библиотеки:
apply plugin: 'org.jetbrains.dokka'
...
dokkaJavadoc.configure {
dokkaSourceSets {
named("main") {
// Main source set conf
outputDirectory = file("dokkadoc/service-doc")
includes.from(files("dokka_modules_test.md"))
sourceRoots.from(file("src/main/java"))
}
named("androidTest") {
// Test source set conf
outputDirectory = file("dokkadoc/service-test-doc")
includes.from(files("dokka_modules_test.md"))
sourceRoots.from(file("src/androidTest/java"))
}
configureEach {
// Shared conf for all source sets
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
В корне build.grade импортирую:
buildscript {
..
ext.dokka_version = '1.4.10.2'
repositories {
..
}
dependencies {
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
}
}
Что я делаю не так? Или я неправильно понял и не могу таким образом создавать отдельные Javadocs? Нужно ли генерировать задачи расширения для всех вариантов сборки, а-ля:
libraryVariants.all { variant ->
..
def variantDokkadoc = task("dokkadoc${variant.name.capitalize()}", type: org.jetbrains.dokka.gradle.DokkaTask) {
...
}
РЕДАКТИРОВАНИЕ:
Кажется, когда я создаю отдельную задачу для части тестов, вот так, она делает это:
// Dokka task for Service tests
task dokkaJavadocTests(type: org.jetbrains.dokka.gradle.DokkaTask) {
dokkaSourceSets {
named("main") {
outputDirectory.set(file("dokkadoc/service-test-doc"))
includes.from(files("dokka_modules_test.md"))
sourceRoots.setFrom(file("src/main/java"))
sourceRoots.from(file("src/androidTest/java"))
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
По какой-то причине мне приходится использовать
named("main")
в противном случае он игнорирует тестовые классы.
Кроме того, я все еще не могу создать версию Javadoc, он генерирует версию HTML.
Если я добавлю
outputFormat = "javadoc"
тогда он просто игнорирует его.
РЕДАКТИРОВАТЬ 2:
На данный момент я решил эту проблему, создав вторую задачу для тестов и сохранив их обе в формате HTML. Например:
// Main dokka task for the library
dokkaHtml.configure {
dokkaSourceSets {
named("main") {
// Main source set conf
outputDirectory.set(file("dokkadoc/${project.ext.versionNameDokkaDoc}"))
includes.from(files("dokka_modules_main.md"))
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
// Dokka task for the library tests
task dokkaHtmlTests(type: org.jetbrains.dokka.gradle.DokkaTask) {
dokkaSourceSets {
named("main") {
outputDirectory.set(file("dokkadoc/${project.ext.versionNameDokkaDocTests}"))
includes.from(files("dokka_modules_test.md"))
sourceRoots.setFrom(file("src/main/java"))
sourceRoots.from(file("src/androidTest/java"))
noAndroidSdkLink.set(false)
includeNonPublic.set(false)
skipEmptyPackages.set(true)
reportUndocumented.set(true)
skipDeprecated.set(false)
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/64659317/how-can-i-generate-javadoc-for-my-android-library-with-dokka-for-both-the-main-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия