140 lines
5.6 KiB
Groovy
140 lines
5.6 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.mealie"
|
|
minSdk 21
|
|
targetSdk 31
|
|
versionCode 1
|
|
versionName "1.0"
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = '1.8'
|
|
}
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
lintOptions {
|
|
disable 'ObsoleteLintCustomCheck'
|
|
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"
|
|
androidTestImplementation "androidx.navigation:navigation-testing:$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.3.1"
|
|
|
|
// https://developer.android.com/jetpack/androidx/releases/constraintlayout
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.1"
|
|
|
|
// 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-rc01"
|
|
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-beta01"
|
|
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"
|
|
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"
|
|
|
|
// 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"
|
|
|
|
// https://developer.android.com/jetpack/androidx/releases/test
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
|
|
} |