build.gradle (3295B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 plugins { 6 alias(libs.plugins.kotlin.android) 7 alias(libs.plugins.kotlin.compose) 8 } 9 10 apply plugin: 'com.android.application' 11 apply plugin: 'kotlin-parcelize' 12 13 android { 14 compileSdk { version = release(config.compileSdkMajorVersion) { minorApiLevel = config.compileSdkMinorVersion } } 15 16 defaultConfig { 17 applicationId "org.mozilla.samples.compose.browser" 18 minSdk config.minSdkVersion 19 targetSdk config.targetSdkVersion 20 versionCode 1 21 versionName "1.0" 22 23 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 24 testInstrumentationRunnerArgument "clearPackageData", "true" 25 testInstrumentationRunnerArgument "listener", "leakcanary.FailTestOnLeakRunListener" 26 } 27 28 buildTypes { 29 release { 30 minifyEnabled = false 31 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 32 } 33 } 34 35 buildFeatures { 36 compose = true 37 } 38 39 namespace = 'org.mozilla.samples.compose.browser' 40 } 41 42 tasks.register("updateBorderifyExtensionVersion", Copy) { task -> 43 updateExtensionVersion(task, 'src/main/assets/extensions/borderify') 44 } 45 46 tasks.register("updateTestExtensionVersion", Copy) { task -> 47 updateExtensionVersion(task, 'src/main/assets/extensions/test') 48 } 49 50 dependencies { 51 implementation project(':components:browser-engine-gecko') 52 implementation project(':components:browser-icons') 53 implementation project(':components:browser-state') 54 implementation project(':components:compose-awesomebar') 55 implementation project(':components:compose-base') 56 implementation project(':components:compose-browser-toolbar') 57 implementation project(':components:compose-engine') 58 implementation project(':components:compose-tabstray') 59 implementation project(':components:concept-awesomebar') 60 implementation project(':components:concept-engine') 61 implementation project(':components:concept-tabstray') 62 implementation project(':components:feature-awesomebar') 63 implementation project(':components:feature-fxsuggest') 64 implementation project(':components:feature-search') 65 implementation project(':components:feature-session') 66 implementation project(':components:feature-tabs') 67 implementation project(':components:service-location') 68 implementation project(':components:support-appservices') 69 implementation project(':components:support-ktx') 70 implementation project(':components:support-remotesettings') 71 implementation project(':components:ui-icons') 72 73 implementation libs.androidx.activity 74 implementation libs.androidx.appcompat 75 implementation libs.androidx.core.ktx 76 implementation platform(libs.androidx.compose.bom) 77 implementation libs.androidx.compose.foundation 78 implementation libs.androidx.compose.material3 79 implementation libs.androidx.compose.ui 80 implementation libs.androidx.compose.ui.tooling 81 implementation libs.androidx.navigation.compose 82 } 83 84 preBuild.dependsOn updateBorderifyExtensionVersion 85 preBuild.dependsOn updateTestExtensionVersion