Files
Mealient/app/build.gradle
Kirill Kamakin 44458dd146 Fix a number of lint issues (#2)
* Fix systemUiVisibility deprecation warnings

This commit extracts setSystemUiVisibility as
an extension and uses the new API depending on
the Build.VERSION

* Fix splash fragment vector issues

Clip-path isn't available before V24 and
width/height should not exceed 200 dp.

* Remove unused disclaimer fragment header

* Remove unused ic_launcher_round

* Ignore IconMissingDensityFolder lint

Ignoring it because all the images are vector

* Ignore UnusedAttribute lint

It warns about networkSecurityConfig which
is used only in debug builds to allow
user SSL certificates. Lint says it's not
available before v24. But it doesn't matter
since before v24 the user SSL certificates
were allowed by default.

* Use plurals for disclaimer count down
2021-11-27 13:10:00 +00:00

160 lines
6.4 KiB
Groovy

plugins {
id 'kotlin-android'
id 'kotlin-kapt'
id 'com.android.application'
id 'androidx.navigation.safeargs.kotlin'
id 'dagger.hilt.android.plugin'
id 'org.jetbrains.kotlin.plugin.serialization'
}
android {
compileSdk 31
defaultConfig {
applicationId "gq.kirmanak.mealient"
minSdk 21
targetSdk 31
versionCode 3
versionName "0.1.2"
}
signingConfigs {
release {
rootProject.file("keystore.properties").with { keystorePropertiesFile ->
if (keystorePropertiesFile.canRead()) {
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
} else {
println 'Unable to read keystore.properties'
}
}
}
}
buildTypes {
debug {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
lintOptions {
disable 'ObsoleteLintCustomCheck', 'IconMissingDensityFolder'
enable 'ConvertToWebp', 'DuplicateStrings', 'EasterEgg', 'ExpensiveAssertion', 'IconExpectedSize', 'ImplicitSamInstance', 'InvalidPackage', 'KotlinPropertyAccess', 'LambdaLast', 'MinSdkTooLow', 'NegativeMargin', 'NoHardKeywords', 'Registered', 'RequiredSize', 'UnknownNullness', 'WrongThreadInterprocedural'
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
}
dependencies {
// https://github.com/material-components/material-components-android
implementation "com.google.android.material:material:1.4.0"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-runtime-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
// https://developer.android.com/kotlin/ktx#core
implementation "androidx.core:core-ktx:1.7.0"
// https://developer.android.com/jetpack/androidx/releases/appcompat
implementation "androidx.appcompat:appcompat:1.4.0"
// https://developer.android.com/jetpack/androidx/releases/constraintlayout
implementation "androidx.constraintlayout:constraintlayout:2.1.2"
// https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
// https://developer.android.com/jetpack/androidx/releases/lifecycle
def lifecycle_version = "2.4.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-compiler:$hilt_version"
kaptTest "com.google.dagger:hilt-android-compiler:$hilt_version"
testImplementation "com.google.dagger:hilt-android-testing:$hilt_version"
// https://github.com/square/retrofit/tags
implementation "com.squareup.retrofit2:retrofit:2.9.0"
// https://github.com/JakeWharton/retrofit2-kotlinx-serialization-converter/tags
implementation "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0"
// https://search.maven.org/artifact/com.squareup.okhttp3/okhttp
def okhttp_version = "4.9.2"
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
implementation "com.squareup.okhttp3:logging-interceptor:$okhttp_version"
testImplementation "com.squareup.okhttp3:mockwebserver:$okhttp_version"
// https://github.com/Kotlin/kotlinx.serialization/releases
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.1"
// https://developer.android.com/jetpack/androidx/releases/preference
implementation "androidx.preference:preference-ktx:1.1.1"
// https://github.com/JakeWharton/timber/releases
implementation 'com.jakewharton.timber:timber:5.0.1'
// https://developer.android.com/jetpack/androidx/releases/paging
def paging_version = "3.1.0"
implementation "androidx.paging:paging-runtime-ktx:$paging_version"
testImplementation "androidx.paging:paging-common-ktx:$paging_version"
// https://developer.android.com/jetpack/androidx/releases/room
def room_version = "2.4.0-beta02"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
implementation "androidx.room:room-paging:$room_version"
kapt "androidx.room:room-compiler:$room_version"
testImplementation "androidx.room:room-testing:$room_version"
// https://github.com/Kotlin/kotlinx-datetime/releases
implementation "org.jetbrains.kotlinx:kotlinx-datetime:0.3.1"
// https://github.com/bumptech/glide/releases
def glide_version = "4.12.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
implementation "com.github.bumptech.glide:okhttp3-integration:$glide_version"
kapt "com.github.bumptech.glide:compiler:$glide_version"
// https://github.com/junit-team/junit4/releases
testImplementation "junit:junit:4.13.2"
// https://github.com/Kotlin/kotlinx.coroutines/releases
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.2"
// https://github.com/robolectric/robolectric/releases
testImplementation "org.robolectric:robolectric:4.7.1"
// https://developer.android.com/jetpack/androidx/releases/test
testImplementation "androidx.test.ext:junit-ktx:1.1.3"
// https://mvnrepository.com/artifact/com.google.truth/truth
testImplementation "com.google.truth:truth:1.1.3"
}