Skip to content

Conversation

@gpunto
Copy link
Collaborator

@gpunto gpunto commented Oct 30, 2025

Goal

Part of AND-864

We now have started publishing Stream Gradle plugins, so I'm doing the initial integration here. Atm they don't do a lot (they just configure the Java version), but I'm building upon this first version to move more and more shared configuration to them.

Implementation

Replace android.gradle script with plugin application.

Testing

Verify that the project & tests build and run.

Checklist

  • Issue linked (if any)
  • Tests/docs updated
  • I have signed the Stream CLA (required for external contributors)

@gpunto gpunto requested a review from Copilot October 30, 2025 16:34
@gpunto gpunto added the pr:internal Internal changes / housekeeping label Oct 30, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 30, 2025

PR checklist ✅

All required conditions are satisfied:

  • Title length is OK (or ignored by label).
  • At least one pr: label exists.
  • Sections ### Goal, ### Implementation, and ### Testing are filled.

🎉 Great job! This PR is ready for review.

Copy link
Contributor

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 refactors the build configuration to centralize common Android and Java compilation settings through custom convention plugins. SDK versions and Java compatibility settings are moved from individual module build files to a centralized configuration in libs.versions.toml and applied via the new stream.* convention plugins.

  • Introduced new stream.* convention plugins for Android and Java library/application modules
  • Moved SDK version constants from Configuration.kt to libs.versions.toml
  • Centralized compilation configuration in root build.gradle.kts using subprojects blocks

Reviewed Changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
gradle/libs.versions.toml Added SDK version declarations and new stream.* convention plugin references
buildSrc/src/main/kotlin/io/getstream/core/Configuration.kt Removed SDK version constants (now centralized in libs.versions.toml)
build.gradle.kts Applied stream.project plugin and added centralized SDK configuration for Android subprojects
stream-android-core/build.gradle.kts Replaced standard Android library plugin with convention plugin and removed local SDK/Java configurations
stream-android-core-annotations/build.gradle.kts Replaced standard Java library plugin with convention plugin and removed local Java version configurations
app/build.gradle.kts Replaced standard Android application plugin with convention plugin and removed local SDK/Java configurations
settings.gradle.kts Added mavenLocal() repository and removed unused import
Comments suppressed due to low confidence (1)

stream-android-core/build.gradle.kts:4

  • [nitpick] The import io.getstream.core.Configuration is now only used for Configuration.artifactGroup since SDK constants have been removed. Consider if this import and the remaining Configuration constants should also be migrated to the centralized configuration approach for consistency.
import io.getstream.core.Configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gpunto gpunto marked this pull request as ready for review October 30, 2025 16:49
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 3, 2025

@aleksandar-apostolov aleksandar-apostolov merged commit 15f8ff1 into develop Nov 3, 2025
6 checks passed
@aleksandar-apostolov aleksandar-apostolov deleted the plugins branch November 3, 2025 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:internal Internal changes / housekeeping

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants