From 7811284fcce7a6e6adad72d97960948e20c82c01 Mon Sep 17 00:00:00 2001 From: LemonNeko Date: Tue, 31 Mar 2026 16:24:38 +0800 Subject: [PATCH] chore(stage-pocket): migrate gradle scripts to kotlin dsl --- apps/stage-pocket/android/app/build.gradle | 58 -------------- .../stage-pocket/android/app/build.gradle.kts | 76 +++++++++++++++++++ .../{build.gradle => build.gradle.kts} | 16 ++-- apps/stage-pocket/android/settings.gradle | 5 -- apps/stage-pocket/android/settings.gradle.kts | 13 ++++ apps/stage-pocket/android/variables.gradle | 16 ---- .../stage-pocket/android/variables.gradle.kts | 16 ++++ 7 files changed, 114 insertions(+), 86 deletions(-) delete mode 100644 apps/stage-pocket/android/app/build.gradle create mode 100644 apps/stage-pocket/android/app/build.gradle.kts rename apps/stage-pocket/android/{build.gradle => build.gradle.kts} (55%) delete mode 100644 apps/stage-pocket/android/settings.gradle create mode 100644 apps/stage-pocket/android/settings.gradle.kts delete mode 100644 apps/stage-pocket/android/variables.gradle create mode 100644 apps/stage-pocket/android/variables.gradle.kts diff --git a/apps/stage-pocket/android/app/build.gradle b/apps/stage-pocket/android/app/build.gradle deleted file mode 100644 index 005114daf..000000000 --- a/apps/stage-pocket/android/app/build.gradle +++ /dev/null @@ -1,58 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'org.jetbrains.kotlin.android' - -android { - namespace = "ai.moeru.airi_pocket" - compileSdk = rootProject.ext.compileSdkVersion - defaultConfig { - applicationId "ai.moeru.airi_pocket" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - aaptOptions { - // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. - // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 - ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' - } - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - kotlinOptions { - jvmTarget = '21' - } -} - -repositories { - flatDir{ - dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' - } -} - -dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" - implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" - implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" - implementation project(':capacitor-android') - testImplementation "junit:junit:$junitVersion" - androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" - androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" - implementation project(':capacitor-cordova-android-plugins') -} - -apply from: 'capacitor.build.gradle' - -try { - def servicesJSON = file('google-services.json') - if (servicesJSON.text) { - apply plugin: 'com.google.gms.google-services' - } -} catch(Exception e) { - logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") -} diff --git a/apps/stage-pocket/android/app/build.gradle.kts b/apps/stage-pocket/android/app/build.gradle.kts new file mode 100644 index 000000000..bdee5194d --- /dev/null +++ b/apps/stage-pocket/android/app/build.gradle.kts @@ -0,0 +1,76 @@ +val androidMinSdk = rootProject.extra["minSdkVersion"] as Int +val androidCompileSdk = rootProject.extra["compileSdkVersion"] as Int +val androidTargetSdk = rootProject.extra["targetSdkVersion"] as Int +val androidxAppCompatVersion = rootProject.extra["androidxAppCompatVersion"] as String +val androidxCoordinatorLayoutVersion = rootProject.extra["androidxCoordinatorLayoutVersion"] as String +val coreSplashScreenVersion = rootProject.extra["coreSplashScreenVersion"] as String +val junitVersion = rootProject.extra["junitVersion"] as String +val androidxJunitVersion = rootProject.extra["androidxJunitVersion"] as String +val androidxEspressoCoreVersion = rootProject.extra["androidxEspressoCoreVersion"] as String + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "ai.moeru.airi_pocket" + compileSdk = androidCompileSdk + + defaultConfig { + applicationId = "ai.moeru.airi_pocket" + minSdk = androidMinSdk + targetSdk = androidTargetSdk + versionCode = 1 + versionName = "1.0" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + aaptOptions { + // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. + // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 + ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" + } + } + + buildTypes { + getByName("release") { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android.txt"), + "proguard-rules.pro", + ) + } + } + + kotlinOptions { + jvmTarget = "21" + } +} + +repositories { + flatDir { + dirs("../capacitor-cordova-android-plugins/src/main/libs", "libs") + } +} + +dependencies { + implementation(fileTree(mapOf("include" to listOf("*.jar"), "dir" to "libs"))) + implementation("androidx.appcompat:appcompat:$androidxAppCompatVersion") + implementation("androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion") + implementation("androidx.core:core-splashscreen:$coreSplashScreenVersion") + implementation(project(":capacitor-android")) + testImplementation("junit:junit:$junitVersion") + androidTestImplementation("androidx.test.ext:junit:$androidxJunitVersion") + androidTestImplementation("androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion") + implementation(project(":capacitor-cordova-android-plugins")) +} + +apply(from = "capacitor.build.gradle") + +try { + val servicesJson = file("google-services.json") + if (servicesJson.readText().isNotBlank()) { + apply(plugin = "com.google.gms.google-services") + } +} catch (error: Exception) { + logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") +} diff --git a/apps/stage-pocket/android/build.gradle b/apps/stage-pocket/android/build.gradle.kts similarity index 55% rename from apps/stage-pocket/android/build.gradle rename to apps/stage-pocket/android/build.gradle.kts index 74a1f0c86..7c5368af6 100644 --- a/apps/stage-pocket/android/build.gradle +++ b/apps/stage-pocket/android/build.gradle.kts @@ -1,22 +1,24 @@ +import org.gradle.api.tasks.Delete + // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - + repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.13.0' - classpath 'com.google.gms:google-services:4.4.4' - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.21' + classpath("com.android.tools.build:gradle:8.13.0") + classpath("com.google.gms:google-services:4.4.4") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.21") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } -apply from: "variables.gradle" +apply(from = "variables.gradle.kts") allprojects { repositories { @@ -25,6 +27,6 @@ allprojects { } } -task clean(type: Delete) { - delete rootProject.buildDir +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) } diff --git a/apps/stage-pocket/android/settings.gradle b/apps/stage-pocket/android/settings.gradle deleted file mode 100644 index 3b4431d77..000000000 --- a/apps/stage-pocket/android/settings.gradle +++ /dev/null @@ -1,5 +0,0 @@ -include ':app' -include ':capacitor-cordova-android-plugins' -project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') - -apply from: 'capacitor.settings.gradle' \ No newline at end of file diff --git a/apps/stage-pocket/android/settings.gradle.kts b/apps/stage-pocket/android/settings.gradle.kts new file mode 100644 index 000000000..354c1affb --- /dev/null +++ b/apps/stage-pocket/android/settings.gradle.kts @@ -0,0 +1,13 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +include(":app") +include(":capacitor-cordova-android-plugins") +project(":capacitor-cordova-android-plugins").projectDir = file("./capacitor-cordova-android-plugins/") + +apply(from = "capacitor.settings.gradle") diff --git a/apps/stage-pocket/android/variables.gradle b/apps/stage-pocket/android/variables.gradle deleted file mode 100644 index ee4ba41c4..000000000 --- a/apps/stage-pocket/android/variables.gradle +++ /dev/null @@ -1,16 +0,0 @@ -ext { - minSdkVersion = 24 - compileSdkVersion = 36 - targetSdkVersion = 36 - androidxActivityVersion = '1.11.0' - androidxAppCompatVersion = '1.7.1' - androidxCoordinatorLayoutVersion = '1.3.0' - androidxCoreVersion = '1.17.0' - androidxFragmentVersion = '1.8.9' - coreSplashScreenVersion = '1.2.0' - androidxWebkitVersion = '1.14.0' - junitVersion = '4.13.2' - androidxJunitVersion = '1.3.0' - androidxEspressoCoreVersion = '3.7.0' - cordovaAndroidVersion = '14.0.1' -} \ No newline at end of file diff --git a/apps/stage-pocket/android/variables.gradle.kts b/apps/stage-pocket/android/variables.gradle.kts new file mode 100644 index 000000000..207d685fd --- /dev/null +++ b/apps/stage-pocket/android/variables.gradle.kts @@ -0,0 +1,16 @@ +extra.apply { + set("minSdkVersion", 24) + set("compileSdkVersion", 36) + set("targetSdkVersion", 36) + set("androidxActivityVersion", "1.11.0") + set("androidxAppCompatVersion", "1.7.1") + set("androidxCoordinatorLayoutVersion", "1.3.0") + set("androidxCoreVersion", "1.17.0") + set("androidxFragmentVersion", "1.8.9") + set("coreSplashScreenVersion", "1.2.0") + set("androidxWebkitVersion", "1.14.0") + set("junitVersion", "4.13.2") + set("androidxJunitVersion", "1.3.0") + set("androidxEspressoCoreVersion", "3.7.0") + set("cordovaAndroidVersion", "14.0.1") +}