SubwayTooter-Android-App/base/build.gradle.kts

195 lines
8.0 KiB
Plaintext

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "jp.juggler.base"
compileSdk = Vers.stCompileSdkVersion
buildToolsVersion = Vers.stBuildToolsVersion
defaultConfig {
minSdk = Vers.stMinSdkVersion
consumerProguardFiles("consumer-rules.pro")
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
}
}
compileOptions {
sourceCompatibility = Vers.javaSourceCompatibility
targetCompatibility = Vers.javaTargetCompatibility
isCoreLibraryDesugaringEnabled = true
}
kotlin {
jvmToolchain(Vers.kotlinJvmToolchain)
}
kotlinOptions {
jvmTarget = Vers.kotlinJvmTarget
}
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = Vers.kotlinJvmTarget
}
}
packaging {
jniLibs {
excludes.addAll(listOf("META-INF/LICENSE*"))
}
resources {
excludes.addAll(listOf("META-INF/LICENSE*"))
}
}
}
kotlin {
jvmToolchain(Vers.kotlinJvmToolchain)
}
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = Vers.kotlinJvmTarget
}
}
dependencies {
// desugar_jdk_libs 2.0.0 は AGP 7.4.0-alpha10 以降を要求する
//noinspection GradleDependency
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:${Vers.desugarLibVersion}")
// JugglerBaseInitializer で使う
implementation("androidx.startup:startup-runtime:${Vers.androidxStartup}")
// decodeP256dh で使う
implementation("org.bouncycastle:bcprov-jdk15on:1.70")
// defaultSecurityProvider で使う
implementation("org.conscrypt:conscrypt-android:${Vers.conscryptVersion}")
// AudioTranscoderで使う
implementation("androidx.media3:media3-common:${Vers.androidxMedia3}")
implementation("androidx.media3:media3-transformer:${Vers.androidxMedia3}")
implementation("androidx.media3:media3-effect:${Vers.androidxMedia3}")
// EmptyScope.kt で使う
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:${Vers.kotlinxCoroutinesVersion}")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:${Vers.androidxLifecycle}")
// Compat.kt で使う
implementation("androidx.annotation:annotation:${Vers.androidxAnnotation}")
implementation("androidx.appcompat:appcompat:${Vers.androidxAppcompat}")
// JsonDelegate で使う
implementation(kotlin("reflect"))
// UriSerializer で使う。アカウント設定で状態の保存に kotlinx-serialization-json を使っている
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:${Vers.kotlinxSerializationLibVersion}")
// BitmapUtils で使う
implementation("androidx.exifinterface:exifinterface:1.3.7")
// MovieUtils で使う
implementation("com.otaliastudios:transcoder:0.10.5")
// HttpUtils で使う
implementation("com.squareup.okhttp3:okhttp:${Vers.okhttpVersion}")
// ないとなぜかIDE上にエラーが出る
implementation("androidx.activity:activity-ktx:${Vers.androidxActivity}")
// ==========================================================================
// 単体テスト
testImplementation(kotlin("test"))
// ==========================================================================
// AndroidTest
// 紛らわしいのでAndroidTestではkotlin.testを使わない androidTestImplementation(kotlin("test"))
androidTestRuntimeOnly("androidx.test:runner:1.5.2")
androidTestImplementation("androidx.test:core:${Vers.androidxTestCore}")
androidTestImplementation("androidx.test.ext:junit:${Vers.androidxTestExtJunit}")
androidTestImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:${Vers.kotlinxCoroutinesVersion}")
// DispatchersTest で使う
androidTestImplementation("androidx.lifecycle:lifecycle-viewmodel-ktx:${Vers.androidxLifecycle}")
// implementation("androidx.core:core-ktx:${Vers.androidxCoreVersion}")
//
// implementation("androidx.emoji2:emoji2-bundled:${Vers.androidxEmoji2}")
// implementation("androidx.emoji2:emoji2-views-helper:${Vers.androidxEmoji2}")
// implementation("androidx.emoji2:emoji2-views:${Vers.androidxEmoji2}")
// implementation("androidx.emoji2:emoji2:${Vers.androidxEmoji2}")
// implementation("androidx.lifecycle:lifecycle-common-java8:${Vers.lifecycleVersion}")
// implementation("androidx.lifecycle:lifecycle-livedata-ktx:${Vers.lifecycleVersion}")
// implementation("androidx.lifecycle:lifecycle-process:${Vers.lifecycleVersion}")
// implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:${Vers.lifecycleVersion}")
// implementation("androidx.lifecycle:lifecycle-service:${Vers.lifecycleVersion}")
// implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:${Vers.lifecycleVersion}")
// implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:${Vers.lifecycleVersion}")
//
//
// implementation("com.astuetz:pagerslidingtabstrip:1.0.1")
// implementation("com.caverock:androidsvg-aar:1.4")
// implementation("com.github.UnifiedPush:android-connector:2.1.1")
//
// implementation("com.github.bumptech.glide:annotations:${Vers.glideVersion}")
// implementation("com.github.bumptech.glide:glide:${Vers.glideVersion}")
// implementation("com.github.hadilq:live-event:1.3.0")
//
// implementation("com.github.penfeizhou.android.animation:apng:${Vers.apng4AndroidVersion}")
//
// implementation("com.github.zjupure:webpdecoder:${Vers.webpDecoderVersion}")
//
// implementation("com.google.android.material:material:${Vers.googleMaterialVersion}")
//
// implementation("jp.wasabeef:glide-transformations:4.3.0")
// implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:${Vers.kotlinxCoroutinesVersion}")
// implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
// implementation("ru.gildor.coroutines:kotlin-coroutines-okhttp:${Vers.gildorkotlinCoroutinesOkhttp}")
// androidTestImplementation("androidx.test.espresso:espresso-core:${Vers.androidxTestEspressoCoreVersion}")
// androidTestImplementation("androidx.test.ext:junit-ktx:1.1.5")
// androidTestImplementation("androidx.test.ext:truth:1.5.0")
// androidTestImplementation("androidx.test:core-ktx:${Vers.testKtxVersion}")
//
// testImplementation("androidx.arch.core:core-testing:${Vers.archVersion}")
// testImplementation("junit:junit:${Vers.junitVersion}")
// testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:${Vers.kotlinxCoroutinesVersion}")
//
// // Compose compilerによりkotlinのバージョンを上げられない
// //noinspection GradleDependency
// testImplementation("org.jetbrains.kotlin:kotlin-test:${Vers.kotlinTestVersion}")
// //noinspection GradleDependency
// androidTestImplementation("org.jetbrains.kotlin:kotlin-test:${Vers.kotlinTestVersion}")
//
// // To use android test orchestrator
// // androidTestUtil("androidx.test:orchestrator:1.4.2")
//
// testImplementation("com.squareup.okhttp3:mockwebserver:${Vers.okhttpVersion}") {
// exclude("com.squareup.okio", "okio")
// exclude("com.squareup.okhttp3", "okhttp")
// exclude("org.jetbrains.kotlin", "kotlin-stdlib-common")
// exclude("org.jetbrains.kotlin", "kotlin-stdlib")
// exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
// }
// androidTestImplementation("com.squareup.okhttp3:mockwebserver:${Vers.okhttpVersion}") {
// exclude("com.squareup.okio", "okio")
// exclude("com.squareup.okhttp3", "okhttp")
// exclude("org.jetbrains.kotlin", "kotlin-stdlib-common")
// exclude("org.jetbrains.kotlin", "kotlin-stdlib")
// exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
// }
}