Skip to content

Conversation

@gpunto
Copy link
Collaborator

@gpunto gpunto commented Oct 22, 2025

No description provided.

@gpunto gpunto requested a review from Copilot October 22, 2025 16:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR sets up a new repository for Stream Android build convention plugins. It establishes the Gradle plugin infrastructure with two convention plugins for Android library and application modules, along with supporting CI/CD workflows.

  • Implements two Gradle convention plugins (library and application) with configurable Android SDK settings
  • Establishes CI workflows for formatting checks, linting, and builds
  • Sets up automated release workflow with version bumping and multi-repository publishing

Reviewed Changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
settings.gradle.kts Configures repository locations and plugin module inclusion
plugin/src/main/kotlin/io/getstream/android/StreamAndroidExtension.kt Defines extension API for configuring Android SDK versions
plugin/src/main/kotlin/io/getstream/android/AndroidConventionPlugin.kt Implements Android library and application convention plugins with Java/Kotlin configuration
plugin/build.gradle.kts Configures plugin publishing to Gradle Plugin Portal and Maven Central
gradle/libs.versions.toml Declares dependency versions for Android Gradle Plugin, Kotlin, and build tools
gradle.properties Sets initial project version
LICENSE_HEADER Defines copyright header template for source files
.github/workflows/release.yml Automates version bumping and publishing to plugin repositories
.github/workflows/ci.yml Runs formatting checks, linting, and build validation
.github/actions/setup-gradle/action.yml Reusable action for Java and Gradle setup
.github/actions/setup-gradle/README.md Documents the setup-gradle composite action
.github/actions/bump-version/action.yml Implements semantic version bumping logic
.github/actions/bump-version/README.md Documents the bump-version composite action

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension

class AndroidApplicationConventionPlugin : Plugin<Project> {
Copy link
Collaborator Author

@gpunto gpunto Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First basic plugin implementations that only apply the Android application/library plugin and configure the java version + Android SDKs (through StreamAndroidExtension).

The plan is to start with this to validate everything works (including plugin publishing, which is a first for me) and then add more and more to it so we centralize common configurations and products only have to pass SDK-specific configuration.

* }
* ```
*/
abstract class StreamAndroidExtension(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit debatable if this is worth centralizing since SDKs still need to configure their values as shown in the kdoc above. Happy to remove it if you think it doesn't make sense to have it here.

@gpunto gpunto merged commit 4b765a2 into develop Oct 27, 2025
3 checks passed
@gpunto gpunto deleted the plugins branch October 29, 2025 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants