123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- import com.android.build.gradle.internal.tasks.factory.dependsOn
- import com.android.build.gradle.tasks.ExtractDeepLinksTask
- import com.android.build.gradle.tasks.MergeResources
- import de.undercouch.gradle.tasks.download.Download
- import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
- // SPDX-FileCopyrightText: Adam Evyčędo
- //
- // SPDX-License-Identifier: GPL-3.0-or-later
- plugins {
- id("com.android.application")
- kotlin("android")
- kotlin("plugin.parcelize")
- kotlin("plugin.serialization")
- id("org.openapi.generator")
- id("de.undercouch.download")
- }
- android {
- namespace = "xyz.apiote.bimba.czwek"
- // NOTE apksigner with `--alignment-preserved` https://gitlab.com/fdroid/fdroiddata/-/issues/3299#note_1989808414
- compileSdk = 35
- buildToolsVersion = "35.0.0"
- defaultConfig {
- applicationId = "xyz.apiote.bimba.czwek"
- minSdk = 21
- targetSdk = 35
- versionCode = 33
- versionName = "3.7.1"
- testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
- resourceConfigurations += listOf("en", "de", "en-rGB", "en-rUS", "et", "fr", "it", "pl")
- }
- buildTypes {
- getByName("release") {
- isMinifyEnabled = false
- proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
- }
- }
- applicationVariants.configureEach {
- resValue("string", "versionName", versionName)
- resValue("string", "applicationId", applicationId)
- }
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_21
- targetCompatibility = JavaVersion.VERSION_21
- isCoreLibraryDesugaringEnabled = true
- }
- buildFeatures {
- viewBinding = true
- }
- }
- tasks.register<Download>("downloadFile") {
- src("https://raw.githubusercontent.com/motis-project/motis/refs/heads/master/openapi.yaml")
- dest("${layout.buildDirectory.get()}/motis2.yml")
- overwrite(false)
- }
- tasks.register<Exec>("lintReuse") {
- commandLine("reuse", "lint")
- }
- tasks.named("openApiGenerate").dependsOn("downloadFile")
- openApiGenerate {
- generatorName.set("kotlin")
- inputSpec.set("${layout.buildDirectory.get()}/motis2.yml")
- outputDir.set("${layout.buildDirectory.get()}/generated")
- apiPackage.set("xyz.apiote.bimba.czwek.api.transitous.api")
- invokerPackage.set("xyz.apiote.bimba.czwek.api.transitous.invoker")
- modelPackage.set("xyz.apiote.bimba.czwek.api.transitous.model")
- }
- kotlin.sourceSets["main"].kotlin.srcDir("${layout.buildDirectory.get()}/generated/src/main/kotlin")
- tasks.withType<KotlinCompile> {
- dependsOn("openApiGenerate")
- dependsOn("lintReuse")
- }
- tasks.withType<MergeResources> {
- dependsOn("openApiGenerate")
- dependsOn("lintReuse")
- }
- tasks.withType<ExtractDeepLinksTask> {
- dependsOn("openApiGenerate")
- dependsOn("lintReuse")
- }
- dependencies {
- implementation("androidx.core:core-ktx:1.15.0")
- implementation("androidx.appcompat:appcompat:1.7.0")
- implementation("com.google.android.material:material:1.12.0")
- implementation("androidx.constraintlayout:constraintlayout:2.2.0")
- implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.7")
- implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
- implementation("androidx.navigation:navigation-fragment-ktx:2.8.4")
- implementation("androidx.navigation:navigation-ui-ktx:2.8.4")
- implementation("androidx.legacy:legacy-support-v4:1.0.0")
- implementation("androidx.core:core-splashscreen:1.0.1")
- implementation("com.google.openlocationcode:openlocationcode:1.0.4")
- implementation("org.osmdroid:osmdroid-android:6.1.20")
- implementation("org.yaml:snakeyaml:2.3")
- implementation("androidx.activity:activity-ktx:1.9.3")
- implementation("com.otaliastudios:zoomlayout:1.9.0")
- implementation("dev.bandb.graphview:graphview:0.8.1")
- implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3")
- implementation("com.github.jershell:kbson:0.5.0")
- implementation("androidx.preference:preference-ktx:1.2.1")
- implementation("androidx.work:work-runtime-ktx:2.10.0")
- implementation("com.github.doyaaaaaken:kotlin-csv-jvm:1.10.0")
- implementation("commons-io:commons-io:2.18.0")
- implementation("com.google.guava:guava:33.3.1-android")
- implementation(project(":fruchtfleisch"))
- implementation("ch.acra:acra-http:5.12.0")
- implementation("ch.acra:acra-notification:5.12.0")
- implementation("com.squareup.okhttp3:okhttp:4.12.0")
- implementation("com.squareup.moshi:moshi-kotlin:1.15.1")
- implementation("androidx.activity:activity:1.9.3")
- coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.3")
- androidTestImplementation("androidx.test.ext:junit:1.2.1")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
- }
|