SubwayTooter-Android-App/base/build.gradle

164 lines
7.0 KiB
Groovy

plugins {
id "com.android.library"
id("org.jetbrains.kotlin.android")
}
android {
namespace "jp.juggler.base"
compileSdk stCompileSdkVersion
defaultConfig {
minSdk stMinSdkVersion
targetSdk stTargetSdkVersion
consumerProguardFiles "consumer-rules.pro"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
}
}
compileOptions {
sourceCompatibility javaSourceCompatibility
targetCompatibility javaTargetCompatibility
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = kotlinJvmTarget
}
packagingOptions {
jniLibs {
excludes += ["META-INF/LICENSE*"]
}
resources {
excludes += ["META-INF/LICENSE*"]
}
}
}
kotlin {
jvmToolchain(kotlinJvmToolchain)
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = kotlinJvmTarget
}
}
dependencies {
// desugar_jdk_libs 2.0.0 は AGP 7.4.0-alpha10 以降を要求する
//noinspection GradleDependency
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugarLibVersion"
api "androidx.appcompat:appcompat:$appcompatVersion"
api "androidx.browser:browser:1.5.0"
api "androidx.core:core-ktx:$coreKtxVersion"
api "androidx.drawerlayout:drawerlayout:1.2.0"
api "androidx.emoji2:emoji2-bundled:$emoji2Version"
api "androidx.emoji2:emoji2-views-helper:$emoji2Version"
api "androidx.emoji2:emoji2-views:$emoji2Version"
api "androidx.emoji2:emoji2:$emoji2Version"
api "androidx.exifinterface:exifinterface:1.3.6"
api "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-process:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-service:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion"
api "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycleVersion"
api "androidx.recyclerview:recyclerview:1.3.0"
api "androidx.startup:startup-runtime:$startupVersion"
api "androidx.work:work-runtime-ktx:$workVersion"
api "androidx.work:work-runtime:$workVersion"
api "com.astuetz:pagerslidingtabstrip:1.0.1"
api "com.caverock:androidsvg-aar:1.4"
api "com.github.hadilq:live-event:1.3.0"
api "com.github.omadahealth:swipy:1.2.3@aar"
api "com.github.woxthebox:draglistview:1.7.3"
api "com.google.android.flexbox:flexbox:3.0.0"
api "com.google.android.material:material:$materialVersion"
api "com.otaliastudios:transcoder:0.10.5"
api "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
api "com.squareup.okhttp3:okhttp:$okhttpVersion"
// api "io.github.inflationx:calligraphy3:3.1.1"
// api "io.github.inflationx:viewpump:2.1.1"
api "org.bouncycastle:bcprov-jdk15on:1.70"
api "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinxCoroutinesVersion"
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion"
api "org.jetbrains.kotlinx:kotlinx-datetime:0.4.0"
api "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1"
api "ru.gildor.coroutines:kotlin-coroutines-okhttp:1.0"
//non-OSS dependency api "androidx.media3:media3-cast:$media3Version"
api "androidx.media3:media3-common:$media3Version"
api "androidx.media3:media3-datasource:$media3Version"
api "androidx.media3:media3-effect:$media3Version"
api "androidx.media3:media3-exoplayer:$media3Version"
api "androidx.media3:media3-session:$media3Version"
api "androidx.media3:media3-transformer:$media3Version"
api "androidx.media3:media3-ui:$media3Version"
// commons-codecをapiにすると、端末上の古いjarが使われてしまう
// declaration of "org.apache.commons.codec.binary.Base64" appears in /system/framework/org.apache.http.legacy.jar)
androidTestImplementation "commons-codec:commons-codec:$commonsCodecVersion"
// Koin main features for Android
api "io.insert-koin:koin-android:$koinVersion"
api "io.insert-koin:koin-android-compat:$koinVersion"
api "io.insert-koin:koin-androidx-workmanager:$koinVersion"
// api "io.insert-koin:koin-androidx-navigation:$koinVersion"
// api "io.insert-koin:koin-androidx-compose:$koinVersion"
// for com.bumptech.glide.integration.webp.*
api "com.github.zjupure:webpdecoder:$webpDecoderVersion"
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"
}
androidTestApi "androidx.test.espresso:espresso-core:$androidxTestEspressoCoreVersion"
androidTestApi "androidx.test.ext:junit-ktx:1.1.5"
androidTestApi "androidx.test.ext:junit:$androidxTestExtJunitVersion"
androidTestApi "androidx.test.ext:truth:1.5.0"
androidTestApi "androidx.test:core-ktx:$testKtxVersion"
androidTestApi "androidx.test:core:$androidxTestVersion"
androidTestApi "androidx.test:runner:1.5.2"
androidTestApi "org.jetbrains.kotlin:kotlin-test:$kotlinTestVersion"
androidTestApi "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion"
testApi "androidx.arch.core:core-testing:$archVersion"
testApi "junit:junit:$junitVersion"
testApi "org.jetbrains.kotlin:kotlin-test:$kotlinTestVersion"
testApi "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion"
// To use android test orchestrator
androidTestUtil "androidx.test:orchestrator:1.4.2"
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("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"
}
// conscrypt をUnitテストするための指定
// https://github.com/google/conscrypt/issues/649
api "org.conscrypt:conscrypt-android:$conscryptVersion"
}