From 03bd04acb653f70dedaa61de22f8bf2998af842a Mon Sep 17 00:00:00 2001 From: Jacob Derynk Date: Wed, 7 Jan 2026 13:58:14 +0100 Subject: [PATCH 1/3] Fix: Update and centralize Maven publishing configuration This commit refactors the publishing setup for the `library` and `library-compose` modules, moving project-specific POM metadata from `gradle.properties` files directly into the module-level `build.gradle.kts` files using the `mavenPublishing` extension. Key changes: - Removed legacy `POM_*` properties from `gradle.properties` files in the root and library modules. - Configured explicit `coordinates` and `pom` metadata within `library/build.gradle.kts` and `library-compose/build.gradle.kts`. - Updated `androidTarget` in `library-compose` to publish both `release` and `debug` variants. - Simplified root `gradle.properties` by removing redundant publishing and signing configurations. - Removed the explicit `KotlinMultiplatform()` configuration call in `library-compose` in favor of manual coordinate and POM setup. --- gradle.properties | 26 ++--------------------- library-compose/build.gradle.kts | 35 +++++++++++++++++++++++++++---- library-compose/gradle.properties | 2 -- library/build.gradle.kts | 33 +++++++++++++++++++++++++++++ library/gradle.properties | 3 --- 5 files changed, 66 insertions(+), 33 deletions(-) delete mode 100644 library-compose/gradle.properties delete mode 100644 library/gradle.properties diff --git a/gradle.properties b/gradle.properties index 7aa92fe..8a0d2f7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,30 +1,8 @@ -GROUP=app.futured.donut -VERSION_NAME=2.X.X-SNAPSHOT -POM_DESCRIPTION=Doughnut-like graph view capable of displaying multiple datasets with assignable colors -POM_INCEPTION_YEAR=2020 -POM_URL=https://github.com/futuredapp/donut -POM_SCM_URL=https://github.com/futuredapp/donut -POM_SCM_CONNECTION=scm:git:git://github.com/futuredapp/donut.git -POM_SCM_DEV_CONNECTION=scm:git:ssh://github.com/futuredapp/donut.git -POM_LICENCE_NAME=MIT -POM_LICENCE_URL=https://github.com/futuredapp/donut/blob/master/LICENCE -POM_LICENCE_DIST=repo -POM_DEVELOPER_ID=futured -POM_DEVELOPER_NAME=Futured -POM_DEVELOPER_URL=https://futured.app -SONATYPE_HOST=CENTRAL_PORTAL -RELEASE_SIGNING_ENABLED=true -# Properties necessary for mavenCentral publishing -mavenCentralPublishing=true -signAllPublications=true -mavenCentralAutomaticPublishing=true -# ORG_GRADLE_PROJECT_SIGNING_PRIVATE_KEY=GPG signing key -# ORG_GRADLE_PROJECT_SIGNING_PASSWORD=GPG password -# ORG_GRADLE_PROJECT_mavenCentralRepositoryUsername=maven central nexus username -# ORG_GRADLE_PROJECT_mavenCentralRepositoryPassword=maven central nexus password org.gradle.jvmargs=-Xmx1536m kotlin.code.style=official android.useAndroidX=true android.enableJetifier=true android.nonTransitiveRClass=true android.nonFinalResIds=true +mavenCentralPublishing=true +signAllPublications=true diff --git a/library-compose/build.gradle.kts b/library-compose/build.gradle.kts index de842ef..8bff8cf 100644 --- a/library-compose/build.gradle.kts +++ b/library-compose/build.gradle.kts @@ -1,5 +1,3 @@ -import com.vanniktech.maven.publish.KotlinMultiplatform - plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.android.library) @@ -14,7 +12,7 @@ kotlin { jvmToolchain(ProjectSettings.Kotlin.JvmToolchainVersion) androidTarget { - publishLibraryVariants("release") + publishLibraryVariants("release", "debug") compilations.all { compileTaskProvider.configure { @@ -60,5 +58,34 @@ android { } mavenPublishing { - configure(KotlinMultiplatform()) + coordinates( + groupId = "app.futured.donut", + artifactId = "donut-compose", + version = project.findProperty("VERSION_NAME") as String? ?: "2.X.X-SNAPSHOT" + ) + + pom { + name = "Donut Compose" + description = "Doughnut-like graph view capable of displaying multiple datasets with assignable colors" + url = "https://github.com/futuredapp/donut" + + licenses { + license { + name = "MIT" + url = "https://github.com/futuredapp/donut/blob/master/LICENSE" + } + } + scm { + connection = "scm:git:git://github.com/futuredapp/donut.git" + developerConnection = "scm:git:ssh://github.com/futuredapp/donut.git" + url = "https://github.com/futuredapp/donut" + } + developers { + developer { + id = "futured" + name = "Futured" + url = "https://futured.app" + } + } + } } diff --git a/library-compose/gradle.properties b/library-compose/gradle.properties deleted file mode 100644 index cfb8fad..0000000 --- a/library-compose/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -POM_NAME=Donut Compose -POM_ARTIFACT_ID=donut-compose diff --git a/library/build.gradle.kts b/library/build.gradle.kts index e19b95a..423d551 100644 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -31,3 +31,36 @@ android { dependencies { implementation(libs.androidx.ktx) } + +mavenPublishing { + coordinates( + groupId = "app.futured.donut", + artifactId = "donut", + version = project.findProperty("VERSION_NAME") as String? ?: "2.X.X-SNAPSHOT" + ) + + pom { + name = "Donut" + description = "Doughnut-like graph view capable of displaying multiple datasets with assignable colors" + url = "https://github.com/futuredapp/donut" + + licenses { + license { + name = "MIT" + url = "https://github.com/futuredapp/donut/blob/master/LICENSE" + } + } + scm { + connection = "scm:git:git://github.com/futuredapp/donut.git" + developerConnection = "scm:git:ssh://github.com/futuredapp/donut.git" + url = "https://github.com/futuredapp/donut" + } + developers { + developer { + id = "futured" + name = "Futured" + url = "https://futured.app" + } + } + } +} diff --git a/library/gradle.properties b/library/gradle.properties deleted file mode 100644 index 9d76dd8..0000000 --- a/library/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_NAME=Donut -POM_ARTIFACT_ID=donut -POM_PACKAGING=aar From f5f20d5cf137a4fca6c7968b5f6cbb75a640551a Mon Sep 17 00:00:00 2001 From: Jacob Derynk Date: Wed, 7 Jan 2026 14:02:34 +0100 Subject: [PATCH 2/3] Chore: Set group ID for library modules This commit adds the `group` property to `library/build.gradle.kts` and `library-compose/build.gradle.kts` to define the Maven artifact group. Key changes: - Set `group = "app.futured.donut"` in both the legacy View library and the Compose library modules. --- library-compose/build.gradle.kts | 2 ++ library/build.gradle.kts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/library-compose/build.gradle.kts b/library-compose/build.gradle.kts index 8bff8cf..cbe321f 100644 --- a/library-compose/build.gradle.kts +++ b/library-compose/build.gradle.kts @@ -8,6 +8,8 @@ plugins { id(libs.plugins.conventions.lint.get().pluginId) } +group = "app.futured.donut" + kotlin { jvmToolchain(ProjectSettings.Kotlin.JvmToolchainVersion) diff --git a/library/build.gradle.kts b/library/build.gradle.kts index 423d551..b778f43 100644 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -6,6 +6,8 @@ plugins { id(libs.plugins.conventions.lint.get().pluginId) } +group = "app.futured.donut" + kotlin { jvmToolchain(ProjectSettings.Kotlin.JvmToolchainVersion) } From 0e7dd9930da742a04692acf4005361f9ab8b1c85 Mon Sep 17 00:00:00 2001 From: Jacob Derynk Date: Mon, 2 Mar 2026 09:41:07 +0100 Subject: [PATCH 3/3] Fix: Remove debug variant from publishLibraryVariants in donut-compose --- library-compose/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library-compose/build.gradle.kts b/library-compose/build.gradle.kts index cbe321f..10889fd 100644 --- a/library-compose/build.gradle.kts +++ b/library-compose/build.gradle.kts @@ -14,7 +14,7 @@ kotlin { jvmToolchain(ProjectSettings.Kotlin.JvmToolchainVersion) androidTarget { - publishLibraryVariants("release", "debug") + publishLibraryVariants("release") compilations.all { compileTaskProvider.configure {