Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

129 lines
3.6 KiB
Kotlin

/*
* Copyright 2023 Stream.IO, Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import io.getstream.chat.android.Configuration
@Suppress("DSL_SCOPE_VIOLATION")
plugins {
id("getstream.android.application")
id("getstream.android.application.compose")
id("getstream.android.hilt")
id("getstream.spotless")
id("kotlin-parcelize")
id(libs.plugins.google.secrets.get().pluginId)
id(libs.plugins.baseline.profile.get().pluginId)
}
android {
namespace = "io.getstream.chat.android.twitchclone"
compileSdk = Configuration.compileSdk
defaultConfig {
minSdk = Configuration.minSdk
targetSdk = Configuration.targetSdk
versionName = Configuration.versionName
versionCode = Configuration.versionCode
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.androidxComposeCompiler.get()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
isCoreLibraryDesugaringEnabled = true
}
kotlinOptions {
jvmTarget = libs.versions.jvmTarget.get()
}
lint {
abortOnError = false
}
packaging {
resources {
excludes.add("/META-INF/{AL2.0,LGPL2.1}")
}
}
buildTypes {
create("benchmark") {
isDebuggable = false
signingConfig = signingConfigs.getByName("debug")
matchingFallbacks += listOf("release")
proguardFiles("benchmark-rules.pro")
}
}
}
secrets {
propertiesFileName = "secrets.properties"
defaultPropertiesFileName = "secrets.defaults.properties"
ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*"
}
dependencies {
// core modules
implementation(project(":core-designsystem"))
implementation(project(":core-navigation"))
implementation(project(":core-model"))
// feature modules
implementation(project(":feature-channels"))
implementation(project(":feature-messages"))
implementation(project(":feature-livestream"))
// Stream SDK
implementation(libs.stream.chat.compose)
implementation(libs.stream.chat.offline)
implementation(libs.stream.video.mock)
// Jetpack
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.material)
implementation(libs.androidx.startup)
// Compose
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.compose.material)
implementation(libs.androidx.compose.runtime)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.lifecycle.viewModelCompose)
implementation(libs.material)
implementation(libs.accompanist.pager)
implementation(libs.accompanist.flowlayout)
implementation(libs.accompanist.permissions)
implementation(libs.landscapist.coil)
implementation(libs.landscapist.animation)
implementation(libs.landscapist.placeholder)
implementation(libs.stream.log)
coreLibraryDesugaring(libs.android.desugarJdkLibs)
baselineProfile(project(":baselineprofile"))
}