diff --git a/buildSrc/src/main/kotlin/Plugins.kt b/buildSrc/src/main/kotlin/Plugins.kt index 865afc7f73..928c296638 100644 --- a/buildSrc/src/main/kotlin/Plugins.kt +++ b/buildSrc/src/main/kotlin/Plugins.kt @@ -27,6 +27,7 @@ object Plugins { const val navSafeArgs = "androidx.navigation.safeargs.kotlin" const val spotless = "com.diffplug.spotless" const val ruler = "com.spotify.ruler" + const val dokka = "org.jetbrains.dokka" } // classpath plugins @@ -39,5 +40,7 @@ object Plugins { object Versions { const val androidGradlePlugin = "7.0.2" + // Use Dokka 1.6.10 until https://github.com/Kotlin/dokka/issues/2472 is resolved. + const val dokka = "1.6.10" } } diff --git a/datacapture/build.gradle.kts b/datacapture/build.gradle.kts index 0d13d34837..64826b6f5f 100644 --- a/datacapture/build.gradle.kts +++ b/datacapture/build.gradle.kts @@ -1,8 +1,12 @@ +import java.net.URL + plugins { id(Plugins.BuildPlugins.androidLib) id(Plugins.BuildPlugins.kotlinAndroid) id(Plugins.BuildPlugins.mavenPublish) jacoco + // Use Dokka 1.6.10 until https://github.com/Kotlin/dokka/issues/2452 is resolved. + id(Plugins.BuildPlugins.dokka).version(Plugins.Versions.dokka) } publishArtifact(Releases.DataCapture) @@ -87,3 +91,21 @@ dependencies { testImplementation(Dependencies.truth) androidTestImplementation(Dependencies.Espresso.espressoCore) } + +tasks.dokkaHtml.configure { + outputDirectory.set(file("../docs/${Releases.DataCapture.artifactId}")) + suppressInheritedMembers.set(true) + dokkaSourceSets { + named("main") { + moduleName.set(Releases.DataCapture.artifactId) + moduleVersion.set(Releases.DataCapture.version) + noAndroidSdkLink.set(false) + externalDocumentationLink { + url.set(URL("https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-structures-r4/")) + packageListUrl.set( + URL("https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-structures-r4/element-list") + ) + } + } + } +} diff --git a/engine/build.gradle.kts b/engine/build.gradle.kts index fb25c1a829..8a2a786157 100644 --- a/engine/build.gradle.kts +++ b/engine/build.gradle.kts @@ -1,4 +1,5 @@ import codegen.GenerateSourcesTask +import java.net.URL plugins { id(Plugins.BuildPlugins.androidLib) @@ -6,6 +7,8 @@ plugins { id(Plugins.BuildPlugins.kotlinKapt) id(Plugins.BuildPlugins.mavenPublish) jacoco + // Use Dokka 1.6.10 until https://github.com/Kotlin/dokka/issues/2452 is resolved. + id(Plugins.BuildPlugins.dokka).version(Plugins.Versions.dokka) } publishArtifact(Releases.Engine) @@ -135,3 +138,21 @@ dependencies { testImplementation(Dependencies.robolectric) testImplementation(Dependencies.truth) } + +tasks.dokkaHtml.configure { + outputDirectory.set(file("../docs/${Releases.Engine.artifactId}")) + suppressInheritedMembers.set(true) + dokkaSourceSets { + named("main") { + moduleName.set(Releases.Engine.artifactId) + moduleVersion.set(Releases.Engine.version) + noAndroidSdkLink.set(false) + externalDocumentationLink { + url.set(URL("https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-structures-r4/")) + packageListUrl.set( + URL("https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-structures-r4/element-list") + ) + } + } + } +} diff --git a/workflow/build.gradle.kts b/workflow/build.gradle.kts index b028fcfa38..b9f2843dc3 100644 --- a/workflow/build.gradle.kts +++ b/workflow/build.gradle.kts @@ -1,8 +1,11 @@ +import java.net.URL + plugins { id(Plugins.BuildPlugins.androidLib) id(Plugins.BuildPlugins.kotlinAndroid) id(Plugins.BuildPlugins.mavenPublish) jacoco + id(Plugins.BuildPlugins.dokka).version(Plugins.Versions.dokka) } publishArtifact(Releases.Workflow) @@ -139,3 +142,21 @@ dependencies { testImplementation(Dependencies.truth) testImplementation(project(":testing")) } + +tasks.dokkaHtml.configure { + outputDirectory.set(file("../docs/${Releases.Workflow.artifactId}")) + suppressInheritedMembers.set(true) + dokkaSourceSets { + named("main") { + moduleName.set(Releases.Workflow.artifactId) + moduleVersion.set(Releases.Workflow.version) + noAndroidSdkLink.set(false) + externalDocumentationLink { + url.set(URL("https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-structures-r4/")) + packageListUrl.set( + URL("https://hapifhir.io/hapi-fhir/apidocs/hapi-fhir-structures-r4/element-list") + ) + } + } + } +}