build: migrate to kotlin-codeorigin

This commit is contained in:
二刺螈
2026-09-02 15:16:46 +08:00
parent b693edd0e8
commit c174f79767
9 changed files with 20 additions and 24 deletions

View File

@@ -70,7 +70,7 @@ GKD **默认不提供规则**,需自行添加本地规则,或者通过订阅
开发过程中的衍生项目,它们正在被 gkd 使用,也许对你有帮助
- [kotlin-json5](https://github.com/lisonge/kotlin-json5)
- [kotlin-loc](https://github.com/lisonge/kotlin-loc)
- [kotlin-codeorigin](https://github.com/lisonge/kotlin-codeorigin)
- [android-api-diff](https://github.com/android-cs/android-api-diff)
- [remap](https://github.com/lisonge/remap)
- [priv-kit](https://github.com/priv-kit/priv-kit)

View File

@@ -22,7 +22,7 @@ plugins {
alias(libs.plugins.kotlin.compose) apply false
alias(libs.plugins.kotlinx.atomicfu) apply false
alias(libs.plugins.remap) apply false
alias(libs.plugins.loc) apply false
alias(libs.plugins.codeorigin) apply false
alias(libs.plugins.littlerobots.version)
}

View File

@@ -21,7 +21,7 @@ plugins {
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlinx.atomicfu)
alias(libs.plugins.remap)
alias(libs.plugins.loc)
alias(libs.plugins.codeorigin)
}
android {
@@ -202,10 +202,6 @@ composeCompiler {
)
}
loc {
template = "{packageName}.{methodName}({fileName}:{lineNumber})"
}
dependencies {
implementation(libs.kotlin.stdlib)
@@ -282,7 +278,7 @@ dependencies {
implementation(libs.device)
implementation(libs.json5)
compileOnly(libs.loc.annotation)
compileOnly(libs.codeorigin)
// compose-webview declares Material but does not use it.
implementation(libs.kevinnzouWebview) {

View File

@@ -64,7 +64,7 @@ import li.gkd.app.util.launchTry
import li.gkd.app.util.openWeChatScaner
import li.gkd.app.util.runMainPost
import li.gkd.app.util.toast
import li.songe.loc.Loc
import li.songe.codeorigin.CallSite
import java.nio.file.Files
import kotlin.reflect.jvm.jvmName
import kotlin.time.Duration.Companion.days
@@ -109,7 +109,7 @@ class MainViewModel : BaseViewModel(), OnSimpleLife by DefaultSimpleLifeImpl() {
private val backThrottleTimer = ThrottleTimer()
fun popPage(@Loc loc: String = "") = runMainPost {
fun popPage(@CallSite loc: String = "") = runMainPost {
if (backThrottleTimer.expired() && backStack.size > 1) {
val old = backStack.last()
backStack.removeAt(backStack.lastIndex)
@@ -120,7 +120,7 @@ class MainViewModel : BaseViewModel(), OnSimpleLife by DefaultSimpleLifeImpl() {
fun navigatePage(
navKey: NavKey,
replaced: Boolean = false,
@Loc loc: String = "",
@CallSite loc: String = "",
) = runMainPost {
if (navKey != backStack.last()) {
val old = backStack.last()

View File

@@ -33,7 +33,7 @@ import li.gkd.app.util.RuleSummary
import li.gkd.app.util.launchTry
import li.gkd.app.util.ruleSummaryFlow
import li.gkd.app.util.systemUiAppId
import li.songe.loc.Loc
import li.songe.codeorigin.CallSite
data class TopActivity(
val appId: String = "",
@@ -145,7 +145,7 @@ fun updateTopActivity(
appId: String,
activityId: String?,
scene: ActivityScene = ActivityScene.A11y,
@Loc loc: String = "",
@CallSite loc: String = "",
) {
val t = System.currentTimeMillis()
if (scene == ActivityScene.TaskStack) {

View File

@@ -8,7 +8,7 @@ import kotlinx.coroutines.cancel
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
import li.songe.loc.Loc
import li.songe.codeorigin.CallSite
typealias CbFn = () -> Unit
@@ -26,7 +26,7 @@ interface OnSimpleLife {
fun onDestroyed(f: CbFn) = cbs<CbFn>(2).add(f)
fun onDestroyed() = cbs<CbFn>(2).forEach { it() }
fun useLogLifecycle(@Loc loc: String = "") {
fun useLogLifecycle(@CallSite loc: String = "") {
onCreated { LogUtils.d("onCreated -> " + this::class.simpleName, loc = loc) }
onDestroyed { LogUtils.d("onDestroyed -> " + this::class.simpleName, loc = loc) }
if (this is OnA11yLife) {
@@ -52,7 +52,7 @@ interface OnSimpleLife {
fun useAliveToast(
name: String,
delayMillis: Long = 0L,
@Loc loc: String = "",
@CallSite loc: String = "",
) {
onCreated {
toast("${name}已启动", loc = loc, delayMillis = delayMillis)

View File

@@ -8,15 +8,15 @@ import com.hjq.device.compat.DeviceMarketName
import com.hjq.device.compat.DeviceOs
import li.gkd.app.META
import li.gkd.app.app
import li.songe.loc.Loc
import li.songe.codeorigin.CallSite
import java.util.concurrent.Executors
import kotlin.time.Duration.Companion.days
object LogUtils {
fun d(
vararg args: Any?,
@Loc loc: String = "",
@Loc("{fileName}") fileName: String = "",
@CallSite loc: String = "",
@CallSite("{file}") fileName: String = "",
tag: String = fileName.substringBeforeLast('.'),
) {
val name = Thread.currentThread().name

View File

@@ -29,13 +29,13 @@ import li.gkd.app.service.A11yService
import li.gkd.app.service.OverlayWindowService
import li.gkd.app.store.actionCountFlow
import li.gkd.app.store.storeFlow
import li.songe.loc.Loc
import li.songe.codeorigin.CallSite
fun toast(
text: CharSequence,
forced: Boolean = false,
delayMillis: Long = 0L,
@Loc loc: String = "",
@CallSite loc: String = "",
) {
if (delayMillis > 0) {
runMainPost(delayMillis) {

View File

@@ -16,7 +16,7 @@ telephoto = "0.19.0"
remap = "0.1.5"
shizuku = "13.1.5"
priv-kit = "0.9.3"
loc = "0.7.1"
codeorigin = "0.2.1"
[libraries]
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
@@ -74,7 +74,7 @@ coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil"
coil-network = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }
coil-gif = { module = "io.coil-kt.coil3:coil-gif", version.ref = "coil" }
telephoto-zoomable = { module = "me.saket.telephoto:zoomable", version.ref = "telephoto" }
loc-annotation = { module = "li.songe.loc:loc-annotation", version.ref = "loc" }
codeorigin = { module = "li.songe:codeorigin", version.ref = "codeorigin" }
reorderable = "sh.calvin.reorderable:reorderable:3.1.0"
exp4j = "net.objecthunter:exp4j:0.4.8"
toaster = "com.github.getActivity:Toaster:15.0"
@@ -95,5 +95,5 @@ android-application = { id = "com.android.application", version.ref = "agp" }
androidx-room = { id = "androidx.room3", version.ref = "room" }
google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
remap = { id = "li.songe.remap", version.ref = "remap" }
loc = { id = "li.songe.loc", version.ref = "loc" }
codeorigin = { id = "li.songe.codeorigin", version.ref = "codeorigin" }
littlerobots-version = "nl.littlerobots.version-catalog-update:1.1.1"