diff --git a/build.gradle.kts b/build.gradle.kts index a5cce36f..85d38f3d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,11 +2,11 @@ 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.ksp) 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.ksp) apply false } allprojects { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..c782d600 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,65 @@ +[versions] +agp = "8.13.1" +kotlin = "2.2.21" +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-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 94f0b7ee..00000000 --- a/gradle/sweet-dependency/sweet-dependency-config.yaml +++ /dev/null @@ -1,110 +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.20 - org.jetbrains.kotlin.android: - alias: kotlin-android - version-ref: kotlin-jvm - com.google.devtools.ksp: - alias: kotlin-ksp - version: 2.2.20-2.0.3 - 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.google.devtools.ksp: - symbol-processing-api: - version-ref: ::kotlin-ksp - com.google.auto.service: - auto-service-annotations: - version: 1.1.1 - dev.zacsweers.autoservice: - auto-service-ksp: - version: 1.2.0 - com.highcapable.kavaref: - kavaref-core: - version: 1.0.2 - 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.annotation: - annotation: - version: 1.9.1 - androidx.preference: - preference-ktx: - version: 1.2.1 - androidx.core: - core-ktx: - version: 1.17.0 - androidx.appcompat: - appcompat: - version: 1.7.1 - androidx.lifecycle: - lifecycle-viewmodel-ktx: - version: 2.9.4 - com.google.android.material: - material: - version: 1.11.0 - auto-update: false - androidx.constraintlayout: - constraintlayout: - version: 2.2.1 - 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/demo-app/build.gradle.kts b/samples/demo-app/build.gradle.kts index 15fbde73..366ccefe 100644 --- a/samples/demo-app/build.gradle.kts +++ b/samples/demo-app/build.gradle.kts @@ -1,19 +1,19 @@ plugins { - autowire(libs.plugins.android.application) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.kotlin.ksp) + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.ksp) } android { - namespace = property.project.samples.demo.app.packageName - compileSdk = property.project.android.compileSdk + namespace = gropify.project.samples.demo.app.packageName + compileSdk = gropify.project.android.compileSdk defaultConfig { - applicationId = property.project.samples.demo.app.packageName - minSdk = property.project.android.minSdk - targetSdk = property.project.android.targetSdk - versionName = property.project.samples.demo.app.versionName - versionCode = property.project.samples.demo.app.versionCode + applicationId = gropify.project.samples.demo.app.packageName + minSdk = gropify.project.android.minSdk + targetSdk = gropify.project.android.targetSdk + versionName = gropify.project.samples.demo.app.versionName + versionCode = gropify.project.samples.demo.app.versionCode testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -34,20 +34,20 @@ android { } dependencies { - ksp(com.highcapable.hikage.hikage.compiler) - implementation(com.highcapable.hikage.hikage.core) - implementation(com.highcapable.hikage.hikage.extension) - implementation(com.highcapable.hikage.hikage.widget.androidx) - implementation(com.highcapable.hikage.hikage.widget.material) - implementation(com.highcapable.betterandroid.ui.component) - implementation(com.highcapable.betterandroid.ui.extension) - implementation(com.highcapable.betterandroid.system.extension) - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) - implementation(androidx.lifecycle.lifecycle.viewmodel.ktx) - implementation(com.google.android.material.material) - implementation(androidx.constraintlayout.constraintlayout) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + ksp(libs.hikage.compiler) + implementation(libs.hikage.core) + implementation(libs.hikage.extension) + implementation(libs.hikage.widget.androidx) + implementation(libs.hikage.widget.material) + implementation(libs.betterandroid.ui.component) + implementation(libs.betterandroid.ui.extension) + implementation(libs.betterandroid.system.extension) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.lifecycle.viewmodel.ktx) + implementation(libs.material) + implementation(libs.androidx.constraintlayout) + 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/demo-module/build.gradle.kts b/samples/demo-module/build.gradle.kts index 1075012c..6972d6f6 100644 --- a/samples/demo-module/build.gradle.kts +++ b/samples/demo-module/build.gradle.kts @@ -1,19 +1,19 @@ plugins { - autowire(libs.plugins.android.application) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.kotlin.ksp) + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.ksp) } android { - namespace = property.project.samples.demo.module.packageName - compileSdk = property.project.android.compileSdk + namespace = gropify.project.samples.demo.module.packageName + compileSdk = gropify.project.android.compileSdk defaultConfig { - applicationId = property.project.samples.demo.module.packageName - minSdk = property.project.android.minSdk - targetSdk = property.project.android.targetSdk - versionName = property.project.samples.demo.module.versionName - versionCode = property.project.samples.demo.module.versionCode + applicationId = gropify.project.samples.demo.module.packageName + minSdk = gropify.project.android.minSdk + targetSdk = gropify.project.android.targetSdk + versionName = gropify.project.samples.demo.module.versionName + versionCode = gropify.project.samples.demo.module.versionCode testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -35,26 +35,26 @@ android { } dependencies { - compileOnly(de.robv.android.xposed.api) + compileOnly(libs.rovo89.xposed.api) implementation(projects.yukihookapiCore) ksp(projects.yukihookapiKspXposed) - ksp(com.highcapable.hikage.hikage.compiler) - implementation(com.highcapable.kavaref.kavaref.core) - implementation(com.highcapable.kavaref.kavaref.extension) - implementation(com.highcapable.hikage.hikage.core) - implementation(com.highcapable.hikage.hikage.extension) - implementation(com.highcapable.hikage.hikage.widget.androidx) - implementation(com.highcapable.hikage.hikage.widget.material) - implementation(com.highcapable.betterandroid.ui.component) - implementation(com.highcapable.betterandroid.ui.extension) - implementation(com.highcapable.betterandroid.system.extension) - implementation(androidx.preference.preference.ktx) - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) - implementation(androidx.lifecycle.lifecycle.viewmodel.ktx) - implementation(com.google.android.material.material) - implementation(androidx.constraintlayout.constraintlayout) - testImplementation(junit.junit) - androidTestImplementation(androidx.test.ext.junit) - androidTestImplementation(androidx.test.espresso.espresso.core) + ksp(libs.hikage.compiler) + implementation(libs.kavaref.core) + implementation(libs.kavaref.extension) + implementation(libs.hikage.core) + implementation(libs.hikage.extension) + implementation(libs.hikage.widget.androidx) + implementation(libs.hikage.widget.material) + implementation(libs.betterandroid.ui.component) + implementation(libs.betterandroid.ui.extension) + implementation(libs.betterandroid.system.extension) + implementation(libs.androidx.preference.ktx) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.lifecycle.viewmodel.ktx) + implementation(libs.material) + implementation(libs.androidx.constraintlayout) + 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 6773fa16..8ce8f9e5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -6,21 +6,36 @@ pluginManagement { mavenCentral() } } -plugins { - id("com.highcapable.sweetdependency") version "1.0.4" - id("com.highcapable.sweetproperty") version "1.0.8" -} -sweetProperty { - global { - sourcesCode { - includeKeys("^project\\..*\$".toRegex()) - isEnableRestrictedAccess = true +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + maven("https://jitpack.io") + maven("https://api.xposed.info/") { + content { + includeGroup("de.robv.android.xposed") + } } } - rootProject { all { isEnable = false } } - project(":samples") { all { isEnable = false } } - project(":samples:demo-app", ":samples:demo-module", ":yukihookapi-stub") { sourcesCode { isEnable = false } } - project(":yukihookapi-core", ":yukihookapi-ksp-xposed") { sourcesCode { className = rootProject.name } } +} +plugins { + id("com.highcapable.gropify") version "1.0.0" +} +gropify { + global { + android { + includeKeys("^project\\..*\$".toRegex()) + isRestrictedAccessEnabled = true + } + } + rootProject { common { isEnabled = false } } + projects(":samples") { common { isEnabled = false } } + projects(":samples:demo-app", ":samples:demo-module", ":yukihookapi-stub") { android { isEnabled = false } } + projects(":yukihookapi-core", ":yukihookapi-ksp-xposed") { + android { className = rootProject.name } + jvm { className = rootProject.name } + } } rootProject.name = "YukiHookAPI" include(":samples:demo-app", ":samples:demo-module") diff --git a/yukihookapi-core/build.gradle.kts b/yukihookapi-core/build.gradle.kts index f04fcfa1..657a6387 100644 --- a/yukihookapi-core/build.gradle.kts +++ b/yukihookapi-core/build.gradle.kts @@ -1,20 +1,20 @@ import com.vanniktech.maven.publish.AndroidSingleVariantLibrary plugins { - autowire(libs.plugins.android.library) - autowire(libs.plugins.kotlin.android) - autowire(libs.plugins.maven.publish) + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.maven.publish) } -group = property.project.groupName -version = property.project.yukihookapi.core.version +group = gropify.project.groupName +version = gropify.project.yukihookapi.core.version android { - namespace = property.project.groupName - compileSdk = property.project.android.compileSdk + namespace = gropify.project.groupName + compileSdk = gropify.project.android.compileSdk defaultConfig { - minSdk = property.project.android.minSdk + minSdk = gropify.project.android.minSdk consumerProguardFiles("consumer-rules.pro") } buildTypes { @@ -31,23 +31,23 @@ android { } dependencies { - compileOnly(de.robv.android.xposed.api) + compileOnly(libs.rovo89.xposed.api) compileOnly(projects.yukihookapiStub) - implementation(org.lsposed.hiddenapibypass.hiddenapibypass) - implementation(com.highcapable.kavaref.kavaref.core) - implementation(com.highcapable.kavaref.kavaref.extension) - implementation(com.highcapable.betterandroid.ui.extension) - implementation(com.highcapable.betterandroid.system.extension) - implementation(androidx.core.core.ktx) - implementation(androidx.appcompat.appcompat) - implementation(androidx.preference.preference.ktx) + implementation(libs.hiddenapibypass) + implementation(libs.kavaref.core) + implementation(libs.kavaref.extension) + implementation(libs.betterandroid.ui.extension) + implementation(libs.betterandroid.system.extension) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.preference.ktx) } mavenPublishing { configure(AndroidSingleVariantLibrary(publishJavadocJar = false)) coordinates( groupId = group.toString(), - artifactId = property.project.yukihookapi.core.moduleName, + artifactId = gropify.project.yukihookapi.core.moduleName, version = version.toString() ) } \ No newline at end of file diff --git a/yukihookapi-ksp-xposed/build.gradle.kts b/yukihookapi-ksp-xposed/build.gradle.kts index 10176582..c4baeb0e 100644 --- a/yukihookapi-ksp-xposed/build.gradle.kts +++ b/yukihookapi-ksp-xposed/build.gradle.kts @@ -1,11 +1,11 @@ plugins { - autowire(libs.plugins.kotlin.jvm) - autowire(libs.plugins.kotlin.ksp) - autowire(libs.plugins.maven.publish) + alias(libs.plugins.kotlin.jvm) + alias(libs.plugins.kotlin.ksp) + alias(libs.plugins.maven.publish) } -group = property.project.groupName -version = property.project.yukihookapi.ksp.xposed.version +group = gropify.project.groupName +version = gropify.project.yukihookapi.ksp.xposed.version java { sourceCompatibility = JavaVersion.VERSION_17 @@ -27,15 +27,15 @@ kotlin { } dependencies { - implementation(com.google.auto.service.auto.service.annotations) - compileOnly(com.google.devtools.ksp.symbol.processing.api) - ksp(dev.zacsweers.autoservice.auto.service.ksp) + implementation(libs.auto.service.annotations) + compileOnly(libs.symbol.processing.api) + ksp(libs.auto.service.ksp) } mavenPublishing { coordinates( groupId = group.toString(), - artifactId = property.project.yukihookapi.ksp.xposed.moduleName, + artifactId = gropify.project.yukihookapi.ksp.xposed.moduleName, version = version.toString() ) } \ No newline at end of file diff --git a/yukihookapi-stub/build.gradle.kts b/yukihookapi-stub/build.gradle.kts index 0cb69de4..e1637296 100644 --- a/yukihookapi-stub/build.gradle.kts +++ b/yukihookapi-stub/build.gradle.kts @@ -1,14 +1,14 @@ plugins { - autowire(libs.plugins.android.library) - autowire(libs.plugins.kotlin.android) + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) } android { - namespace = property.project.groupName - compileSdk = property.project.android.compileSdk + namespace = gropify.project.groupName + compileSdk = gropify.project.android.compileSdk defaultConfig { - minSdk = property.project.android.minSdk + minSdk = gropify.project.android.minSdk consumerProguardFiles("consumer-rules.pro") } buildTypes { @@ -25,5 +25,5 @@ android { } dependencies { - implementation(androidx.annotation.annotation) + implementation(libs.androidx.annotation) } \ No newline at end of file