Use Dokka HtmlMultiModule (#1024)

* Use Dokka HtmlMultiModule

* Use the default destination directory
This commit is contained in:
Jesse Wilson
2023-06-01 10:45:28 -04:00
committed by GitHub
parent 4f77e66907
commit a82672149f
10 changed files with 31 additions and 57 deletions

View File

@@ -3,11 +3,13 @@ import com.diffplug.gradle.spotless.SpotlessExtension
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import com.vanniktech.maven.publish.SonatypeHost
import java.net.URI
import java.net.URL
import kotlinx.validation.ApiValidationExtension
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.dokka.DokkaConfiguration.Visibility
import org.jetbrains.dokka.gradle.DokkaMultiModuleTask
import org.jetbrains.dokka.gradle.DokkaTask
import org.jetbrains.dokka.gradle.DokkaTaskPartial
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
@@ -40,10 +42,6 @@ plugins {
}
apply(plugin = "org.jetbrains.dokka")
tasks.named("dokkaHtmlMultiModule", DokkaMultiModuleTask::class.java).configure {
removeChildTask(":zipline-cli")
removeChildTask(":zipline-kotlin-plugin")
}
apply(plugin = "com.vanniktech.maven.publish.base")
@@ -102,19 +100,34 @@ subprojects {
}
}
tasks.named("dokkaHtmlMultiModule", DokkaMultiModuleTask::class.java).configure {
moduleName.set("Zipline")
}
allprojects {
tasks.withType<DokkaTask>().configureEach {
tasks.withType<DokkaTaskPartial>().configureEach {
dokkaSourceSets.configureEach {
documentedVisibilities.set(setOf(
Visibility.PUBLIC,
Visibility.PROTECTED
))
reportUndocumented.set(false)
skipDeprecated.set(true)
jdkVersion.set(8)
perPackageOption {
matchingRegex.set("app\\.cash\\.zipline\\.internal\\.*")
matchingRegex.set("app\\.cash\\.zipline\\.internal\\..*")
suppress.set(true)
}
}
if (name == "dokkaGfm") {
outputDirectory.set(project.file("${project.rootDir}/docs/0.x"))
perPackageOption {
matchingRegex.set("app\\.cash\\.zipline\\.loader\\.internal\\..*")
suppress.set(true)
}
sourceLink {
localDirectory.set(rootProject.projectDir)
remoteUrl.set(URL("https://github.com/cashapp/zipline/tree/trunk/"))
remoteLineSuffix.set("#L")
}
}
}

View File

@@ -6,7 +6,6 @@ plugins {
kotlin("kapt")
application
id("com.github.gmazzo.buildconfig")
id("org.jetbrains.dokka")
id("com.vanniktech.maven.publish.base")
}
@@ -28,14 +27,6 @@ tasks.named("distTar").configure {
enabled = false
}
// https://github.com/Kotlin/dokka/issues/1833
tasks.named("dokkaGfm").configure {
dependsOn(tasks.named("kaptKotlin"))
}
tasks.named("dokkaHtmlPartial").configure {
dependsOn(tasks.named("kaptKotlin"))
}
// Remove default .jar output artifact.
configurations.archives.configure {
artifacts.clear()
@@ -70,5 +61,5 @@ dependencies {
}
mavenPublishing {
configure(KotlinJvm(javadocJar = JavadocJar.Dokka("dokkaGfm")))
configure(KotlinJvm(javadocJar = JavadocJar.Empty()))
}

View File

@@ -78,7 +78,7 @@ tasks {
configure<MavenPublishBaseExtension> {
configure(
GradlePlugin(
javadocJar = JavadocJar.Empty(), sourcesJar = true
javadocJar = JavadocJar.Empty()
)
)
}

View File

@@ -180,23 +180,3 @@ internal object ZiplineCompiler {
return app.cash.zipline.internal.getModuleDependencies(quickJs)
}
}
/**
* Compile .js files to .zipline files. This is intended for internal use only; callers should
* instead use the Gradle plugin.
*/
fun main(vararg args: String) {
val argsList = args.toMutableList()
val inputDir = File(argsList.removeFirst())
val outputDir = File(argsList.removeFirst())
outputDir.mkdirs()
ZiplineCompiler.compile(
inputDir = inputDir,
outputDir = outputDir,
mainFunction = argsList.removeFirstOrNull(),
mainModuleId = argsList.removeFirstOrNull(),
manifestSigner = null,
version = argsList.removeFirstOrNull(),
)
}

View File

@@ -1,5 +1,6 @@
plugins {
kotlin("jvm")
id("org.jetbrains.dokka")
}
dependencies {

View File

@@ -6,7 +6,6 @@ plugins {
kotlin("jvm")
kotlin("kapt")
id("com.github.gmazzo.buildconfig")
id("org.jetbrains.dokka")
id("com.vanniktech.maven.publish.base")
}
@@ -34,11 +33,3 @@ configure<MavenPublishBaseExtension> {
)
)
}
// https://github.com/Kotlin/dokka/issues/1833
tasks.named("dokkaGfm").configure {
dependsOn(tasks.named("kaptKotlin"))
}
tasks.named("dokkaHtmlPartial").configure {
dependsOn(tasks.named("kaptKotlin"))
}

View File

@@ -159,5 +159,5 @@ afterEvaluate {
}
configure<MavenPublishBaseExtension> {
configure(KotlinMultiplatform(javadocJar = JavadocJar.Dokka("dokkaGfm")))
configure(KotlinMultiplatform(javadocJar = JavadocJar.Empty()))
}

View File

@@ -45,7 +45,7 @@ import platform.Security.kSecAttrKeyTypeECSECPrimeRandom
import platform.Security.kSecKeyAlgorithmECDSASignatureDigestX962SHA256
/** Note that we only implement [verify] on iOS because that's all we need (currently). */
class EcdsaP256 : SignatureAlgorithm {
internal class EcdsaP256 : SignatureAlgorithm {
override fun sign(message: ByteString, privateKey: ByteString): ByteString {
error("signing is not implemented on iOS")
}

View File

@@ -60,5 +60,5 @@ kotlin {
}
configure<MavenPublishBaseExtension> {
configure(KotlinMultiplatform(javadocJar = JavadocJar.Dokka("dokkaGfm")))
configure(KotlinMultiplatform(javadocJar = JavadocJar.Empty()))
}

View File

@@ -293,8 +293,6 @@ fun quickJsVersion(): String {
configure<MavenPublishBaseExtension> {
configure(
KotlinMultiplatform(
javadocJar = JavadocJar.Dokka("dokkaGfm")
)
KotlinMultiplatform(javadocJar = JavadocJar.Empty())
)
}