2021-03-18 19:11:45 +01:00
|
|
|
/*
|
|
|
|
* * Copyright (c) 2021 Shabinder Singh
|
|
|
|
* * This program is free software: you can redistribute it and/or modify
|
|
|
|
* * it under the terms of the GNU General Public License as published by
|
|
|
|
* * the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* * (at your option) any later version.
|
|
|
|
* *
|
|
|
|
* * This program is distributed in the hope that it will be useful,
|
|
|
|
* * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* * GNU General Public License for more details.
|
|
|
|
* *
|
|
|
|
* * You should have received a copy of the GNU General Public License
|
|
|
|
* * along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2021-05-12 00:30:52 +02:00
|
|
|
import Extras.Android.Acra
|
2021-04-20 13:26:30 +02:00
|
|
|
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
|
2021-01-26 13:54:28 +01:00
|
|
|
import org.jetbrains.compose.compose
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
id("com.android.application")
|
|
|
|
kotlin("android")
|
2021-05-01 20:00:59 +02:00
|
|
|
id("kotlin-parcelize")
|
2021-02-08 21:05:40 +01:00
|
|
|
id("org.jetbrains.compose")
|
2021-01-26 13:54:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
group = "com.shabinder"
|
|
|
|
version = Versions.versionName
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
google()
|
2021-05-12 00:30:52 +02:00
|
|
|
mavenCentral()
|
|
|
|
// Remove jcenter as soon as following issue closes
|
|
|
|
// https://github.com/matomo-org/matomo-sdk-android/issues/301
|
|
|
|
jcenter()
|
2021-01-26 13:54:28 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
android {
|
2021-04-20 13:26:30 +02:00
|
|
|
val props = gradleLocalProperties(rootDir)
|
|
|
|
|
|
|
|
if(props.containsKey("storeFileDir")) {
|
|
|
|
signingConfigs {
|
|
|
|
create("release") {
|
|
|
|
storeFile = file(props.getProperty("storeFileDir"))
|
|
|
|
storePassword = props.getProperty("storePassword")
|
|
|
|
keyAlias = props.getProperty("keyAlias")
|
|
|
|
keyPassword = props.getProperty("keyPassword")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-04-29 18:14:19 +02:00
|
|
|
|
2021-01-26 13:54:28 +01:00
|
|
|
compileSdkVersion(29)
|
2021-04-20 13:26:30 +02:00
|
|
|
buildToolsVersion = "30.0.3"
|
|
|
|
|
2021-01-26 13:54:28 +01:00
|
|
|
defaultConfig {
|
2021-02-25 14:28:33 +01:00
|
|
|
applicationId = "com.shabinder.spotiflyer"
|
2021-01-26 13:54:28 +01:00
|
|
|
minSdkVersion(Versions.minSdkVersion)
|
|
|
|
targetSdkVersion(Versions.targetSdkVersion)
|
|
|
|
versionCode = Versions.versionCode
|
|
|
|
versionName = Versions.versionName
|
|
|
|
}
|
2021-02-02 21:05:12 +01:00
|
|
|
|
2021-01-26 13:54:28 +01:00
|
|
|
buildTypes {
|
|
|
|
getByName("release") {
|
2021-02-25 14:28:33 +01:00
|
|
|
isMinifyEnabled = true
|
2021-05-20 18:07:54 +02:00
|
|
|
// isShrinkResources = true
|
2021-04-20 13:26:30 +02:00
|
|
|
if(props.containsKey("storeFileDir")){
|
|
|
|
signingConfig = signingConfigs.getByName("release")
|
|
|
|
}
|
2021-01-26 13:54:28 +01:00
|
|
|
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
|
|
|
|
}
|
|
|
|
}
|
2021-04-18 20:08:38 +02:00
|
|
|
kotlinOptions {
|
|
|
|
useIR = true
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
}
|
2021-01-26 13:54:28 +01:00
|
|
|
compileOptions {
|
|
|
|
// Flag to enable support for the new language APIs
|
2021-05-20 18:07:54 +02:00
|
|
|
isCoreLibraryDesugaringEnabled = true
|
2021-01-26 13:54:28 +01:00
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
configurations {
|
|
|
|
"implementation" {
|
|
|
|
exclude(group = "androidx.compose.animation")
|
|
|
|
exclude(group = "androidx.compose.foundation")
|
|
|
|
exclude(group = "androidx.compose.material")
|
|
|
|
exclude(group = "androidx.compose.runtime")
|
|
|
|
exclude(group = "androidx.compose.ui")
|
|
|
|
}
|
|
|
|
}
|
2021-02-08 21:05:40 +01:00
|
|
|
packagingOptions {
|
|
|
|
exclude("META-INF/*")
|
|
|
|
}
|
2021-01-26 13:54:28 +01:00
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
implementation(compose.material)
|
2021-02-07 20:03:55 +01:00
|
|
|
implementation(compose.materialIconsExtended)
|
2021-02-11 21:51:11 +01:00
|
|
|
implementation(Androidx.androidxActivity)
|
2021-02-08 21:05:40 +01:00
|
|
|
|
2021-05-01 20:00:59 +02:00
|
|
|
// Project's SubModules
|
2021-01-26 13:54:28 +01:00
|
|
|
implementation(project(":common:database"))
|
2021-02-25 14:28:33 +01:00
|
|
|
implementation(project(":common:compose"))
|
|
|
|
implementation(project(":common:root"))
|
2021-01-26 13:54:28 +01:00
|
|
|
implementation(project(":common:dependency-injection"))
|
|
|
|
implementation(project(":common:data-models"))
|
|
|
|
|
2021-05-01 20:00:59 +02:00
|
|
|
// Koin
|
2021-01-29 18:53:17 +01:00
|
|
|
implementation(Koin.android)
|
2021-03-07 20:58:47 +01:00
|
|
|
implementation(Koin.compose)
|
2021-02-07 20:03:55 +01:00
|
|
|
|
2021-04-28 18:34:13 +02:00
|
|
|
// DECOMPOSE
|
2021-01-31 12:33:41 +01:00
|
|
|
implementation(Decompose.decompose)
|
|
|
|
implementation(Decompose.extensionsCompose)
|
2021-02-22 18:38:33 +01:00
|
|
|
|
2021-05-01 20:00:59 +02:00
|
|
|
// MVI
|
|
|
|
implementation(MVIKotlin.mvikotlin)
|
|
|
|
implementation(MVIKotlin.mvikotlinMain)
|
|
|
|
implementation(MVIKotlin.mvikotlinLogging)
|
|
|
|
implementation(MVIKotlin.mvikotlinTimeTravel)
|
|
|
|
|
|
|
|
// Extras
|
2021-06-22 08:13:30 +02:00
|
|
|
with(Extras.Android) {
|
2021-05-12 00:30:52 +02:00
|
|
|
implementation(Acra.notification)
|
|
|
|
implementation(Acra.http)
|
2021-01-26 13:54:28 +01:00
|
|
|
implementation(appUpdator)
|
2021-05-12 00:30:52 +02:00
|
|
|
implementation(matomo)
|
2021-01-26 13:54:28 +01:00
|
|
|
}
|
2021-05-01 20:00:59 +02:00
|
|
|
|
2021-06-22 20:48:01 +02:00
|
|
|
with(Versions.androidxLifecycle) {
|
|
|
|
implementation("androidx.lifecycle:lifecycle-service:$this")
|
|
|
|
implementation("androidx.lifecycle:lifecycle-common-java8:$this")
|
|
|
|
}
|
|
|
|
|
2021-06-22 08:13:30 +02:00
|
|
|
implementation(Extras.kermit)
|
2021-05-13 23:21:33 +02:00
|
|
|
//implementation("com.jakewharton.timber:timber:4.7.1")
|
2021-06-19 19:57:38 +02:00
|
|
|
implementation("dev.icerock.moko:parcelize:0.7.0")
|
2021-05-01 20:00:59 +02:00
|
|
|
implementation("com.github.shabinder:storage-chooser:2.0.4.45")
|
2021-06-22 20:48:01 +02:00
|
|
|
implementation("com.google.accompanist:accompanist-insets:0.12.0")
|
2021-02-07 17:19:48 +01:00
|
|
|
|
2021-04-28 18:34:13 +02:00
|
|
|
// Test
|
2021-02-25 14:28:33 +01:00
|
|
|
testImplementation("junit:junit:4.13.2")
|
2021-01-26 13:54:28 +01:00
|
|
|
androidTestImplementation(Androidx.junit)
|
|
|
|
androidTestImplementation(Androidx.expresso)
|
|
|
|
|
2021-04-28 18:34:13 +02:00
|
|
|
// Desugaring
|
2021-04-14 19:37:02 +02:00
|
|
|
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5")
|
2021-01-26 13:54:28 +01:00
|
|
|
}
|