diff --git a/.buildscript/prepare_mkdocs.sh b/.buildscript/prepare_mkdocs.sh index b9bbebc2cc..de7be3a342 100755 --- a/.buildscript/prepare_mkdocs.sh +++ b/.buildscript/prepare_mkdocs.sh @@ -9,7 +9,7 @@ set -ex # Generate the API docs -./gradlew dokkaHtml +./gradlew dokkaGenerateHtml # Copy in special files that GitHub wants in the project root. cp CHANGELOG.md docs/changelog.md diff --git a/build-support/src/main/kotlin/com/squareup/wire/buildsupport/WireBuildPlugin.kt b/build-support/src/main/kotlin/com/squareup/wire/buildsupport/WireBuildPlugin.kt index 0329c06d23..01eb44e881 100644 --- a/build-support/src/main/kotlin/com/squareup/wire/buildsupport/WireBuildPlugin.kt +++ b/build-support/src/main/kotlin/com/squareup/wire/buildsupport/WireBuildPlugin.kt @@ -48,7 +48,7 @@ import org.gradle.kotlin.dsl.get import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.withType -import org.jetbrains.dokka.gradle.DokkaTask +import org.jetbrains.dokka.gradle.DokkaExtension import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension @@ -370,14 +370,6 @@ private class WireBuildExtensionImpl(private val project: Project) : WireBuildEx val mavenPublishing = project.extensions.getByName("mavenPublishing") as MavenPublishBaseExtension mavenPublishing.apply { - // The Gradle plugin publish plugin configures `wire-gradle-plugin` for us, and we don't need - // to configure `wire-bom`. - if (!project.isWireGradlePlugin && !project.isWireBom) { - // TODO(Benoit) Fix, this is failing with - // `SoftwareComponent with name 'java' not found.` - // configure(KotlinJvm(javadocJar = Dokka("dokkaHtml"), sourcesJar = true)) - } - publishToMavenCentral(automaticRelease = true) val inMemoryKey = project.findProperty("signingInMemoryKey") as String? if (!inMemoryKey.isNullOrEmpty()) { @@ -416,8 +408,10 @@ private class WireBuildExtensionImpl(private val project: Project) : WireBuildEx if (project.isWireBom) return - project.tasks.withType(DokkaTask::class.java).configureEach { - outputDirectory.set(project.file("${project.rootDir}/docs/3.x/${project.name}")) + project.extensions.configure(DokkaExtension::class.java) { + dokkaPublications.named("html") { + outputDirectory.set(project.file("${project.rootDir}/docs/3.x/${project.name}")) + } dokkaSourceSets.configureEach { reportUndocumented.set(false) skipDeprecated.set(true) diff --git a/wire-compiler/build.gradle.kts b/wire-compiler/build.gradle.kts index edbd0598bf..4b008989c2 100644 --- a/wire-compiler/build.gradle.kts +++ b/wire-compiler/build.gradle.kts @@ -4,6 +4,7 @@ plugins { application kotlin("jvm") id("org.jetbrains.kotlin.plugin.serialization") + id("org.jetbrains.dokka") id("com.gradleup.shadow").apply(false) } @@ -32,4 +33,6 @@ dependencies { testImplementation(libs.assertk) testImplementation(libs.kotlin.test.junit) testImplementation(projects.wireTestUtils) + + dokka(projects.wireGradlePlugin) } diff --git a/wire-runtime/src/commonMain/kotlin/com/squareup/wire/ProtoReader32.kt b/wire-runtime/src/commonMain/kotlin/com/squareup/wire/ProtoReader32.kt index f3c3b2884e..8355b60827 100644 --- a/wire-runtime/src/commonMain/kotlin/com/squareup/wire/ProtoReader32.kt +++ b/wire-runtime/src/commonMain/kotlin/com/squareup/wire/ProtoReader32.kt @@ -52,8 +52,9 @@ interface ProtoReader32 { /** * Begin a nested message. A call to this method will restrict the reader so that [nextTag] - * returns -1 when the message is complete. An accompanying call to [endMessage] must then occur - * with the opaque token returned from this method. + * returns -1 when the message is complete. An accompanying call to + * [endMessageAndGetUnknownFields] must then occur with the opaque token returned from this + * method. */ @Throws(IOException::class) fun beginMessage(): Int diff --git a/wire-runtime/src/commonMain/kotlin/com/squareup/wire/internal/RuntimeMessageAdapter.kt b/wire-runtime/src/commonMain/kotlin/com/squareup/wire/internal/RuntimeMessageAdapter.kt index 2e618a4666..2c08a19815 100644 --- a/wire-runtime/src/commonMain/kotlin/com/squareup/wire/internal/RuntimeMessageAdapter.kt +++ b/wire-runtime/src/commonMain/kotlin/com/squareup/wire/internal/RuntimeMessageAdapter.kt @@ -35,7 +35,7 @@ class RuntimeMessageAdapter( /** * Field bindings by index. The indexes are consistent across all related fields including - * [jsonNames], [jsonAlternateNames], and the result of [jsonAdapters]. + * [jsonNames], [jsonAlternateNames], and the result of [writeAllFields]'s `jsonAdapters`. */ val fieldBindingsArray: Array> = fields.values.toTypedArray() val jsonNames: List = fieldBindingsArray.map { it.jsonName } diff --git a/wire-runtime/src/jvmMain/kotlin/com/squareup/wire/internal/JsonIntegration.kt b/wire-runtime/src/jvmMain/kotlin/com/squareup/wire/internal/JsonIntegration.kt index 72ac4341e5..b14b013115 100644 --- a/wire-runtime/src/jvmMain/kotlin/com/squareup/wire/internal/JsonIntegration.kt +++ b/wire-runtime/src/jvmMain/kotlin/com/squareup/wire/internal/JsonIntegration.kt @@ -54,7 +54,10 @@ abstract class JsonIntegration { /** Returns an adapter that applies [jsonStringAdapter] to each value. */ abstract fun formatterAdapter(jsonStringAdapter: JsonFormatter<*>): A - /** Returns a message type that supports encoding and decoding JSON objects of type [type]. */ + /** + * Returns a list of adapters that support encoding and decoding JSON objects of each specific + * message type. + */ fun jsonAdapters( adapter: RuntimeMessageAdapter, framework: F,