Skip to content
Merged
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
5 changes: 3 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ root = true
# Most of the standard properties are supported
max_line_length=100

[*.{java,kt,kts}]
ktlint_standard_max-line-length=disabled
# don't use wildcard for Java/Kotlin imports
[*.{java,kt}]
wildcard_import_limit = 999
ij_kotlin_name_count_to_use_star_import = 999
ij_kotlin_name_count_to_use_star_import_for_members = 999
ij_kotlin_name_count_to_use_star_import_for_members = 999
30 changes: 3 additions & 27 deletions benchmark/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import io.getstream.video.configureFlavors

@Suppress("DSL_SCOPE_VIOLATION")
plugins {
id(libs.plugins.android.test.get().pluginId)
id(libs.plugins.kotlin.android.get().pluginId)
id(libs.plugins.baseline.profile.get().pluginId)
id("io.getstream.spotless")
alias(libs.plugins.stream.android.test)
alias(libs.plugins.baseline.profile)
id("io.getstream.video.android.demoflavor")
}

android {
namespace = "io.getstream.video.android.benchmark"
compileSdk = libs.versions.compileSdk.get().toInt()

compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}

kotlinOptions {
jvmTarget = "11"
}

defaultConfig {
minSdk = libs.versions.minSdk.get().toInt()
targetSdk = libs.versions.targetSdk.get().toInt()
Expand All @@ -62,17 +49,6 @@ android {
}
}

// Use the same flavor dimensions as the application to allow generating Baseline Profiles on prod,
// which is more close to what will be shipped to users (no fake data), but has ability to run the
// benchmarks on demo, so we benchmark on stable data.
configureFlavors(this) { flavor ->
buildConfigField(
"String",
"APP_FLAVOR_SUFFIX",
"\"${flavor.applicationIdSuffix ?: ""}\""
)
}

targetProjectPath = ":demo-app"

testOptions.managedDevices.devices {
Expand Down
7 changes: 3 additions & 4 deletions build-logic/convention/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ java {
targetCompatibility = JavaVersion.VERSION_17
}

@Suppress("DSL_SCOPE_VIOLATION")
dependencies {
compileOnly(libs.android.gradlePlugin)
compileOnly(libs.kotlin.gradlePlugin)
Expand All @@ -35,9 +34,9 @@ gradlePlugin {
id = "io.getstream.video.android.library"
implementationClass = "AndroidLibraryConventionPlugin"
}
register("spotless") {
id = "io.getstream.spotless"
implementationClass = "SpotlessConventionPlugin"
register("demoFlavorConvention") {
id = "io.getstream.video.android.demoflavor"
implementationClass = "DemoFlavorConventionPlugin"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import com.android.build.api.dsl.ApplicationExtension
import com.android.build.api.dsl.TestExtension
import io.getstream.video.configureFlavors
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure

class DemoFlavorConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
pluginManager.withPlugin("com.android.application") {
extensions.configure<ApplicationExtension>(::configureFlavors)
}
pluginManager.withPlugin("com.android.test") {
extensions.configure<TestExtension>(::configureFlavors)
}
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,29 @@ enum class VideoDemoFlavor(val dimension: FlavorDimension, val applicationIdSuff
production(FlavorDimension.contentType),
}

fun configureFlavors(
internal fun configureFlavors(
commonExtension: CommonExtension<*, *, *, *, *, *>,
flavorConfigurationBlock: ProductFlavor.(flavor: VideoDemoFlavor) -> Unit = {}
) {
commonExtension.apply {
flavorDimensions += "environment"
productFlavors {
VideoDemoFlavor.values().forEach {
create(it.name) {
VideoDemoFlavor.values().forEach { flavor ->
create(flavor.name) {
dimension = "environment"
flavorConfigurationBlock(this, it)
buildConfigField(
"String",
"APP_FLAVOR_SUFFIX",
"\"${flavor.applicationIdSuffix.orEmpty()}\"",
)

if (this@apply is ApplicationExtension && this is ApplicationProductFlavor) {
if (it.applicationIdSuffix != null) {
applicationIdSuffix = it.applicationIdSuffix
if (flavor.applicationIdSuffix != null) {
applicationIdSuffix = flavor.applicationIdSuffix
}
}
proguardFiles("benchmark-rules.pro")
}
}
}
}
}
}
8 changes: 8 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ buildscript {

@Suppress("DSL_SCOPE_VIOLATION")
plugins {
alias(libs.plugins.stream.project)
alias(libs.plugins.stream.android.application) apply false
alias(libs.plugins.stream.android.library) apply false
alias(libs.plugins.stream.android.test) apply false
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
// alias(libs.plugins.compose.compiler) apply false -> Enable with Kotlin 2.0+
Expand All @@ -46,6 +48,12 @@ plugins {
alias(libs.plugins.kover) apply false
}

streamProject {
spotless {
excludePatterns = setOf("**/generated/**")
}
}

subprojects {
if (name.startsWith("stream-video-android")) {
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
Expand Down
6 changes: 1 addition & 5 deletions demo-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,12 @@ import com.github.triplet.gradle.androidpublisher.ResolutionStrategy
import io.getstream.video.FlavorDimension
import io.getstream.video.VideoDemoFlavor
import io.getstream.video.android.Configuration
import io.getstream.video.configureFlavors
import java.io.FileInputStream
import java.util.Properties

@Suppress("DSL_SCOPE_VIOLATION")
plugins {
id("io.getstream.video.android.application.compose")
id("io.getstream.spotless")
id("io.getstream.video.android.demoflavor")
id("com.google.gms.google-services")
id(libs.plugins.firebase.crashlytics.get().pluginId)
id(libs.plugins.kotlin.serialization.get().pluginId)
Expand Down Expand Up @@ -93,8 +91,6 @@ android {
}
}

configureFlavors(this)

buildTypes {
getByName("debug") {
versionNameSuffix = "-DEBUG"
Expand Down
4 changes: 3 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ cameraCamera2 = "1.3.4"
kover = "0.8.3"
sonarqube = "6.0.1.5171"
spotless = "6.21.0"
streamConventions = "0.2.0"
streamConventions = "0.3.0"
mavenPublish = "0.34.0"
kotlin = "1.9.25"
ksp = "1.9.25-1.0.20"
Expand Down Expand Up @@ -247,8 +247,10 @@ compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover"}
sonarqube = { id = "org.sonarqube", version.ref = "sonarqube"}
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
stream-project = { id = "io.getstream.project", version.ref = "streamConventions" }
stream-android-application = { id = "io.getstream.android.application", version.ref = "streamConventions" }
stream-android-library = { id = "io.getstream.android.library", version.ref = "streamConventions" }
stream-android-test = { id = "io.getstream.android.test", version.ref = "streamConventions" }
maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "mavenPublish"}
dokka = { id = "org.jetbrains.dokka", version.ref = "kotlinDokka" }
google-gms = { id = "com.google.gms.google-services", version.ref = "googleService" }
Expand Down
16 changes: 0 additions & 16 deletions spotless/copyright.kt

This file was deleted.

15 changes: 0 additions & 15 deletions spotless/copyright.kts

This file was deleted.

16 changes: 0 additions & 16 deletions spotless/copyright.xml

This file was deleted.

1 change: 0 additions & 1 deletion stream-video-android-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ plugins {
alias(libs.plugins.maven.publish)
id("io.getstream.video.android.library")
id("io.getstream.video.generateServices")
id("io.getstream.spotless")
id(libs.plugins.kotlin.serialization.get().pluginId)
id(libs.plugins.kotlin.parcelize.get().pluginId)
id(libs.plugins.wire.get().pluginId)
Expand Down
1 change: 0 additions & 1 deletion stream-video-android-filters-video/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import io.getstream.video.android.Configuration
plugins {
alias(libs.plugins.maven.publish)
id("io.getstream.video.android.library")
id("io.getstream.spotless")
}

android {
Expand Down
1 change: 0 additions & 1 deletion stream-video-android-previewdata/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import io.getstream.video.android.Configuration
plugins {
alias(libs.plugins.maven.publish)
id("io.getstream.video.android.library")
id("io.getstream.spotless")
}

android {
Expand Down
1 change: 0 additions & 1 deletion stream-video-android-ui-compose/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import io.getstream.video.android.Configuration
plugins {
alias(libs.plugins.maven.publish)
id("io.getstream.video.android.library.compose")
id("io.getstream.spotless")
}

android {
Expand Down
1 change: 0 additions & 1 deletion stream-video-android-ui-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import io.getstream.video.android.Configuration
plugins {
alias(libs.plugins.maven.publish)
id("io.getstream.video.android.library")
id("io.getstream.spotless")
}

android {
Expand Down
1 change: 0 additions & 1 deletion stream-video-android-ui-xml/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import io.getstream.video.android.Configuration
plugins {
alias(libs.plugins.maven.publish)
id("io.getstream.video.android.library")
id("io.getstream.spotless")
}

android {
Expand Down
2 changes: 0 additions & 2 deletions tutorials/tutorial-audio/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@
*/
@file:Suppress("UnstableApiUsage")

@Suppress("DSL_SCOPE_VIOLATION")
plugins {
id("io.getstream.video.android.application.compose")
id("io.getstream.spotless")
}

android {
Expand Down
2 changes: 0 additions & 2 deletions tutorials/tutorial-livestream/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@
*/
@file:Suppress("UnstableApiUsage")

@Suppress("DSL_SCOPE_VIOLATION")
plugins {
id("io.getstream.video.android.application.compose")
id("io.getstream.spotless")
}

android {
Expand Down
Loading
Loading