Files
EasyCC_Master/app/build.gradle

112 lines
4.3 KiB
Groovy

plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'com.google.dagger.hilt.android'
id 'com.google.devtools.ksp'
}
Properties properties = new Properties()
boolean propertiesFileExists = project.rootProject.file('local.properties').canRead()
if (propertiesFileExists) properties.load(project.rootProject.file('local.properties').newDataInputStream())
def keystoreFile = project.rootProject.file("app/keystore.jks")
android {
compileSdk = Integer.parseInt(TARGET_SDK_VERSION)
namespace "com.appttude.h_mal.easycc"
defaultConfig {
applicationId "com.appttude.h_mal.easycc"
minSdkVersion MIN_SDK_VERSION
targetSdkVersion TARGET_SDK_VERSION
versionCode 12
versionName "7.0.0"
testInstrumentationRunner "com.appttude.h_mal.easycc.application.TestRunner"
}
signingConfigs {
release {
storePassword System.getProperty("RELEASE_STORE_PASSWORD") ?: properties.getProperty('RELEASE_STORE_PASSWORD')
keyPassword System.getProperty("RELEASE_KEY_PASSWORD") ?: properties.getProperty('RELEASE_KEY_PASSWORD')
keyAlias System.getProperty("RELEASE_KEY_ALIAS") ?: properties.getProperty('RELEASE_KEY_ALIAS')
storeFile keystoreFile.exists() ? keystoreFile : null
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
staging {
initWith debug
manifestPlaceholders = [hostName:"internal.example.com"]
applicationIdSuffix ".debugStaging"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
buildFeatures {
viewBinding true
}
kotlin {
jvmToolchain(17)
}
// java {
// toolchain {
// languageVersion.set(JavaLanguageVersion.of(21))
// }
// }
}
dependencies {
implementation "androidx.core:core-ktx:$ANDROID_CORE_VERSION"
implementation "androidx.appcompat:appcompat:$APP_COMPAT"
implementation "androidx.annotation:annotation:$ANNOTATION_VERSION"
implementation "androidx.constraintlayout:constraintlayout:$CONSTR_LAYOUT_VERSION"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$ANDROID_LIFECYCLE"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$ANDROID_LIFECYCLE"
implementation "androidx.activity:activity-ktx:$ACTIVITY_VERSION"
testImplementation "junit:junit:$JUNIT_VERSION"
androidTestImplementation "androidx.test.ext:junit:$TEST_JUNIT_VERSION"
androidTestImplementation "androidx.test.espresso:espresso-core:$ESPRESSO_VERSION"
androidTestImplementation "androidx.test:rules:$TEST_RULE"
implementation "androidx.tracing:tracing:1.1.0"
implementation "org.jetbrains.kotlin:kotlin-test:$KOTLIN_VERSION"
// Coroutines
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$KOTLINX_COROUTINES"
//Retrofit and GSON
implementation "com.squareup.retrofit2:retrofit:$RETROFIT_VERSION"
implementation "com.squareup.retrofit2:converter-gson:$RETROFIT_VERSION"
implementation "com.squareup.okhttp3:logging-interceptor:$OKHTTP_VERSION"
// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$LIFECYCLE_EXTENSION"
//New Material Design
implementation "com.google.android.material:material:$MATERIAL_VERSION"
// Hilt dependency injection
implementation "com.google.dagger:hilt-android:$HILT_VERSION"
ksp "com.google.dagger:hilt-compiler:$HILT_VERSION"
androidTestImplementation "com.google.dagger:hilt-android-testing:$HILT_VERSION"
kspAndroidTest "com.google.dagger:hilt-android-compiler:$HILT_VERSION"
//mockito and livedata testing
testImplementation "org.mockito:mockito-core:$MOKITO_CORE_VERSION"
testImplementation "androidx.arch.core:core-testing:$CORE_TEST_VERSION"
implementation "androidx.preference:preference-ktx:$PREFERENCES_VERSION"
//mock websever for testing retrofit responses
testImplementation "com.squareup.okhttp3:mockwebserver:4.9.0"
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
implementation "org.jetbrains.kotlin:kotlin-test:1.9.20"
}