From aa603aac44ff9cc9e56e149fa57af59313d8b9ab Mon Sep 17 00:00:00 2001 From: SuperMonster003 Date: Mon, 6 Oct 2025 12:56:22 +0800 Subject: [PATCH] =?UTF-8?q?6.7.0=20-=20Alpha6=20-=20Gradle=20=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E7=94=B1=20buildSrc=20=E8=BF=81=E7=A7=BB=E8=87=B3=20b?= =?UTF-8?q?uild-logic=20=E5=B9=B6=E5=90=AF=E7=94=A8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E8=AE=BF=E9=97=AE=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 48 ++++---- .../convention}/.gitignore | 0 build-logic/convention/build.gradle.kts | 98 ++++++++++++++++ .../org/autojs/build/BuildProperties.kt | 0 .../main/kotlin/org/autojs/build/Formatted.kt | 0 .../org/autojs/build/JvmConventionPlugin.kt | 0 .../kotlin/org/autojs/build/LibDeployer.kt | 0 .../org/autojs/build/PropertiesPlugin.kt | 0 .../org/autojs/build/SevenZExtractor.kt | 0 .../src/main/kotlin/org/autojs/build/Signs.kt | 0 .../kotlin/org/autojs/build/SignsPlugin.kt | 0 .../src/main/kotlin/org/autojs/build/Utils.kt | 0 .../kotlin/org/autojs/build/UtilsPlugin.kt | 0 .../main/kotlin/org/autojs/build/Versions.kt | 0 .../kotlin/org/autojs/build/VersionsPlugin.kt | 0 build-logic/settings.gradle.kts | 17 +++ buildSrc/build.gradle.kts | 110 ------------------ buildSrc/settings.gradle.kts | 26 ----- .../android-assertion-9.0.0.aar | Bin .../build.gradle.kts | 0 .../android-job-simplified.aar | Bin .../build.gradle.kts | 0 ...oid-plugin-client-sdk-for-locale-9.0.0.aar | Bin .../build.gradle.kts | 0 .../android-spackle-9.0.0.aar | Bin .../build.gradle.kts | 0 .../appcompat-legacy.aar | Bin .../build.gradle.kts | 0 .../apk-parser-1.0.2.aar | Bin .../build.gradle.kts | 0 ...id.dx-1.14.jar => com-android-dx-1_14.jar} | Bin ....0.jar => com-legacy-android-dx-1_7_0.jar} | Bin .../build.gradle.kts | 0 .../crashreport-4.0.4.aar | Bin .../build.gradle.kts | 0 .../expandable-layout-1.6.0.aar | Bin ...hub-api-1.306.jar => github-api-1_306.jar} | Bin .../build.gradle.kts | 0 .../term-debug.aar | Bin .../build.gradle.kts | 0 .../emulatorview-release.aar | Bin .../build.gradle.kts | 0 .../libtermexec-release.aar | Bin .../build.gradle.kts | 0 .../markwon-core-4.6.2.aar | Bin .../build.gradle.kts | 0 .../markwon-syntax-highlight-4.6.2.aar | Bin ...ime-util-2.1.3.jar => mime-util-2_1_3.jar} | Bin ...r => org-mozilla-rhino-1_8_1-SNAPSHOT.jar} | Bin .../build.gradle.kts | 0 .../opencv-4.8.0.aar | Bin libs/paddleocr/build.gradle.kts | 2 +- libs/{prism4j-2.0.0.jar => prism4j-2_0_0.jar} | Bin ...er-2.0.0.jar => prism4j-bundler-2_0_0.jar} | Bin .../build.gradle.kts | 0 .../recyclerview-flexibledivider-1.4.0.aar | Bin .../build.gradle.kts | 0 .../root-shell-1.6.aar | Bin libs/{tiny-sign-0.9.jar => tiny-sign-0_9.jar} | Bin settings.gradle.kts | 38 +++--- version.properties | 6 +- 61 files changed, 165 insertions(+), 180 deletions(-) rename {buildSrc => build-logic/convention}/.gitignore (100%) create mode 100644 build-logic/convention/build.gradle.kts rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/BuildProperties.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/Formatted.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/JvmConventionPlugin.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/LibDeployer.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/PropertiesPlugin.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/SevenZExtractor.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/Signs.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/SignsPlugin.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/Utils.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/UtilsPlugin.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/Versions.kt (100%) rename {buildSrc => build-logic/convention}/src/main/kotlin/org/autojs/build/VersionsPlugin.kt (100%) create mode 100644 build-logic/settings.gradle.kts delete mode 100644 buildSrc/build.gradle.kts delete mode 100644 buildSrc/settings.gradle.kts rename libs/{android-assertion-9.0.0 => android-assertion-9_0_0}/android-assertion-9.0.0.aar (100%) rename libs/{android-assertion-9.0.0 => android-assertion-9_0_0}/build.gradle.kts (100%) rename libs/{android-job-simplified-1.4.3 => android-job-simplified-1_4_3}/android-job-simplified.aar (100%) rename libs/{android-job-simplified-1.4.3 => android-job-simplified-1_4_3}/build.gradle.kts (100%) rename libs/{android-plugin-client-sdk-for-locale-9.0.0 => android-plugin-client-sdk-for-locale-9_0_0}/android-plugin-client-sdk-for-locale-9.0.0.aar (100%) rename libs/{android-plugin-client-sdk-for-locale-9.0.0 => android-plugin-client-sdk-for-locale-9_0_0}/build.gradle.kts (100%) rename libs/{android-spackle-9.0.0 => android-spackle-9_0_0}/android-spackle-9.0.0.aar (100%) rename libs/{android-spackle-9.0.0 => android-spackle-9_0_0}/build.gradle.kts (100%) rename libs/{androidx.appcompat-1.0.2 => androidx-appcompat-1_0_2}/appcompat-legacy.aar (100%) rename libs/{androidx.appcompat-1.0.2 => androidx-appcompat-1_0_2}/build.gradle.kts (100%) rename libs/{apk-parser-1.0.2 => apk-parser-1_0_2}/apk-parser-1.0.2.aar (100%) rename libs/{apk-parser-1.0.2 => apk-parser-1_0_2}/build.gradle.kts (100%) rename libs/{com.android.dx-1.14.jar => com-android-dx-1_14.jar} (100%) rename libs/{com.legacy.android.dx-1.7.0.jar => com-legacy-android-dx-1_7_0.jar} (100%) rename libs/{com.tencent.bugly.crashreport-4.0.4 => com-tencent-bugly-crashreport-4_0_4}/build.gradle.kts (100%) rename libs/{com.tencent.bugly.crashreport-4.0.4 => com-tencent-bugly-crashreport-4_0_4}/crashreport-4.0.4.aar (100%) rename libs/{expandable-layout-1.6.0 => expandable-layout-1_6_0}/build.gradle.kts (100%) rename libs/{expandable-layout-1.6.0 => expandable-layout-1_6_0}/expandable-layout-1.6.0.aar (100%) rename libs/{github-api-1.306.jar => github-api-1_306.jar} (100%) rename libs/{jackpal.androidterm-1.0.70 => jackpal-androidterm-1_0_70}/build.gradle.kts (100%) rename libs/{jackpal.androidterm-1.0.70 => jackpal-androidterm-1_0_70}/term-debug.aar (100%) rename libs/{jackpal.androidterm.emulatorview-1.0.42 => jackpal-androidterm-emulatorview-1_0_42}/build.gradle.kts (100%) rename libs/{jackpal.androidterm.emulatorview-1.0.42 => jackpal-androidterm-emulatorview-1_0_42}/emulatorview-release.aar (100%) rename libs/{jackpal.androidterm.libtermexec-1.0 => jackpal-androidterm-libtermexec-1_0}/build.gradle.kts (100%) rename libs/{jackpal.androidterm.libtermexec-1.0 => jackpal-androidterm-libtermexec-1_0}/libtermexec-release.aar (100%) rename libs/{markwon-core-4.6.2 => markwon-core-4_6_2}/build.gradle.kts (100%) rename libs/{markwon-core-4.6.2 => markwon-core-4_6_2}/markwon-core-4.6.2.aar (100%) rename libs/{markwon-syntax-highlight-4.6.2 => markwon-syntax-highlight-4_6_2}/build.gradle.kts (100%) rename libs/{markwon-syntax-highlight-4.6.2 => markwon-syntax-highlight-4_6_2}/markwon-syntax-highlight-4.6.2.aar (100%) rename libs/{mime-util-2.1.3.jar => mime-util-2_1_3.jar} (100%) rename libs/{org.mozilla.rhino-1.8.1-SNAPSHOT.jar => org-mozilla-rhino-1_8_1-SNAPSHOT.jar} (100%) rename libs/{org.opencv-4.8.0 => org-opencv-4_8_0}/build.gradle.kts (100%) rename libs/{org.opencv-4.8.0 => org-opencv-4_8_0}/opencv-4.8.0.aar (100%) rename libs/{prism4j-2.0.0.jar => prism4j-2_0_0.jar} (100%) rename libs/{prism4j-bundler-2.0.0.jar => prism4j-bundler-2_0_0.jar} (100%) rename libs/{recyclerview-flexibledivider-1.4.0 => recyclerview-flexibledivider-1_4_0}/build.gradle.kts (100%) rename libs/{recyclerview-flexibledivider-1.4.0 => recyclerview-flexibledivider-1_4_0}/recyclerview-flexibledivider-1.4.0.aar (100%) rename libs/{root-shell-1.6 => root-shell-1_6}/build.gradle.kts (100%) rename libs/{root-shell-1.6 => root-shell-1_6}/root-shell-1.6.aar (100%) rename libs/{tiny-sign-0.9.jar => tiny-sign-0_9.jar} (100%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ef9f2e80..67167bfd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -101,7 +101,7 @@ dependencies /* Unclassified */ { implementation(libs.analytics) // Bugly - implementation(project(":libs:com.tencent.bugly.crashreport-4.0.4")) + implementation(project(":libs:com-tencent-bugly-crashreport-4_0_4")) // OkHttp implementation(libs.okhttp) @@ -146,7 +146,7 @@ dependencies /* Unclassified */ { // RootShell // implementation("com.github.Stericson:RootShell:1.6") - implementation(project(":libs:root-shell-1.6")) + implementation(project(":libs:root-shell-1_6")) // JDeferred implementation(libs.jdeferred) @@ -162,16 +162,16 @@ dependencies /* Unclassified */ { implementation(libs.versioncompare) // Terminal Emulator - implementation(project(":libs:jackpal.androidterm.libtermexec-1.0")) - implementation(project(":libs:jackpal.androidterm.emulatorview-1.0.42")) - implementation(project(":libs:jackpal.androidterm-1.0.70")) + implementation(project(":libs:jackpal-androidterm-libtermexec-1_0")) + implementation(project(":libs:jackpal-androidterm-emulatorview-1_0_42")) + implementation(project(":libs:jackpal-androidterm-1_0_70")) // Dex - implementation(files("$rootDir/libs/com.android.dx-1.14.jar")) - implementation(files("$rootDir/libs/com.legacy.android.dx-1.7.0.jar")) + implementation(files("$rootDir/libs/com-android-dx-1_14.jar")) + implementation(files("$rootDir/libs/com-legacy-android-dx-1_7_0.jar")) // OpenCV - implementation(project(":libs:org.opencv-4.8.0")) + implementation(project(":libs:org-opencv-4_8_0")) // PaddleOCR implementation(project(":libs:paddleocr")) @@ -183,7 +183,7 @@ dependencies /* Unclassified */ { implementation(project(":libs:imagequant")) // Android Job - implementation(project(":libs:android-job-simplified-1.4.3")) + implementation(project(":libs:android-job-simplified-1_4_3")) // APK Parser // implementation("com.jaredrummler:apk-parser:1.0.2") @@ -191,18 +191,18 @@ dependencies /* Unclassified */ { implementation(project(":modules:apk-parser")) // Prism4j - implementation(files("$rootDir/libs/prism4j-2.0.0.jar")) - implementation(files("$rootDir/libs/prism4j-bundler-2.0.0.jar")) - implementation(project(":libs:markwon-core-4.6.2")) - implementation(project(":libs:markwon-syntax-highlight-4.6.2")) + implementation(files("$rootDir/libs/prism4j-2_0_0.jar")) + implementation(files("$rootDir/libs/prism4j-bundler-2_0_0.jar")) + implementation(project(":libs:markwon-core-4_6_2")) + implementation(project(":libs:markwon-syntax-highlight-4_6_2")) // Rhino - implementation(files("$rootDir/libs/org.mozilla.rhino-1.8.1-SNAPSHOT.jar")) + implementation(files("$rootDir/libs/org-mozilla-rhino-1_8_1-SNAPSHOT.jar")) // Tasker Plugin - implementation(project(":libs:android-spackle-9.0.0")) - implementation(project(":libs:android-assertion-9.0.0")) - implementation(project(":libs:android-plugin-client-sdk-for-locale-9.0.0")) + implementation(project(":libs:android-spackle-9_0_0")) + implementation(project(":libs:android-assertion-9_0_0")) + implementation(project(":libs:android-plugin-client-sdk-for-locale-9_0_0")) // JavaMail for Android implementation(files("$rootDir/libs/javamail-android/activation.jar")) @@ -228,7 +228,7 @@ dependencies /* Unclassified */ { implementation(project(":modules:jieba-analysis")) // Tiny Sign - implementation(files("$rootDir/libs/tiny-sign-0.9.jar")) + implementation(files("$rootDir/libs/tiny-sign-0_9.jar")) // Room implementation(libs.room.runtime) @@ -267,7 +267,7 @@ dependencies /* MIME */ { // MIME Util // implementation("eu.medsea.mimeutil:mime-util:2.1.3") - implementation(files("$rootDir/libs/mime-util-2.1.3.jar")) + implementation(files("$rootDir/libs/mime-util-2_1_3.jar")) } dependencies /* Test */ { @@ -299,7 +299,7 @@ dependencies /* AppCompat */ { implementation(libs.appcompat) // AppCompat for legacy views (such as JsTextViewLegacy) - implementation(project(":libs:androidx.appcompat-1.0.2")) { + implementation(project(":libs:androidx-appcompat-1_0_2")) { setVersion("1.0.2") } } @@ -326,14 +326,14 @@ dependencies /* Material Dialogs */ { dependencies /* Layout */ { // Expandable Layout // implementation("com.github.aakira:expandable-layout:1.6.0") - implementation(project(":libs:expandable-layout-1.6.0")) + implementation(project(":libs:expandable-layout-1_6_0")) // Expandable RecyclerView implementation(libs.expandablerecyclerview) // Flexible Divider // implementation("com.yqritc:recyclerview-flexibledivider:1.4.0") - implementation(project(":libs:recyclerview-flexibledivider-1.4.0")) + implementation(project(":libs:recyclerview-flexibledivider-1_4_0")) } dependencies /* View */ { @@ -349,7 +349,7 @@ dependencies /* View */ { dependencies /* GitHub API */ { // GitHub API - implementation(files("$rootDir/libs/github-api-1.306.jar")) + implementation(files("$rootDir/libs/github-api-1_306.jar")) // Commons IO // @Hint by SuperMonster003 on Sep 25, 2025. @@ -394,7 +394,7 @@ dependencies /* Auto.js Extensions */ { // Auto.js APK Builder // @Integrated by SuperMonster003 on Mar 30, 2023. - // # implementation(project(":libs:Auto.js-ApkBuilder-1.0.3")) + // # implementation(project(":libs:Autojs-ApkBuilder-1_0_3")) // Extracted from com.github.hyb1996:MutableTheme:1.0.0 implementation(libs.recyclerview) diff --git a/buildSrc/.gitignore b/build-logic/convention/.gitignore similarity index 100% rename from buildSrc/.gitignore rename to build-logic/convention/.gitignore diff --git a/build-logic/convention/build.gradle.kts b/build-logic/convention/build.gradle.kts new file mode 100644 index 00000000..5abef19c --- /dev/null +++ b/build-logic/convention/build.gradle.kts @@ -0,0 +1,98 @@ +import java.util.Properties + +plugins { + `kotlin-dsl` /* kotlin("jvm") */ + `java-gradle-plugin` +} + +repositories { + mavenCentral() +} + +dependencies { + implementation(gradleApi()) + + implementation(libs.apache.commons.compress) + implementation(libs.tukaani.xz) +} + +gradlePlugin { + plugins { + register("utils") { + id = "org.autojs.build.utils" + implementationClass = "org.autojs.build.UtilsPlugin" + displayName = "AutoJs6 Build Utils Plugin" + description = "Provides utilities for downloading, extracting archives, and version helpers." + } + register("versions") { + id = "org.autojs.build.versions" + implementationClass = "org.autojs.build.VersionsPlugin" + displayName = "AutoJs6 Versions Plugin" + description = "Provides version helpers." + } + register("signs") { + id = "org.autojs.build.signs" + implementationClass = "org.autojs.build.SignsPlugin" + displayName = "AutoJs6 Signs Plugin" + description = "Provides signing helpers." + } + register("properties") { + id = "org.autojs.build.properties" + implementationClass = "org.autojs.build.PropertiesPlugin" + displayName = "AutoJs6 Properties Plugin" + description = "Provides properties helpers." + } + register("jvmConvention") { + id = "org.autojs.build.jvm-convention" + implementationClass = "org.autojs.build.JvmConventionPlugin" + displayName = "AutoJs6 JVM Convention Plugin" + description = "Configures Java/Kotlin targets for Android modules using central Versions." + } + } +} + +run determineBuildSrcJdk@{ + val propsFile: File = rootDir.parentFile.resolve("version.properties") + val minSupported: Int = Properties().let { props -> + require(propsFile.isFile) { + "version.properties not found in root directory" + } + propsFile.inputStream().use { props.load(it) } + val minSupportedVersion = props.getProperty("JAVA_VERSION_MIN_SUPPORTED") + require(minSupportedVersion != null) { + "version.properties does not contain \"JAVA_VERSION_MIN_SUPPORTED\"" + } + minSupportedVersion.toInt() + } + val current = JavaVersion.current().majorVersion.toIntOrNull() ?: minSupported + + fun tryAdjustByKotlinJvmTarget(sourceVersion: Int): Int { + return runCatching { + val cls = Class.forName("org.jetbrains.kotlin.gradle.dsl.JvmTarget") + val enumConstants = cls.enumConstants ?: return sourceVersion + var tmpVersion = sourceVersion + while (tmpVersion > minSupported) { + val wanted = "JVM_$tmpVersion" + if (enumConstants.any { it?.toString().equals(wanted, ignoreCase = true) }) { + return tmpVersion + } + tmpVersion -= 1 + } + return@runCatching sourceVersion + }.getOrDefault(sourceVersion) + } + + tryAdjustByKotlinJvmTarget(maxOf(current, minSupported)).also { + println("Toolchain: selected [$it] / current [$current] / min [$minSupported]") + } +}.let { jdk -> + + kotlin { + jvmToolchain(jdk) + } + + java { + toolchain.languageVersion.set(JavaLanguageVersion.of(jdk)) + } + +} diff --git a/buildSrc/src/main/kotlin/org/autojs/build/BuildProperties.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/BuildProperties.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/BuildProperties.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/BuildProperties.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/Formatted.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/Formatted.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/Formatted.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/Formatted.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/JvmConventionPlugin.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/JvmConventionPlugin.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/JvmConventionPlugin.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/JvmConventionPlugin.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/LibDeployer.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/LibDeployer.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/LibDeployer.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/LibDeployer.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/PropertiesPlugin.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/PropertiesPlugin.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/PropertiesPlugin.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/PropertiesPlugin.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/SevenZExtractor.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/SevenZExtractor.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/SevenZExtractor.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/SevenZExtractor.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/Signs.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/Signs.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/Signs.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/Signs.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/SignsPlugin.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/SignsPlugin.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/SignsPlugin.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/SignsPlugin.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/Utils.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/Utils.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/Utils.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/Utils.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/UtilsPlugin.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/UtilsPlugin.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/UtilsPlugin.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/UtilsPlugin.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/Versions.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/Versions.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/Versions.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/Versions.kt diff --git a/buildSrc/src/main/kotlin/org/autojs/build/VersionsPlugin.kt b/build-logic/convention/src/main/kotlin/org/autojs/build/VersionsPlugin.kt similarity index 100% rename from buildSrc/src/main/kotlin/org/autojs/build/VersionsPlugin.kt rename to build-logic/convention/src/main/kotlin/org/autojs/build/VersionsPlugin.kt diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts new file mode 100644 index 00000000..b11d5487 --- /dev/null +++ b/build-logic/settings.gradle.kts @@ -0,0 +1,17 @@ +enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") + +dependencyResolutionManagement { + repositories { + mavenCentral() + google() + } + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } +} + +include(":convention") + +rootProject.name = "build-logic" diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts deleted file mode 100644 index 0a108f97..00000000 --- a/buildSrc/build.gradle.kts +++ /dev/null @@ -1,110 +0,0 @@ -@file:Suppress("ObjectLiteralToLambda") - -import java.util.* - -plugins { - `kotlin-dsl` /* kotlin("jvm") */ - `java-gradle-plugin` -} - -repositories { - mavenCentral() -} - -dependencies { - implementation(libs.apache.commons.compress) - implementation(libs.tukaani.xz) - - implementation(gradleApi()) -} - -gradlePlugin { - plugins { - create("buildUtils", object : Action { - override fun execute(t: PluginDeclaration) { - t.id = "org.autojs.build.utils" - t.implementationClass = "org.autojs.build.UtilsPlugin" - t.displayName = "AutoJs6 Build Utils Plugin" - t.description = "Provides utilities for downloading, extracting archives, and version helpers." - } - }) - create("buildVersions", object : Action { - override fun execute(t: PluginDeclaration) { - t.id = "org.autojs.build.versions" - t.implementationClass = "org.autojs.build.VersionsPlugin" - t.displayName = "AutoJs6 Versions Plugin" - t.description = "Provides version helpers." - } - }) - create("buildSigns", object : Action { - override fun execute(t: PluginDeclaration) { - t.id = "org.autojs.build.signs" - t.implementationClass = "org.autojs.build.SignsPlugin" - t.displayName = "AutoJs6 Signs Plugin" - t.description = "Provides signing helpers." - } - }) - create("buildProperties", object : Action { - override fun execute(t: PluginDeclaration) { - t.id = "org.autojs.build.properties" - t.implementationClass = "org.autojs.build.PropertiesPlugin" - t.displayName = "AutoJs6 Properties Plugin" - t.description = "Provides properties helpers." - } - }) - create("jvmConvention", object : Action { - override fun execute(t: PluginDeclaration) { - t.id = "org.autojs.build.jvm-convention" - t.implementationClass = "org.autojs.build.JvmConventionPlugin" - t.displayName = "AutoJs6 JVM Convention Plugin" - t.description = "Configures Java/Kotlin targets for Android modules using central Versions." - } - }) - } -} - -run determineBuildSrcJdk@{ - val propsFile: File = rootDir.parentFile.resolve("version.properties") - val minSupported: Int = Properties().let { props -> - require(propsFile.isFile) { - "version.properties not found in root directory" - } - propsFile.inputStream().use { props.load(it) } - val minSupportedVersion = props.getProperty("JAVA_VERSION_MIN_SUPPORTED") - require(minSupportedVersion != null) { - "version.properties does not contain \"JAVA_VERSION_MIN_SUPPORTED\"" - } - minSupportedVersion.toInt() - } - val current = JavaVersion.current().majorVersion.toIntOrNull() ?: minSupported - - fun tryAdjustByKotlinJvmTarget(sourceVersion: Int): Int { - return runCatching { - val cls = Class.forName("org.jetbrains.kotlin.gradle.dsl.JvmTarget") - val enumConstants = cls.enumConstants ?: return sourceVersion - var tmpVersion = sourceVersion - while (tmpVersion > minSupported) { - val wanted = "JVM_$tmpVersion" - if (enumConstants.any { it?.toString().equals(wanted, ignoreCase = true) }) { - return tmpVersion - } - tmpVersion -= 1 - } - return@runCatching sourceVersion - }.getOrDefault(sourceVersion) - } - - tryAdjustByKotlinJvmTarget(maxOf(current, minSupported)).also { - println("Toolchain: selected [$it] / current [$current] / min [$minSupported]") - } -}.let { jdk -> - - kotlin { - jvmToolchain(jdk) - } - - java { - toolchain.languageVersion.set(JavaLanguageVersion.of(jdk)) - } - -} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts deleted file mode 100644 index ae380fa3..00000000 --- a/buildSrc/settings.gradle.kts +++ /dev/null @@ -1,26 +0,0 @@ -pluginManagement { - repositories { - gradlePluginPortal() - mavenCentral() - google() - } -} - -dependencyResolutionManagement { - repositories { - google() - mavenCentral() - } - versionCatalogs { - create("libs") { - from(files("../gradle/libs.versions.toml")) - } - } -} - -plugins { - // @Hint by SuperMonster003 on Sep 14, 2025. - // ! Enable JDK auto-resolution/download capability for build modules. - // ! zh-CN: 让构建模块具备 JDK 自动解析/下载能力. - id("org.gradle.toolchains.foojay-resolver-convention") -} diff --git a/libs/android-assertion-9.0.0/android-assertion-9.0.0.aar b/libs/android-assertion-9_0_0/android-assertion-9.0.0.aar similarity index 100% rename from libs/android-assertion-9.0.0/android-assertion-9.0.0.aar rename to libs/android-assertion-9_0_0/android-assertion-9.0.0.aar diff --git a/libs/android-assertion-9.0.0/build.gradle.kts b/libs/android-assertion-9_0_0/build.gradle.kts similarity index 100% rename from libs/android-assertion-9.0.0/build.gradle.kts rename to libs/android-assertion-9_0_0/build.gradle.kts diff --git a/libs/android-job-simplified-1.4.3/android-job-simplified.aar b/libs/android-job-simplified-1_4_3/android-job-simplified.aar similarity index 100% rename from libs/android-job-simplified-1.4.3/android-job-simplified.aar rename to libs/android-job-simplified-1_4_3/android-job-simplified.aar diff --git a/libs/android-job-simplified-1.4.3/build.gradle.kts b/libs/android-job-simplified-1_4_3/build.gradle.kts similarity index 100% rename from libs/android-job-simplified-1.4.3/build.gradle.kts rename to libs/android-job-simplified-1_4_3/build.gradle.kts diff --git a/libs/android-plugin-client-sdk-for-locale-9.0.0/android-plugin-client-sdk-for-locale-9.0.0.aar b/libs/android-plugin-client-sdk-for-locale-9_0_0/android-plugin-client-sdk-for-locale-9.0.0.aar similarity index 100% rename from libs/android-plugin-client-sdk-for-locale-9.0.0/android-plugin-client-sdk-for-locale-9.0.0.aar rename to libs/android-plugin-client-sdk-for-locale-9_0_0/android-plugin-client-sdk-for-locale-9.0.0.aar diff --git a/libs/android-plugin-client-sdk-for-locale-9.0.0/build.gradle.kts b/libs/android-plugin-client-sdk-for-locale-9_0_0/build.gradle.kts similarity index 100% rename from libs/android-plugin-client-sdk-for-locale-9.0.0/build.gradle.kts rename to libs/android-plugin-client-sdk-for-locale-9_0_0/build.gradle.kts diff --git a/libs/android-spackle-9.0.0/android-spackle-9.0.0.aar b/libs/android-spackle-9_0_0/android-spackle-9.0.0.aar similarity index 100% rename from libs/android-spackle-9.0.0/android-spackle-9.0.0.aar rename to libs/android-spackle-9_0_0/android-spackle-9.0.0.aar diff --git a/libs/android-spackle-9.0.0/build.gradle.kts b/libs/android-spackle-9_0_0/build.gradle.kts similarity index 100% rename from libs/android-spackle-9.0.0/build.gradle.kts rename to libs/android-spackle-9_0_0/build.gradle.kts diff --git a/libs/androidx.appcompat-1.0.2/appcompat-legacy.aar b/libs/androidx-appcompat-1_0_2/appcompat-legacy.aar similarity index 100% rename from libs/androidx.appcompat-1.0.2/appcompat-legacy.aar rename to libs/androidx-appcompat-1_0_2/appcompat-legacy.aar diff --git a/libs/androidx.appcompat-1.0.2/build.gradle.kts b/libs/androidx-appcompat-1_0_2/build.gradle.kts similarity index 100% rename from libs/androidx.appcompat-1.0.2/build.gradle.kts rename to libs/androidx-appcompat-1_0_2/build.gradle.kts diff --git a/libs/apk-parser-1.0.2/apk-parser-1.0.2.aar b/libs/apk-parser-1_0_2/apk-parser-1.0.2.aar similarity index 100% rename from libs/apk-parser-1.0.2/apk-parser-1.0.2.aar rename to libs/apk-parser-1_0_2/apk-parser-1.0.2.aar diff --git a/libs/apk-parser-1.0.2/build.gradle.kts b/libs/apk-parser-1_0_2/build.gradle.kts similarity index 100% rename from libs/apk-parser-1.0.2/build.gradle.kts rename to libs/apk-parser-1_0_2/build.gradle.kts diff --git a/libs/com.android.dx-1.14.jar b/libs/com-android-dx-1_14.jar similarity index 100% rename from libs/com.android.dx-1.14.jar rename to libs/com-android-dx-1_14.jar diff --git a/libs/com.legacy.android.dx-1.7.0.jar b/libs/com-legacy-android-dx-1_7_0.jar similarity index 100% rename from libs/com.legacy.android.dx-1.7.0.jar rename to libs/com-legacy-android-dx-1_7_0.jar diff --git a/libs/com.tencent.bugly.crashreport-4.0.4/build.gradle.kts b/libs/com-tencent-bugly-crashreport-4_0_4/build.gradle.kts similarity index 100% rename from libs/com.tencent.bugly.crashreport-4.0.4/build.gradle.kts rename to libs/com-tencent-bugly-crashreport-4_0_4/build.gradle.kts diff --git a/libs/com.tencent.bugly.crashreport-4.0.4/crashreport-4.0.4.aar b/libs/com-tencent-bugly-crashreport-4_0_4/crashreport-4.0.4.aar similarity index 100% rename from libs/com.tencent.bugly.crashreport-4.0.4/crashreport-4.0.4.aar rename to libs/com-tencent-bugly-crashreport-4_0_4/crashreport-4.0.4.aar diff --git a/libs/expandable-layout-1.6.0/build.gradle.kts b/libs/expandable-layout-1_6_0/build.gradle.kts similarity index 100% rename from libs/expandable-layout-1.6.0/build.gradle.kts rename to libs/expandable-layout-1_6_0/build.gradle.kts diff --git a/libs/expandable-layout-1.6.0/expandable-layout-1.6.0.aar b/libs/expandable-layout-1_6_0/expandable-layout-1.6.0.aar similarity index 100% rename from libs/expandable-layout-1.6.0/expandable-layout-1.6.0.aar rename to libs/expandable-layout-1_6_0/expandable-layout-1.6.0.aar diff --git a/libs/github-api-1.306.jar b/libs/github-api-1_306.jar similarity index 100% rename from libs/github-api-1.306.jar rename to libs/github-api-1_306.jar diff --git a/libs/jackpal.androidterm-1.0.70/build.gradle.kts b/libs/jackpal-androidterm-1_0_70/build.gradle.kts similarity index 100% rename from libs/jackpal.androidterm-1.0.70/build.gradle.kts rename to libs/jackpal-androidterm-1_0_70/build.gradle.kts diff --git a/libs/jackpal.androidterm-1.0.70/term-debug.aar b/libs/jackpal-androidterm-1_0_70/term-debug.aar similarity index 100% rename from libs/jackpal.androidterm-1.0.70/term-debug.aar rename to libs/jackpal-androidterm-1_0_70/term-debug.aar diff --git a/libs/jackpal.androidterm.emulatorview-1.0.42/build.gradle.kts b/libs/jackpal-androidterm-emulatorview-1_0_42/build.gradle.kts similarity index 100% rename from libs/jackpal.androidterm.emulatorview-1.0.42/build.gradle.kts rename to libs/jackpal-androidterm-emulatorview-1_0_42/build.gradle.kts diff --git a/libs/jackpal.androidterm.emulatorview-1.0.42/emulatorview-release.aar b/libs/jackpal-androidterm-emulatorview-1_0_42/emulatorview-release.aar similarity index 100% rename from libs/jackpal.androidterm.emulatorview-1.0.42/emulatorview-release.aar rename to libs/jackpal-androidterm-emulatorview-1_0_42/emulatorview-release.aar diff --git a/libs/jackpal.androidterm.libtermexec-1.0/build.gradle.kts b/libs/jackpal-androidterm-libtermexec-1_0/build.gradle.kts similarity index 100% rename from libs/jackpal.androidterm.libtermexec-1.0/build.gradle.kts rename to libs/jackpal-androidterm-libtermexec-1_0/build.gradle.kts diff --git a/libs/jackpal.androidterm.libtermexec-1.0/libtermexec-release.aar b/libs/jackpal-androidterm-libtermexec-1_0/libtermexec-release.aar similarity index 100% rename from libs/jackpal.androidterm.libtermexec-1.0/libtermexec-release.aar rename to libs/jackpal-androidterm-libtermexec-1_0/libtermexec-release.aar diff --git a/libs/markwon-core-4.6.2/build.gradle.kts b/libs/markwon-core-4_6_2/build.gradle.kts similarity index 100% rename from libs/markwon-core-4.6.2/build.gradle.kts rename to libs/markwon-core-4_6_2/build.gradle.kts diff --git a/libs/markwon-core-4.6.2/markwon-core-4.6.2.aar b/libs/markwon-core-4_6_2/markwon-core-4.6.2.aar similarity index 100% rename from libs/markwon-core-4.6.2/markwon-core-4.6.2.aar rename to libs/markwon-core-4_6_2/markwon-core-4.6.2.aar diff --git a/libs/markwon-syntax-highlight-4.6.2/build.gradle.kts b/libs/markwon-syntax-highlight-4_6_2/build.gradle.kts similarity index 100% rename from libs/markwon-syntax-highlight-4.6.2/build.gradle.kts rename to libs/markwon-syntax-highlight-4_6_2/build.gradle.kts diff --git a/libs/markwon-syntax-highlight-4.6.2/markwon-syntax-highlight-4.6.2.aar b/libs/markwon-syntax-highlight-4_6_2/markwon-syntax-highlight-4.6.2.aar similarity index 100% rename from libs/markwon-syntax-highlight-4.6.2/markwon-syntax-highlight-4.6.2.aar rename to libs/markwon-syntax-highlight-4_6_2/markwon-syntax-highlight-4.6.2.aar diff --git a/libs/mime-util-2.1.3.jar b/libs/mime-util-2_1_3.jar similarity index 100% rename from libs/mime-util-2.1.3.jar rename to libs/mime-util-2_1_3.jar diff --git a/libs/org.mozilla.rhino-1.8.1-SNAPSHOT.jar b/libs/org-mozilla-rhino-1_8_1-SNAPSHOT.jar similarity index 100% rename from libs/org.mozilla.rhino-1.8.1-SNAPSHOT.jar rename to libs/org-mozilla-rhino-1_8_1-SNAPSHOT.jar diff --git a/libs/org.opencv-4.8.0/build.gradle.kts b/libs/org-opencv-4_8_0/build.gradle.kts similarity index 100% rename from libs/org.opencv-4.8.0/build.gradle.kts rename to libs/org-opencv-4_8_0/build.gradle.kts diff --git a/libs/org.opencv-4.8.0/opencv-4.8.0.aar b/libs/org-opencv-4_8_0/opencv-4.8.0.aar similarity index 100% rename from libs/org.opencv-4.8.0/opencv-4.8.0.aar rename to libs/org-opencv-4_8_0/opencv-4.8.0.aar diff --git a/libs/paddleocr/build.gradle.kts b/libs/paddleocr/build.gradle.kts index 03b2a541..0c65a918 100644 --- a/libs/paddleocr/build.gradle.kts +++ b/libs/paddleocr/build.gradle.kts @@ -163,7 +163,7 @@ android { dependencies { implementation(fileTree(mapOf("include" to listOf("*.jar"), "dir" to "libs"))) - implementation(project(mapOf("path" to ":libs:org.opencv-${versionMap["OPENCV"]}"))) + implementation(project(mapOf("path" to ":libs:org-opencv-${versionMap["OPENCV"]}".replace(".", "_")))) implementation(libs.core.ktx) implementation(libs.preference.ktx) } \ No newline at end of file diff --git a/libs/prism4j-2.0.0.jar b/libs/prism4j-2_0_0.jar similarity index 100% rename from libs/prism4j-2.0.0.jar rename to libs/prism4j-2_0_0.jar diff --git a/libs/prism4j-bundler-2.0.0.jar b/libs/prism4j-bundler-2_0_0.jar similarity index 100% rename from libs/prism4j-bundler-2.0.0.jar rename to libs/prism4j-bundler-2_0_0.jar diff --git a/libs/recyclerview-flexibledivider-1.4.0/build.gradle.kts b/libs/recyclerview-flexibledivider-1_4_0/build.gradle.kts similarity index 100% rename from libs/recyclerview-flexibledivider-1.4.0/build.gradle.kts rename to libs/recyclerview-flexibledivider-1_4_0/build.gradle.kts diff --git a/libs/recyclerview-flexibledivider-1.4.0/recyclerview-flexibledivider-1.4.0.aar b/libs/recyclerview-flexibledivider-1_4_0/recyclerview-flexibledivider-1.4.0.aar similarity index 100% rename from libs/recyclerview-flexibledivider-1.4.0/recyclerview-flexibledivider-1.4.0.aar rename to libs/recyclerview-flexibledivider-1_4_0/recyclerview-flexibledivider-1.4.0.aar diff --git a/libs/root-shell-1.6/build.gradle.kts b/libs/root-shell-1_6/build.gradle.kts similarity index 100% rename from libs/root-shell-1.6/build.gradle.kts rename to libs/root-shell-1_6/build.gradle.kts diff --git a/libs/root-shell-1.6/root-shell-1.6.aar b/libs/root-shell-1_6/root-shell-1.6.aar similarity index 100% rename from libs/root-shell-1.6/root-shell-1.6.aar rename to libs/root-shell-1_6/root-shell-1.6.aar diff --git a/libs/tiny-sign-0.9.jar b/libs/tiny-sign-0_9.jar similarity index 100% rename from libs/tiny-sign-0.9.jar rename to libs/tiny-sign-0_9.jar diff --git a/settings.gradle.kts b/settings.gradle.kts index c246045d..935dcff3 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,29 +10,29 @@ private val modules = listOf( ) private val libs = listOf( - "android-job-simplified-1.4.3", - "androidx.appcompat-1.0.2", - "apk-parser-1.0.2", - "com.tencent.bugly.crashreport-4.0.4", - "org.opencv-4.8.0", + "android-job-simplified-1_4_3", + "androidx-appcompat-1_0_2", + "apk-parser-1_0_2", + "com-tencent-bugly-crashreport-4_0_4", + "org-opencv-4_8_0", "paddleocr", "rapidocr", "imagequant", - "jackpal.androidterm-1.0.70", - "jackpal.androidterm.emulatorview-1.0.42", - "jackpal.androidterm.libtermexec-1.0", + "jackpal-androidterm-1_0_70", + "jackpal-androidterm-emulatorview-1_0_42", + "jackpal-androidterm-libtermexec-1_0", - "android-spackle-9.0.0", - "android-assertion-9.0.0", - "android-plugin-client-sdk-for-locale-9.0.0", + "android-spackle-9_0_0", + "android-assertion-9_0_0", + "android-plugin-client-sdk-for-locale-9_0_0", - "markwon-core-4.6.2", - "markwon-syntax-highlight-4.6.2", + "markwon-core-4_6_2", + "markwon-syntax-highlight-4_6_2", - "root-shell-1.6", - "expandable-layout-1.6.0", - "recyclerview-flexibledivider-1.4.0" + "root-shell-1_6", + "expandable-layout-1_6_0", + "recyclerview-flexibledivider-1_4_0" ) include( @@ -799,3 +799,9 @@ plugins { // ! zh-CN: 让构建模块具备 JDK 自动解析/下载能力. id("org.gradle.toolchains.foojay-resolver-convention") } + +enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") + +includeBuild("build-logic") + +rootProject.name = "AutoJs6" diff --git a/version.properties b/version.properties index 2a249afa..db36ce62 100644 --- a/version.properties +++ b/version.properties @@ -1,5 +1,5 @@ -#Sun Oct 05 13:27:08 CST 2025 -BUILD_TIME=1759642028837 +#Mon Oct 06 12:48:51 CST 2025 +BUILD_TIME=1759726131752 COMPILE_SDK_VERSION=36 IMAGE_QUANT_CMAKE_VERSION=3.22.1 IMAGE_QUANT_NDK_VERSION=26.1.10909125 @@ -27,6 +27,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13 RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3 TARGET_SDK_VERSION=36 TARGET_SDK_VERSION_INRT=29 -VERSION_BUILD=3404 +VERSION_BUILD=3405 VERSION_NAME=6.7.0 Alpha6 VSCODE_EXT_REQUIRED_VERSION=1.0.8