SubwayTooter-Android-App/base/build.gradle

233 lines
8.6 KiB
Groovy
Raw Normal View History

plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
// apply plugin: 'kotlin-android'
// apply plugin: 'kotlin-kapt'
// import java.text.SimpleDateFormat
// apply plugin: 'com.android.application'
// apply plugin: 'org.jetbrains.kotlin.plugin.serialization'
// apply plugin: 'com.google.gms.google-services'
}
android {
namespace 'jp.juggler.base'
compileSdk compile_sdk_version
defaultConfig {
minSdk min_sdk_version
targetSdk target_sdk_version
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
// desugar_jdk_libs 2.0.0 は AGP 7.4.0-alpha10 以降を要求する
//noinspection GradleDependency
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugar_lib_bersion"
def emoji2Version = "1.2.0"
api "androidx.emoji2:emoji2:$emoji2Version"
api "androidx.emoji2:emoji2-views:$emoji2Version"
api "androidx.emoji2:emoji2-views-helper:$emoji2Version"
api "androidx.emoji2:emoji2-bundled:$emoji2Version"
api "androidx.appcompat:appcompat:$appcompat_version"
api 'androidx.core:core-ktx:1.9.0'
api 'com.google.android.material:material:1.7.0'
api "androidx.core:core-ktx:1.9.0"
// DrawerLayout
api "androidx.drawerlayout:drawerlayout:1.1.1"
// NavigationView
api "com.google.android.material:material:1.7.0"
// CustomTabs
api "androidx.browser:browser:1.4.0"
// Recyclerview
api "androidx.recyclerview:recyclerview:1.2.1"
api "androidx.exifinterface:exifinterface:1.3.5"
api "androidx.core:core-ktx:1.9.0"
api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutines_version"
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinx_coroutines_version"
api "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$kotlinx_coroutines_version"
api "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2"
api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
// ViewModel
api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
// LiveData
api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
// Saved state module for ViewModel
api "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
// if using Java8, use the following instead of lifecycle-compiler
api "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
// optional - helpers for implementing LifecycleOwner in a Service
api "androidx.lifecycle:lifecycle-service:$lifecycle_version"
// optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
api "androidx.lifecycle:lifecycle-process:$lifecycle_version"
// optional - ReactiveStreams support for LiveData
api "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"
api "androidx.startup:startup-runtime:$startup_version"
// video transcoder https://github.com/natario1/Transcoder
api "com.otaliastudios:transcoder:0.10.4"
api 'io.github.inflationx:calligraphy3:3.1.1'
api 'io.github.inflationx:viewpump:2.0.3'
api "com.squareup.okhttp3:okhttp:$okhttpVersion"
api "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
api "ru.gildor.coroutines:kotlin-coroutines-okhttp:1.0"
api 'com.github.woxthebox:draglistview:1.6.6'
api 'com.github.omadahealth:swipy:1.2.3@aar'
api 'com.github.kenglxn.QRGen:android:2.5.0'
api "com.google.android.flexbox:flexbox:3.0.0"
api 'com.astuetz:pagerslidingtabstrip:1.0.1'
api 'com.caverock:androidsvg-aar:1.4'
api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
// ViewModel
api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
//noinspection KtxExtensionAvailable
//api "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
// LiveData
api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
// Saved state module for ViewModel
api "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
// if using Java8, use the following instead of lifecycle-compiler
api "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
// optional - helpers for implementing LifecycleOwner in a Service
api "androidx.lifecycle:lifecycle-service:$lifecycle_version"
// optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
api "androidx.lifecycle:lifecycle-process:$lifecycle_version"
// optional - ReactiveStreams support for LiveData
api "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"
api 'androidx.work:work-runtime-ktx:2.8.0-rc01'
api "androidx.room:room-runtime:$roomVersion"
api "androidx.room:room-ktx:$roomVersion"
api 'com.google.android.exoplayer:exoplayer:2.18.2'
/*
WARNING: [Processor] Library '…\exoplayer-ui-2.12.0.aar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
Example of androidX reference: 'androidx/core/app/NotificationCompat$Builder'
Example of support library reference: 'android/support/v4/media/session/MediaSessionCompat$Token'
expPlayerも苦労してるんだなあ
*/
// LiveEvent
api "com.github.hadilq:live-event:1.3.0"
api "androidx.work:work-runtime:$workVersion"
api "androidx.work:work-runtime-ktx:$workVersion"
api "androidx.startup:startup-runtime:$startup_version"
// Koin main features for Android
api "io.insert-koin:koin-android:$koin_version"
api "io.insert-koin:koin-android-compat:$koin_version"
api "io.insert-koin:koin-androidx-workmanager:$koin_version"
// api "io.insert-koin:koin-androidx-navigation:$koin_version"
// api "io.insert-koin:koin-androidx-compose:$koin_version"
// https://firebase.google.com/support/release-notes/android
api "com.google.firebase:firebase-messaging:23.1.1"
api "com.github.bumptech.glide:glide:$glideVersion"
api "com.github.bumptech.glide:annotations:$glideVersion"
api("com.github.bumptech.glide:okhttp3-integration:$glideVersion") {
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
// しばらくはkotlin-testとjunitを併用
testApi "junit:junit:$junit_version"
testApi "org.jetbrains.kotlin:kotlin-test"
// optional - Test helpers for LiveData
testApi "androidx.arch.core:core-testing:$arch_version"
// optional - Test helpers for LiveData
testApi "androidx.arch.core:core-testing:$arch_version"
testApi("com.squareup.okhttp3:mockwebserver:$okhttpVersion") {
exclude group: 'com.squareup.okio', module: 'okio'
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
androidTestApi 'androidx.test.ext:junit:1.1.5'
// targetSdkVersion 31 で androidTest 時に android:exported 云々で怒られる問題の対策
// https://github.com/android/android-test/issues/1022
androidTestApi "androidx.test:core:$androidx_test_version"
androidTestApi 'androidx.test.espresso:espresso-core:3.5.1'
// androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0-alpha4', {
// exclude group: 'com.android.support', module: 'support-annotations'
// })
// androidTestApi('androidx.test.espresso:espresso-core:3.1.0-alpha4', {
// exclude group: 'com.android.support', module: 'support-annotations'
// })
androidTestApi("com.squareup.okhttp3:mockwebserver:$okhttpVersion") {
exclude group: 'com.squareup.okio', module: 'okio'
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
}