Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/publish-new-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ jobs:
file-path: ./buildSrc/src/main/kotlin/io/getstream/chat/android/Configuration.kt
release-notes: ${{ needs.generate_release_notes.outputs.release_notes }}
excluded-modules: "stream-chat-android-ui-components-sample,stream-chat-android-compose-sample,stream-chat-android-docs"
use-official-plugin: false
secrets:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
STREAM_PUBLIC_BOT_TOKEN: ${{ secrets.STREAM_PUBLIC_BOT_TOKEN }}

update_develop_changelog:
Expand Down
94 changes: 91 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import com.android.build.api.dsl.ApplicationExtension
import com.android.build.gradle.LibraryExtension
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import io.getstream.chat.android.Configuration
import io.getstream.chat.android.Dependencies
import io.getstream.chat.android.command.changelog.task.ChangelogReleaseSectionTask
import io.getstream.chat.android.command.release.task.ReleaseTask
Expand Down Expand Up @@ -37,9 +39,8 @@ plugins {
id("io.getstream.chat.VersionPrintPlugin")
alias(libs.plugins.gitversioner)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.nexus.publish)
alias(libs.plugins.binary.compatibility.validator)
alias(libs.plugins.dokka)
alias(libs.plugins.maven.publish)
}

buildscript {
Expand Down Expand Up @@ -133,4 +134,91 @@ apiValidation {
)
}

apply(from = "${rootDir}/scripts/publish-root.gradle")
private val isSnapshot = System.getenv("SNAPSHOT")?.toBoolean() == true
version = if (isSnapshot) Configuration.snapshotVersionName else Configuration.versionName

subprojects {
plugins.withId("com.vanniktech.maven.publish") {
extensions.configure<MavenPublishBaseExtension> {
publishToMavenCentral(automaticRelease = true)

pom {
name.set(project.name)
description.set("Stream Chat official Android SDK")
url.set("https://github.com/getstream/stream-chat-android")

licenses {
license {
name.set("Stream License")
url.set("https://github.com/GetStream/stream-chat-android/blob/main/LICENSE")
}
}

developers {
developer {
id = "tschellenbach"
name = "Thierry Schellenbach"
email = "[email protected]"
}
developer {
id = "jcminarro"
name = "Jc Miñarro"
email = "[email protected]"
}
developer {
id = "samiuelson"
name = "Samuel Urbanowicz"
email = "[email protected]"
}
developer {
id = "adasiewiczr"
name = "Rafal Adasiewicz"
email = "[email protected]"
}
developer {
id = "ogkuzmin"
name = "Oleg Kuzmin"
email = "[email protected]"
}
developer {
id = "zsmb13"
name = "Márton Braun"
email = "[email protected]"
}
developer {
id = "leandroBorgesFerreira"
name = "Leandro Borges Ferreira"
email = "[email protected]"
}
developer {
id = "bychkovdmitry"
name = "Dmitrii Bychkov"
email = "[email protected]"
}
}

scm {
connection.set("scm:git:github.com/getstream/stream-chat-android.git")
developerConnection.set("scm:git:ssh://github.com/getstream/stream-chat-android.git")
url.set("https://github.com/getstream/stream-chat-android/tree/main")
}
}
}
}
}

tasks.register("printAllArtifacts") {
group = "publishing"
description = "Prints all artifacts that will be published"

doLast {
subprojects.forEach { subproject ->
subproject.plugins.withId("com.vanniktech.maven.publish") {
subproject.extensions.findByType(PublishingExtension::class.java)
?.publications
?.filterIsInstance<MavenPublication>()
?.forEach { println("${it.groupId}:${it.artifactId}:${it.version}") }
}
}
}
}
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ firebaseCrashlyticsPlugin = "3.0.2"
firebaseMessaging = "24.1.0"
gitversioner = "0.5.0"
googleServices = "4.4.2"
gradleNexusPublishPlugin = "1.3.0"
gradleVersionsPlugin = "0.51.0"
huaweiPush = "6.11.0.300"
ituDateVersion = "1.10.2"
Expand Down Expand Up @@ -93,6 +92,7 @@ turbine = "1.2.0"
work = "2.9.1"
playServicesLocation = "21.3.0"
kover = "0.9.2"
mavenPublish = "0.34.0"

[libraries]
allure-kotlin-model = { module = "io.qameta.allure:allure-kotlin-model", version.ref = "allureKotlin"}
Expand Down Expand Up @@ -245,7 +245,7 @@ kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin"}
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin"}
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin"}
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp"}
nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradleNexusPublishPlugin"}
maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "mavenPublish"}
shot = { id = "shot", version.ref = "shot"}
sonarqube = { id = "org.sonarqube", version.ref = "sonarqube"}
spotless = { id = "com.diffplug.spotless", version.ref = "spotless"}
Expand Down
121 changes: 0 additions & 121 deletions scripts/publish-module.gradle

This file was deleted.

71 changes: 0 additions & 71 deletions scripts/publish-root.gradle

This file was deleted.

24 changes: 17 additions & 7 deletions stream-chat-android-ai-assistant/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
import io.getstream.chat.android.Configuration
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
alias(libs.plugins.stream.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.maven.publish)
}

rootProject.extra.apply {
set("PUBLISH_GROUP_ID", Configuration.artifactGroup)
set("PUBLISH_ARTIFACT_ID", "stream-chat-android-ai-assistant")
set("PUBLISH_VERSION", rootProject.extra.get("rootVersionName"))
}

apply(from = "$rootDir/scripts/publish-module.gradle")
apply(from = "$rootDir/scripts/detekt-compose.gradle")

android {
Expand Down Expand Up @@ -53,3 +48,18 @@ dependencies {

detektPlugins(libs.detekt.formatting)
}

mavenPublishing {
coordinates(
groupId = Configuration.artifactGroup,
artifactId = "stream-chat-android-ai-assistant",
version = rootProject.version.toString(),
)
configure(
AndroidSingleVariantLibrary(
variant = "release",
sourcesJar = true,
publishJavadocJar = true,
),
)
}
Loading
Loading