1- import org.jetbrains.dokka.base.DokkaBase
2- import org.jetbrains.dokka.base.DokkaBaseConfiguration
3- import org.jetbrains.dokka.gradle.AbstractDokkaTask
4- import org.jetbrains.dokka.gradle.DokkaTask
51import java.time.Year
62import kotlin.text.Typography.copyright
73
@@ -15,6 +11,7 @@ plugins {
1511 alias(libs.plugins.android.library)
1612 alias(libs.plugins.kotlin.android)
1713 alias(libs.plugins.dokka)
14+ alias(libs.plugins.dokka.javadoc)
1815 id(" maven-publish" )
1916}
2017
@@ -87,17 +84,50 @@ dependencies {
8784
8885 implementation(libs.theoplayer) {
8986 version {
90- strictly(" [5.0, 9 .0)" )
87+ strictly(" [5.0, 10 .0)" )
9188 }
9289 }
9390
9491 dokkaPlugin(libs.dokka.plugin)
9592}
9693
94+ dokka {
95+ moduleName = rootProject.name
96+
97+ dokkaSourceSets.main {
98+ sourceLink {
99+ localDirectory = file(" src/main/java" )
100+ remoteUrl(" https://github.com/THEOplayer/android-ui/blob/${version} /ui/src/main/java" )
101+ remoteLineSuffix = " #L"
102+ }
103+
104+ externalDocumentationLinks {
105+ register(" com.theoplayer.android.api" ) {
106+ url(" https://www.theoplayer.com/docs/theoplayer/v8/api-reference/android/" )
107+ // Default package-list URL doesn't work on theoplayer.com... Use GitHub for now.
108+ packageListUrl(" https://raw.githubusercontent.com/THEOplayer/documentation/refs/heads/main/theoplayer/static/theoplayer/v8/api-reference/android/package-list" )
109+ }
110+ }
111+ }
112+
113+ pluginsConfiguration.html {
114+ customAssets.from(" assets/logo-icon.svg" )
115+ footerMessage = " $copyright ${Year .now().value} THEO Technologies"
116+ }
117+
118+ dokkaPublications.html {
119+ outputDirectory = rootDir.resolve(" site/api" )
120+ }
121+
122+ dokkaPublications.javadoc {
123+ enabled = true
124+ }
125+ }
126+
97127val dokkaJavadocJar = tasks.register<Jar >(" dokkaJavadocJar" ) {
98- group = " documentation "
99- from(tasks.dokkaJavadoc )
100- dependsOn(tasks.dokkaJavadoc )
128+ group = " dokka "
129+ from(tasks.dokkaGeneratePublicationJavadoc )
130+ dependsOn(tasks.dokkaGeneratePublicationJavadoc )
101131 archiveClassifier.set(" javadoc" )
102132}
103133
@@ -133,16 +163,3 @@ publishing {
133163 }
134164 }
135165}
136-
137- tasks.withType<AbstractDokkaTask >().configureEach {
138- moduleName = rootProject.name
139-
140- pluginConfiguration<DokkaBase , DokkaBaseConfiguration > {
141- customAssets = listOf (file(" assets/logo-icon.svg" ))
142- footerMessage = " $copyright ${Year .now().value} THEO Technologies"
143- }
144- }
145-
146- tasks.named<DokkaTask >(" dokkaHtml" ).configure {
147- outputDirectory.set(rootDir.resolve(" site/api" ))
148- }
0 commit comments