Gradle convention plugins for Stream Android projects. These plugins provide standardized build configurations to ensure consistency across Stream's Android libraries and applications.
Note: These plugins are designed specifically for Stream's projects and workflows. They aren't intended for general-purpose use and may include Stream-specific configurations and conventions.
This repository contains reusable Gradle convention plugins that encapsulate common build logic, dependencies, and configurations used across Stream's Android projects.
io.getstream.project- Root project configuration (apply to rootbuild.gradle.kts)io.getstream.android.library- For Android library modulesio.getstream.android.application- For Android application modulesio.getstream.android.test- For Android test modulesio.getstream.java.library- For Java/Kotlin JVM library modules
Apply the root plugin in your root build.gradle.kts:
plugins {
id("io.getstream.project") version "<version>"
}
streamProject {
// Repository name for GitHub URLs and license headers (default: project name)
repositoryName = "stream-chat-android"
spotless {
// Choose formatter (default: false = ktlint)
useKtfmt = false
// Exclude specific modules from Spotless formatting (default: empty)
ignoredModules = setOf("some-module")
// Exclude file patterns from Spotless formatting (default: empty)
excludePatterns = setOf("**/generated/**")
}
}Apply the appropriate plugin to each module:
plugins {
id("io.getstream.android.library")
// or id("io.getstream.android.application")
// or id("io.getstream.android.test")
// or id("io.getstream.java.library")
}See LICENSE file for details.