Auxio/app/build.gradle
OxygenCobalt 97808ce1c3
home: merge fast scroller
Merge the fast scroller back into Auxio once again, albeit this time
it's AFS instead of IndicatorFastScroll. This not only slims down the
implementation but also allows me to stop the scroller from appearing
every time the home view is recreated. All modifications were noted
and attribution is included to abide by the Apache 2.0 license.
2021-10-23 18:22:50 -06:00

126 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.1"
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.3"
// Preferences
implementation "androidx.preference:preference-ktx:1.1.1"
// --- THIRD PARTY ---
// ExoPlayer
implementation "com.google.android.exoplayer:exoplayer-core:2.15.1"
// Image loading
implementation 'io.coil-kt:coil:1.4.0'
// Material
implementation "com.google.android.material:material:1.5.0-alpha04"
// --- DEBUG ---
// Lint
ktlint 'com.pinterest:ktlint:0.42.1'
}
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"
}