
Use bullets instead of slashes when seperating names. This is mostly for accessibility, as screen readers will handle bullets better than slashes.
129 lines
3.4 KiB
Groovy
129 lines
3.4 KiB
Groovy
apply plugin: "com.android.application"
|
|
apply plugin: "kotlin-android"
|
|
apply plugin: "kotlin-kapt"
|
|
apply plugin: "androidx.navigation.safeargs.kotlin"
|
|
|
|
android {
|
|
compileSdkVersion 31
|
|
buildToolsVersion "31.0.0"
|
|
|
|
defaultConfig {
|
|
applicationId "org.oxycblt.auxio"
|
|
versionName "1.4.2"
|
|
versionCode 8
|
|
|
|
minSdkVersion 21
|
|
targetSdkVersion 31
|
|
|
|
buildFeatures {
|
|
dataBinding true
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
debuggable true
|
|
applicationIdSuffix = ".debug"
|
|
versionNameSuffix = "-DEBUG"
|
|
}
|
|
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
|
|
}
|
|
}
|
|
|
|
// ExoPlayer needs Java 8 to compile.
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
ktlint
|
|
}
|
|
|
|
afterEvaluate {
|
|
preDebugBuild.dependsOn ktlintFormat
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
|
|
|
// Kotlin
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
|
|
// --- SUPPORT ---
|
|
|
|
// General
|
|
implementation "androidx.core:core-ktx:1.6.0"
|
|
implementation "androidx.activity:activity-ktx:1.3.1"
|
|
implementation 'androidx.fragment:fragment-ktx:1.3.6'
|
|
|
|
// UI
|
|
implementation "androidx.recyclerview:recyclerview:1.2.1"
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.0"
|
|
implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
|
|
implementation "androidx.viewpager2:viewpager2:1.1.0-beta01"
|
|
|
|
// Lifecycle
|
|
def lifecycle_version = "2.3.1"
|
|
implementation "androidx.lifecycle:lifecycle-common:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
|
|
|
|
// Navigation
|
|
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
|
|
|
|
// Media
|
|
// TODO: Migrate to media2 when I can figure out how to use it
|
|
implementation "androidx.media:media:1.4.1"
|
|
|
|
// Preferences
|
|
implementation "androidx.preference:preference-ktx:1.1.1"
|
|
|
|
// --- THIRD PARTY ---
|
|
|
|
// ExoPlayer
|
|
implementation "com.google.android.exoplayer:exoplayer-core:2.15.0"
|
|
|
|
// Image loading
|
|
implementation 'io.coil-kt:coil:1.3.2'
|
|
|
|
// Material
|
|
implementation "com.google.android.material:material:1.4.0"
|
|
|
|
// --- DEBUG ---
|
|
|
|
// Lint
|
|
ktlint 'com.pinterest:ktlint:0.42.1'
|
|
|
|
// Memory Leak checking
|
|
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
|
|
}
|
|
|
|
task ktlint(type: JavaExec, group: "verification") {
|
|
description = "Check Kotlin code style."
|
|
mainClass.set("com.pinterest.ktlint.Main")
|
|
classpath = configurations.ktlint
|
|
|
|
args "src/**/*.kt"
|
|
}
|
|
check.dependsOn ktlint
|
|
|
|
task ktlintFormat(type: JavaExec, group: "formatting") {
|
|
description = "Fix Kotlin code style deviations."
|
|
mainClass.set("com.pinterest.ktlint.Main")
|
|
classpath = configurations.ktlint
|
|
|
|
args "-F", "src/**/*.kt"
|
|
}
|