chore: migrate build script from groovy to kts

- using SweetDependency, SweetProperty
- using new maven publish function
- update gradle and dependencies
This commit is contained in:
2023-09-21 03:13:14 +08:00
parent bdae1944f2
commit fc2187ddc8
17 changed files with 446 additions and 485 deletions

View File

@@ -1,25 +1,35 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-XX:+UseParallelGC
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
# Compiler Configuration
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
# Incremental
kotlin.incremental.useClasspathSnapshot=true
kotlin.code.style=official
kotlin.incremental.useClasspathSnapshot=true
# Project Configuration
project.name=YukiHookAPI
project.description=An efficient Hook API and Xposed Module solution built in Kotlin.
project.url=https://github.com/fankes/YukiHookAPI
project.groupName=com.highcapable.yukihookapi
project.yukihookapi-core.moduleName=api
project.yukihookapi-core.version="1.0.11"
project.yukihookapi-core.kotlin-optIn.YukiPrivateApi=${project.groupName}.annotation.YukiPrivateApi
project.yukihookapi-core.kotlin-optIn.YukiGenerateApi=${project.groupName}.annotation.YukiGenerateApi
project.yukihookapi-ksp-xposed.moduleName=ksp-xposed
project.yukihookapi-ksp-xposed.version=${project.yukihookapi-core.version}
project.licence.name=MIT
project.licence.url=https://github.com/fankes/YukiHookAPI/blob/master/LICENSE
project.developer.id="0"
project.developer.name=fankes
project.developer.email=qzmmcn@163.com
project.android.compileSdk=34
project.android.minSdk=21
project.android.targetSdk=34
project.samples-demo-app.packageName=${project.groupName}.demo_app
project.samples-demo-app.versionName=universal
project.samples-demo-app.versionCode=1
project.samples-demo-module.packageName=${project.groupName}.demo_module
project.samples-demo-module.versionName=universal
project.samples-demo-module.versionCode=1
# Maven Publish Configuration
maven.publish.scm.connection=scm:git:git://github.com/fankes/YukiHookAPI.git
maven.publish.scm.developerConnection=scm:git:ssh://github.com/fankes/YukiHookAPI.git
maven.publish.scm.url=https://github.com/fankes/YukiHookAPI