125 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			125 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright 2020 The Android Open Source Project
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * 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
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *      https://www.apache.org/licenses/LICENSE-2.0
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * 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.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								plugins {
							 | 
						||
| 
								 | 
							
								    alias(libs.plugins.android.application)
							 | 
						||
| 
								 | 
							
								    alias(libs.plugins.kotlin.android)
							 | 
						||
| 
								 | 
							
								    alias(libs.plugins.compose)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								android {
							 | 
						||
| 
								 | 
							
								    compileSdk = libs.versions.compileSdk.get().toInt()
							 | 
						||
| 
								 | 
							
								    namespace = "com.example.compose.jetchat"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    defaultConfig {
							 | 
						||
| 
								 | 
							
								        applicationId = "com.example.compose.jetchat"
							 | 
						||
| 
								 | 
							
								        minSdk = libs.versions.minSdk.get().toInt()
							 | 
						||
| 
								 | 
							
								        targetSdk = libs.versions.targetSdk.get().toInt()
							 | 
						||
| 
								 | 
							
								        versionCode = 1
							 | 
						||
| 
								 | 
							
								        versionName = "1.0"
							 | 
						||
| 
								 | 
							
								        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        vectorDrawables.useSupportLibrary = true
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    signingConfigs {
							 | 
						||
| 
								 | 
							
								        // Important: change the keystore for a production deployment
							 | 
						||
| 
								 | 
							
								        val userKeystore = File(System.getProperty("user.home"), ".android/debug.keystore")
							 | 
						||
| 
								 | 
							
								        val localKeystore = rootProject.file("debug_2.keystore")
							 | 
						||
| 
								 | 
							
								        val hasKeyInfo = userKeystore.exists()
							 | 
						||
| 
								 | 
							
								        create("release") {
							 | 
						||
| 
								 | 
							
								            storeFile = if (hasKeyInfo) userKeystore else localKeystore
							 | 
						||
| 
								 | 
							
								            storePassword = if (hasKeyInfo) "android" else System.getenv("compose_store_password")
							 | 
						||
| 
								 | 
							
								            keyAlias = if (hasKeyInfo) "androiddebugkey" else System.getenv("compose_key_alias")
							 | 
						||
| 
								 | 
							
								            keyPassword = if (hasKeyInfo) "android" else System.getenv("compose_key_password")
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    buildTypes {
							 | 
						||
| 
								 | 
							
								        getByName("debug") {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        getByName("release") {
							 | 
						||
| 
								 | 
							
								            isMinifyEnabled = true
							 | 
						||
| 
								 | 
							
								            signingConfig = signingConfigs.getByName("release")
							 | 
						||
| 
								 | 
							
								            proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),
							 | 
						||
| 
								 | 
							
								                    "proguard-rules.pro")
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    kotlinOptions {
							 | 
						||
| 
								 | 
							
								        jvmTarget = "17"
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    compileOptions {
							 | 
						||
| 
								 | 
							
								        sourceCompatibility = JavaVersion.VERSION_17
							 | 
						||
| 
								 | 
							
								        targetCompatibility = JavaVersion.VERSION_17
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    buildFeatures {
							 | 
						||
| 
								 | 
							
								        compose = true
							 | 
						||
| 
								 | 
							
								        viewBinding = true
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    packaging.resources {
							 | 
						||
| 
								 | 
							
								        // Multiple dependency bring these files in. Exclude them to enable
							 | 
						||
| 
								 | 
							
								        // our test APK to build (has no effect on our AARs)
							 | 
						||
| 
								 | 
							
								        excludes += "/META-INF/AL2.0"
							 | 
						||
| 
								 | 
							
								        excludes += "/META-INF/LGPL2.1"
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								dependencies {
							 | 
						||
| 
								 | 
							
								    val composeBom = platform(libs.androidx.compose.bom)
							 | 
						||
| 
								 | 
							
								    implementation(composeBom)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(composeBom)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.glance.appwidget)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.glance.material3)
							 | 
						||
| 
								 | 
							
								    implementation(libs.kotlin.stdlib)
							 | 
						||
| 
								 | 
							
								    implementation(libs.kotlinx.coroutines.android)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.activity.compose)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.core.ktx)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.appcompat)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.runtime.livedata)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.lifecycle.viewModelCompose)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.lifecycle.runtime.compose)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.navigation.fragment)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.navigation.ui.ktx)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.foundation.layout)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.material3)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.material.iconsExtended)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.ui.tooling.preview)
							 | 
						||
| 
								 | 
							
								    debugImplementation(libs.androidx.compose.ui.tooling)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.ui.util)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.ui.viewbinding)
							 | 
						||
| 
								 | 
							
								    implementation(libs.androidx.compose.ui.googlefonts)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    debugImplementation(libs.androidx.compose.ui.test.manifest)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.junit)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.androidx.test.core)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.androidx.test.runner)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.androidx.test.espresso.core)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.androidx.test.rules)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.androidx.test.ext.junit)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.kotlinx.coroutines.test)
							 | 
						||
| 
								 | 
							
								    androidTestImplementation(libs.androidx.compose.ui.test.junit4)
							 | 
						||
| 
								 | 
							
								}
							 |