diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ec4717a..fdb9c78d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ ## Unreleased +## 0.9.2 + +### Added + +- **Codegen is now published to Maven Central.** The `supabase-codegen` CLI/library and the + `io.github.androidpoet.supabase.codegen` Gradle plugin (`supabase-codegen-gradle`) are published + under the same `io.github.androidpoet` group as the rest of the SDK. Apply the plugin with + `plugins { id("io.github.androidpoet.supabase.codegen") version "0.9.2" }` (add `mavenCentral()` to + `pluginManagement.repositories`), or run the CLI, to generate `@Serializable` models from your + Supabase schema. The generator is a JVM build-time tool (like `supabase gen types`); only the code + it emits is multiplatform-common, so it works for any KMP target set including Android+iOS-only. + ### Removed - **`AdminUserAttributes.nonce`** — removed a non-functional field. GoTrue's admin diff --git a/buildSrc/src/main/kotlin/io/github/androidpoet/supabase/Configuration.kt b/buildSrc/src/main/kotlin/io/github/androidpoet/supabase/Configuration.kt index e0a5a65a..67b8db4d 100644 --- a/buildSrc/src/main/kotlin/io/github/androidpoet/supabase/Configuration.kt +++ b/buildSrc/src/main/kotlin/io/github/androidpoet/supabase/Configuration.kt @@ -2,7 +2,7 @@ package io.github.androidpoet.supabase object Configuration { const val GROUP = "io.github.androidpoet" - const val VERSION = "0.9.1" + const val VERSION = "0.9.2" const val COMPILE_SDK = 35 const val MIN_SDK = 21 } diff --git a/supabase-codegen-gradle/build.gradle.kts b/supabase-codegen-gradle/build.gradle.kts index 09d6a83d..7772443d 100644 --- a/supabase-codegen-gradle/build.gradle.kts +++ b/supabase-codegen-gradle/build.gradle.kts @@ -1,6 +1,9 @@ +import io.github.androidpoet.supabase.Configuration + plugins { `java-gradle-plugin` alias(libs.plugins.kotlin.jvm) + alias(libs.plugins.vanniktech.publish) } kotlin { jvmToolchain(17) } @@ -24,3 +27,11 @@ gradlePlugin { } } } + +// With java-gradle-plugin applied, vanniktech also publishes the plugin *marker* +// artifact (io.github.androidpoet.supabase.codegen:…gradle.plugin), so consumers can +// apply it via `plugins { id("io.github.androidpoet.supabase.codegen") version "…" }` +// after adding mavenCentral() to pluginManagement.repositories. +mavenPublishing { + coordinates(Configuration.GROUP, "supabase-codegen-gradle", Configuration.VERSION) +} diff --git a/supabase-codegen/build.gradle.kts b/supabase-codegen/build.gradle.kts index a5f9359d..83d35173 100644 --- a/supabase-codegen/build.gradle.kts +++ b/supabase-codegen/build.gradle.kts @@ -1,6 +1,9 @@ +import io.github.androidpoet.supabase.Configuration + plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.vanniktech.publish) application } @@ -18,3 +21,10 @@ application { // CLI entry point: fetch a project's schema and generate Kotlin models. mainClass.set("io.github.androidpoet.supabase.codegen.MainKt") } + +// Published so the Gradle plugin (which depends on this module) resolves its +// transitive coordinate from Maven Central. This is a JVM build-time tool, not a +// KMP artifact — only the code it *generates* is multiplatform-common. +mavenPublishing { + coordinates(Configuration.GROUP, "supabase-codegen", Configuration.VERSION) +}