From 8b86ccecc4ad7b588784ece120cdae3c1a6a6452 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Wed, 12 Nov 2025 18:07:55 +0800 Subject: [PATCH] chore: migrate to version catalog, Gropify --- build.gradle.kts | 12 +-- gradle/libs.versions.toml | 68 ++++++++++++++ .../sweet-dependency-config.yaml | 90 ------------------- samples/app/build.gradle.kts | 30 +++---- samples/module/build.gradle.kts | 30 +++---- settings.gradle.kts | 35 ++++++-- yukihook-api-helper/build.gradle.kts | 28 +++--- yukihook-api-libxposed/build.gradle.kts | 28 +++--- yukihook-api-rovo89/build.gradle.kts | 30 +++---- yukihook-core/build.gradle.kts | 28 +++--- 10 files changed, 188 insertions(+), 191 deletions(-) create mode 100644 gradle/libs.versions.toml delete mode 100644 gradle/sweet-dependency/sweet-dependency-config.yaml diff --git a/build.gradle.kts b/build.gradle.kts index 7853cc6a..e6df92dd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,12 +5,12 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { - autowire(libs.plugins.android.application) apply false - autowire(libs.plugins.android.library) apply false - autowire(libs.plugins.kotlin.jvm) apply false - autowire(libs.plugins.kotlin.android) apply false - autowire(libs.plugins.kotlin.dokka) apply false - autowire(libs.plugins.maven.publish) apply false + alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.kotlin.jvm) apply false + alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.kotlin.dokka) apply false + alias(libs.plugins.maven.publish) apply false } libraryProjects { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..69e1bfed --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,68 @@ +[versions] +agp = "8.13.1" +kotlin = "2.2.21" +# noinspection NewerVersionAvailable +dokka = "1.9.20" +ksp = "2.2.21-2.0.4" +maven-publish = "0.35.0" +rovo89-xposed-api = "82" +hiddenapibypass = "6.1" +auto-service-annotations = "1.1.1" +auto-service-ksp = "1.2.0" +kavaref-core = "1.0.2" +kavaref-extension = "1.0.1" +hikage-core = "1.0.2" +hikage-compiler = "1.0.1" +hikage-extension = "1.0.1" +hikage-widget-androidx = "1.0.1" +hikage-widget-material = "1.0.1" +betterandroid-ui-component = "1.0.8" +betterandroid-ui-extension = "1.0.7" +betterandroid-system-extension = "1.0.3" +androidx-annotation = "1.9.1" +androidx-preference-ktx = "1.2.1" +androidx-core-ktx = "1.17.0" +androidx-appcompat = "1.7.1" +androidx-lifecycle-viewmodel-ktx = "2.9.4" +# noinspection GradleDependency +material = "1.11.0" +androidx-constraintlayout = "2.2.1" +junit = "4.13.2" +androidx-test-ext-junit = "1.3.0" +androidx-test-espresso-core = "3.7.0" + +[plugins] +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } +kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } +maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "maven-publish" } + +[libraries] +rovo89-xposed-api = { module = "de.robv.android.xposed:api", version.ref = "rovo89-xposed-api" } +hiddenapibypass = { module = "org.lsposed.hiddenapibypass:hiddenapibypass", version.ref = "hiddenapibypass" } +symbol-processing-api = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" } +auto-service-annotations = { module = "com.google.auto.service:auto-service-annotations", version.ref = "auto-service-annotations" } +auto-service-ksp = { module = "dev.zacsweers.autoservice:auto-service-ksp", version.ref = "auto-service-ksp" } +kavaref-core = { module = "com.highcapable.kavaref:kavaref-core", version.ref = "kavaref-core" } +kavaref-extension = { module = "com.highcapable.kavaref:kavaref-extension", version.ref = "kavaref-extension" } +hikage-core = { module = "com.highcapable.hikage:hikage-core", version.ref = "hikage-core" } +hikage-compiler = { module = "com.highcapable.hikage:hikage-compiler", version.ref = "hikage-compiler" } +hikage-extension = { module = "com.highcapable.hikage:hikage-extension", version.ref = "hikage-extension" } +hikage-widget-androidx = { module = "com.highcapable.hikage:hikage-widget-androidx", version.ref = "hikage-widget-androidx" } +hikage-widget-material = { module = "com.highcapable.hikage:hikage-widget-material", version.ref = "hikage-widget-material" } +betterandroid-ui-component = { module = "com.highcapable.betterandroid:ui-component", version.ref = "betterandroid-ui-component" } +betterandroid-ui-extension = { module = "com.highcapable.betterandroid:ui-extension", version.ref = "betterandroid-ui-extension" } +betterandroid-system-extension = { module = "com.highcapable.betterandroid:system-extension", version.ref = "betterandroid-system-extension" } +androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidx-annotation" } +androidx-preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference-ktx" } +androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core-ktx" } +androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" } +androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle-viewmodel-ktx" } +material = { module = "com.google.android.material:material", version.ref = "material" } +androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" } +junit = { module = "junit:junit", version.ref = "junit" } +androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-ext-junit" } +androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso-core" } \ No newline at end of file diff --git a/gradle/sweet-dependency/sweet-dependency-config.yaml b/gradle/sweet-dependency/sweet-dependency-config.yaml deleted file mode 100644 index 360f5a72..00000000 --- a/gradle/sweet-dependency/sweet-dependency-config.yaml +++ /dev/null @@ -1,90 +0,0 @@ -preferences: - autowire-on-sync-mode: UPDATE_OPTIONAL_DEPENDENCIES - repositories-mode: FAIL_ON_PROJECT_REPOS - -repositories: - gradle-plugin-portal: - scope: PLUGINS - google: - maven-central: - jit-pack: - rovo89-xposed-api: - scope: LIBRARIES - url: https://api.xposed.info/ - content: - include: - group: - de.robv.android.xposed - -plugins: - org.jetbrains.kotlin.jvm: - alias: kotlin-jvm - version: 2.2.10 - org.jetbrains.kotlin.android: - alias: kotlin-android - version-ref: kotlin-jvm - org.jetbrains.dokka: - alias: kotlin-dokka - version: 1.9.20 - auto-update: false - com.android.application: - alias: android-application - version: 8.13.0 - com.android.library: - alias: android-library - version-ref: android-application - com.vanniktech.maven.publish: - alias: maven-publish - version: 0.34.0 - -libraries: - de.robv.android.xposed: - api: - version: 82 - repositories: - rovo89-xposed-api - org.lsposed.hiddenapibypass: - hiddenapibypass: - version: 6.1 - com.highcapable.kavaref: - kavaref-core: - version: 1.0.1 - kavaref-extension: - version: 1.0.1 - com.highcapable.hikage: - hikage-core: - version: 1.0.2 - hikage-compiler: - version: 1.0.1 - hikage-extension: - version: 1.0.1 - hikage-widget-androidx: - version: 1.0.1 - hikage-widget-material: - version: 1.0.1 - com.highcapable.betterandroid: - ui-component: - version: 1.0.8 - ui-extension: - version: 1.0.7 - system-extension: - version: 1.0.3 - androidx.core: - core-ktx: - version: 1.17.0 - androidx.appcompat: - appcompat: - version: 1.7.1 - com.google.android.material: - material: - version: 1.11.0 - auto-update: false - androidx.test.ext: - junit: - version: 1.3.0 - androidx.test.espresso: - espresso-core: - version: 3.7.0 - junit: - junit: - version: 4.13.2 \ No newline at end of file diff --git a/samples/app/build.gradle.kts b/samples/app/build.gradle.kts index 26bbac35..4227f618 100644 --- a/samples/app/build.gradle.kts +++ b/samples/app/build.gradle.kts @@ -1,18 +1,18 @@ plugins { - autowire(libs.plugins.android.application) - autowire(libs.plugins.kotlin.android) + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) } android { - namespace = property.project.samples.app.packageName - compileSdk = property.project.android.compileSdk + namespace = gropify.project.samples.app.packageName + compileSdk = gropify.project.android.compileSdk defaultConfig { - applicationId = property.project.samples.app.packageName - minSdk = property.project.android.minSdk - targetSdk = property.project.android.targetSdk - versionCode = property.project.samples.app.versionCode - versionName = property.project.samples.app.versionName + applicationId = gropify.project.samples.app.packageName + minSdk = gropify.project.android.minSdk + targetSdk = gropify.project.android.targetSdk + versionCode = gropify.project.samples.app.versionCode + versionName = gropify.project.samples.app.versionName testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -39,11 +39,11 @@ android { } dependencies { - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) - implementation(com.google.android.material.material) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.androidx.test.espresso.core) } \ No newline at end of file diff --git a/samples/module/build.gradle.kts b/samples/module/build.gradle.kts index 510d1975..94ee6c6f 100644 --- a/samples/module/build.gradle.kts +++ b/samples/module/build.gradle.kts @@ -1,18 +1,18 @@ plugins { - autowire(libs.plugins.android.application) - autowire(libs.plugins.kotlin.android) + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) } android { - namespace = property.project.samples.module.packageName - compileSdk = property.project.android.compileSdk + namespace = gropify.project.samples.module.packageName + compileSdk = gropify.project.android.compileSdk defaultConfig { - applicationId = property.project.samples.module.packageName - minSdk = property.project.android.minSdk - targetSdk = property.project.android.targetSdk - versionCode = property.project.samples.module.versionCode - versionName = property.project.samples.module.versionName + applicationId = gropify.project.samples.module.packageName + minSdk = gropify.project.android.minSdk + targetSdk = gropify.project.android.targetSdk + versionCode = gropify.project.samples.module.versionCode + versionName = gropify.project.samples.module.versionName testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -39,11 +39,11 @@ android { } dependencies { - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) - implementation(com.google.android.material.material) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.androidx.test.espresso.core) } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 36104c24..1010a88c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,20 +8,39 @@ pluginManagement { } } -plugins { - id("com.highcapable.sweetdependency") version "1.0.4" - id("com.highcapable.sweetproperty") version "1.0.8" +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + maven("https://jitpack.io") + maven("https://api.xposed.info/") + } } -sweetProperty { +plugins { + id("com.highcapable.gropify") version "1.0.0" +} + +gropify { global { - sourcesCode { + android { includeKeys("^project\\..*\$".toRegex()) - isEnableRestrictedAccess = true + isRestrictedAccessEnabled = true + } + } + + rootProject { + common { + isEnabled = false + } + } + + projects(":samples:app", ":samples:module") { + android { + isEnabled = false } } - rootProject { all { isEnable = false } } - project(":samples:app", ":samples:module") { sourcesCode { isEnable = false } } } rootProject.name = "YukiHook" diff --git a/yukihook-api-helper/build.gradle.kts b/yukihook-api-helper/build.gradle.kts index c9a672c8..1e4b654d 100644 --- a/yukihook-api-helper/build.gradle.kts +++ b/yukihook-api-helper/build.gradle.kts @@ -1,19 +1,19 @@ plugins { - autowire(libs.plugins.android.library) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.kotlin.dokka) - autowire(libs.plugins.maven.publish) + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.dokka) + alias(libs.plugins.maven.publish) } -group = property.project.groupName -version = property.project.yukihook.api.helper.version +group = gropify.project.groupName +version = gropify.project.yukihook.api.helper.version android { - namespace = property.project.yukihook.api.helper.namespace - compileSdk = property.project.android.compileSdk + namespace = gropify.project.yukihook.api.helper.namespace + compileSdk = gropify.project.android.compileSdk defaultConfig { - minSdk = property.project.android.minSdk + minSdk = gropify.project.android.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") @@ -39,10 +39,10 @@ android { } dependencies { - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.androidx.test.espresso.core) } \ No newline at end of file diff --git a/yukihook-api-libxposed/build.gradle.kts b/yukihook-api-libxposed/build.gradle.kts index 11e18fac..4aa4ed84 100644 --- a/yukihook-api-libxposed/build.gradle.kts +++ b/yukihook-api-libxposed/build.gradle.kts @@ -1,19 +1,19 @@ plugins { - autowire(libs.plugins.android.library) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.kotlin.dokka) - autowire(libs.plugins.maven.publish) + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.dokka) + alias(libs.plugins.maven.publish) } -group = property.project.groupName -version = property.project.yukihook.api.libxposed.version +group = gropify.project.groupName +version = gropify.project.yukihook.api.libxposed.version android { - namespace = property.project.yukihook.api.libxposed.namespace - compileSdk = property.project.android.compileSdk + namespace = gropify.project.yukihook.api.libxposed.namespace + compileSdk = gropify.project.android.compileSdk defaultConfig { - minSdk = property.project.android.minSdk + minSdk = gropify.project.android.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") @@ -39,10 +39,10 @@ android { } dependencies { - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.androidx.test.espresso.core) } \ No newline at end of file diff --git a/yukihook-api-rovo89/build.gradle.kts b/yukihook-api-rovo89/build.gradle.kts index 9382d03a..aabb5ae6 100644 --- a/yukihook-api-rovo89/build.gradle.kts +++ b/yukihook-api-rovo89/build.gradle.kts @@ -1,19 +1,19 @@ plugins { - autowire(libs.plugins.android.library) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.kotlin.dokka) - autowire(libs.plugins.maven.publish) + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.dokka) + alias(libs.plugins.maven.publish) } -group = property.project.groupName -version = property.project.yukihook.api.rovo89.version +group = gropify.project.groupName +version = gropify.project.yukihook.api.rovo89.version android { - namespace = property.project.yukihook.api.rovo89.namespace - compileSdk = property.project.android.compileSdk + namespace = gropify.project.yukihook.api.rovo89.namespace + compileSdk = gropify.project.android.compileSdk defaultConfig { - minSdk = property.project.android.minSdk + minSdk = gropify.project.android.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") @@ -39,12 +39,12 @@ android { } dependencies { - compileOnlyApi(de.robv.android.xposed.api) + compileOnlyApi(libs.rovo89.xposed.api) - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.androidx.test.espresso.core) } \ No newline at end of file diff --git a/yukihook-core/build.gradle.kts b/yukihook-core/build.gradle.kts index 950bbc18..6c9f2580 100644 --- a/yukihook-core/build.gradle.kts +++ b/yukihook-core/build.gradle.kts @@ -1,19 +1,19 @@ plugins { - autowire(libs.plugins.android.library) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.kotlin.dokka) - autowire(libs.plugins.maven.publish) + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.dokka) + alias(libs.plugins.maven.publish) } -group = property.project.groupName -version = property.project.yukihook.core.version +group = gropify.project.groupName +version = gropify.project.yukihook.core.version android { - namespace = property.project.yukihook.core.namespace - compileSdk = property.project.android.compileSdk + namespace = gropify.project.yukihook.core.namespace + compileSdk = gropify.project.android.compileSdk defaultConfig { - minSdk = property.project.android.minSdk + minSdk = gropify.project.android.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") @@ -39,10 +39,10 @@ android { } dependencies { - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.androidx.test.espresso.core) } \ No newline at end of file