From e538ce18b99938587b51cdc7c593967dda7c74c6 Mon Sep 17 00:00:00 2001 From: mdmahendri Date: Sat, 30 May 2026 10:53:29 +0700 Subject: [PATCH] refactor(device_info_plus): change android gradle from groovy to kotlin --- .../device_info_plus/android/build.gradle | 52 --------------- .../device_info_plus/android/build.gradle.kts | 53 +++++++++++++++ .../device_info_plus/android/settings.gradle | 1 - .../android/settings.gradle.kts | 1 + .../example/android/app/build.gradle | 65 ------------------- .../example/android/app/build.gradle.kts | 44 +++++++++++++ .../example/android/build.gradle | 18 ----- .../example/android/build.gradle.kts | 25 +++++++ .../example/android/settings.gradle | 25 ------- .../example/android/settings.gradle.kts | 26 ++++++++ 10 files changed, 149 insertions(+), 161 deletions(-) delete mode 100644 packages/device_info_plus/device_info_plus/android/build.gradle create mode 100644 packages/device_info_plus/device_info_plus/android/build.gradle.kts delete mode 100644 packages/device_info_plus/device_info_plus/android/settings.gradle create mode 100644 packages/device_info_plus/device_info_plus/android/settings.gradle.kts delete mode 100644 packages/device_info_plus/device_info_plus/example/android/app/build.gradle create mode 100644 packages/device_info_plus/device_info_plus/example/android/app/build.gradle.kts delete mode 100644 packages/device_info_plus/device_info_plus/example/android/build.gradle create mode 100644 packages/device_info_plus/device_info_plus/example/android/build.gradle.kts delete mode 100644 packages/device_info_plus/device_info_plus/example/android/settings.gradle create mode 100644 packages/device_info_plus/device_info_plus/example/android/settings.gradle.kts diff --git a/packages/device_info_plus/device_info_plus/android/build.gradle b/packages/device_info_plus/device_info_plus/android/build.gradle deleted file mode 100644 index 79a345a487..0000000000 --- a/packages/device_info_plus/device_info_plus/android/build.gradle +++ /dev/null @@ -1,52 +0,0 @@ -group 'dev.fluttercommunity.plus.device_info' -version '1.0-SNAPSHOT' - -buildscript { - ext.kotlin_version = '2.2.0' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:8.12.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -rootProject.allprojects { - repositories { - google() - mavenCentral() - } -} - -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' - -android { - namespace 'dev.fluttercommunity.plus.device_info' - compileSdk = flutter.compileSdkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = 17 - } - - defaultConfig { - minSdk 19 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - lintOptions { - disable 'InvalidPackage', 'MissingPermission' - } - - dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - } -} diff --git a/packages/device_info_plus/device_info_plus/android/build.gradle.kts b/packages/device_info_plus/device_info_plus/android/build.gradle.kts new file mode 100644 index 0000000000..e0a04a07f2 --- /dev/null +++ b/packages/device_info_plus/device_info_plus/android/build.gradle.kts @@ -0,0 +1,53 @@ +group = "dev.fluttercommunity.plus.device_info" +version = "1.0-SNAPSHOT" + +buildscript { + val kotlinVersion = "2.2.0" + + repositories { + google() + mavenCentral() + } + + dependencies { + classpath("com.android.tools.build:gradle:8.12.1") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +plugins { + id("com.android.library") + id("kotlin-android") +} + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + +android { + namespace = "dev.fluttercommunity.plus.device_info" + compileSdk = flutter.compileSdkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + defaultConfig { + minSdk = 19 + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + lint { + disable.addAll(listOf("InvalidPackage", "MissingPermission")) + } +} diff --git a/packages/device_info_plus/device_info_plus/android/settings.gradle b/packages/device_info_plus/device_info_plus/android/settings.gradle deleted file mode 100644 index 0e75718c9a..0000000000 --- a/packages/device_info_plus/device_info_plus/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'device_info' diff --git a/packages/device_info_plus/device_info_plus/android/settings.gradle.kts b/packages/device_info_plus/device_info_plus/android/settings.gradle.kts new file mode 100644 index 0000000000..dd5bfc93c2 --- /dev/null +++ b/packages/device_info_plus/device_info_plus/android/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "device_info" diff --git a/packages/device_info_plus/device_info_plus/example/android/app/build.gradle b/packages/device_info_plus/device_info_plus/example/android/app/build.gradle deleted file mode 100644 index c6e51e660d..0000000000 --- a/packages/device_info_plus/device_info_plus/example/android/app/build.gradle +++ /dev/null @@ -1,65 +0,0 @@ -plugins { - id "com.android.application" - id "kotlin-android" - id "dev.flutter.flutter-gradle-plugin" -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -android { - namespace 'io.flutter.plugins.deviceinfoexample.example' - compileSdk = flutter.compileSdkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = 17 - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - lintOptions { - disable 'InvalidPackage' - } - - defaultConfig { - applicationId "io.flutter.plugins.deviceinfoexample.example" - minSdk flutter.minSdkVersion - targetSdk flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} diff --git a/packages/device_info_plus/device_info_plus/example/android/app/build.gradle.kts b/packages/device_info_plus/device_info_plus/example/android/app/build.gradle.kts new file mode 100644 index 0000000000..236109c106 --- /dev/null +++ b/packages/device_info_plus/device_info_plus/example/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + id("com.android.application") + id("kotlin-android") + id("dev.flutter.flutter-gradle-plugin") +} + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + +android { + namespace = "io.flutter.plugins.deviceinfoexample.example" + compileSdk = flutter.compileSdkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + defaultConfig { + applicationId = "io.flutter.plugins.deviceinfoexample.example" + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + lint { + disable.add("InvalidPackage") + } + + buildTypes { + release { + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} diff --git a/packages/device_info_plus/device_info_plus/example/android/build.gradle b/packages/device_info_plus/device_info_plus/example/android/build.gradle deleted file mode 100644 index bc157bd1a1..0000000000 --- a/packages/device_info_plus/device_info_plus/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/packages/device_info_plus/device_info_plus/example/android/build.gradle.kts b/packages/device_info_plus/device_info_plus/example/android/build.gradle.kts new file mode 100644 index 0000000000..0ca7f57c1a --- /dev/null +++ b/packages/device_info_plus/device_info_plus/example/android/build.gradle.kts @@ -0,0 +1,25 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubProjectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubProjectBuildDir) +} + +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/packages/device_info_plus/device_info_plus/example/android/settings.gradle b/packages/device_info_plus/device_info_plus/example/android/settings.gradle deleted file mode 100644 index f1c2904d82..0000000000 --- a/packages/device_info_plus/device_info_plus/example/android/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.12.1" apply false - id "org.jetbrains.kotlin.android" version "2.2.0" apply false -} - -include ":app" diff --git a/packages/device_info_plus/device_info_plus/example/android/settings.gradle.kts b/packages/device_info_plus/device_info_plus/example/android/settings.gradle.kts new file mode 100644 index 0000000000..388d07202a --- /dev/null +++ b/packages/device_info_plus/device_info_plus/example/android/settings.gradle.kts @@ -0,0 +1,26 @@ +pluginManagement { + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "8.12.1" apply false + id("org.jetbrains.kotlin.android") version "2.2.0" apply false +} + +include(":app")