refactor: update Logger usage to improve clarity and consistency

This commit is contained in:
2025-11-13 13:22:12 +08:00
parent d98f101945
commit 24709d1993
6 changed files with 27 additions and 21 deletions

View File

@@ -26,26 +26,34 @@ package com.highcapable.gropify.internal
import com.highcapable.gropify.plugin.Gropify import com.highcapable.gropify.plugin.Gropify
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.logging.Logger import org.gradle.api.logging.Logger
import kotlin.properties.Delegates
/** /**
* Gropify logger. * Gropify logger.
*/ */
internal object Logger { internal class Logger private constructor() {
private var logger by Delegates.notNull<Logger>() internal companion object {
/** /**
* Initialize logger with project. * Create logger with project.
* @param project the project. * @param project the project.
* @return [Logger] * @return [Logger]
*/ */
fun init(project: Project) = apply { fun with(project: Project) = Logger().apply {
logger = project.logger logger = project.logger
}
/**
* Create empty logger instance.
* @return [Logger]
*/
fun get() = Logger()
} }
internal fun debug(msg: Any) = logger.debug("[${Gropify.TAG}] $msg") private var logger: Logger? = null
internal fun info(msg: Any) = logger.info("[${Gropify.TAG}] $msg")
internal fun warn(msg: Any) = logger.warn("[${Gropify.TAG}] $msg") internal fun debug(msg: Any) = "[${Gropify.TAG}][DEBUG] $msg".let { logger?.debug(it) ?: println(it) }
internal fun error(msg: Any) = logger.error("[${Gropify.TAG}] $msg") internal fun info(msg: Any) = "[${Gropify.TAG}][INFO] $msg".let { logger?.info(it) ?: println(it) }
internal fun warn(msg: Any) = "[${Gropify.TAG}][WARN] $msg".let { logger?.warn(it) ?: println(it) }
internal fun error(msg: Any) = "[${Gropify.TAG}][ERROR] $msg".let { logger?.error(it) ?: println(it) }
} }

View File

@@ -24,7 +24,6 @@ package com.highcapable.gropify.plugin
import com.highcapable.gropify.gradle.api.GradleDescriptor import com.highcapable.gropify.gradle.api.GradleDescriptor
import com.highcapable.gropify.gradle.api.extension.getOrCreate import com.highcapable.gropify.gradle.api.extension.getOrCreate
import com.highcapable.gropify.gradle.api.plugin.PluginLifecycle import com.highcapable.gropify.gradle.api.plugin.PluginLifecycle
import com.highcapable.gropify.internal.Logger
import com.highcapable.gropify.internal.error import com.highcapable.gropify.internal.error
import com.highcapable.gropify.plugin.extension.dsl.configure.GropifyConfigureExtension import com.highcapable.gropify.plugin.extension.dsl.configure.GropifyConfigureExtension
import org.gradle.api.Project import org.gradle.api.Project
@@ -50,7 +49,6 @@ internal class GropifyLifecycle : PluginLifecycle {
} }
override fun beforeProjectEvaluate(rootProject: Project) { override fun beforeProjectEvaluate(rootProject: Project) {
Logger.init(rootProject)
DefaultDeployer.resolve(rootProject) DefaultDeployer.resolve(rootProject)
} }

View File

@@ -56,7 +56,7 @@ class GropifyPlugin<T : ExtensionAware> internal constructor() : Plugin<T> {
} }
} }
} }
is Project -> Logger.init(target).error( is Project -> Logger.with(target).error(
"Gropify can only applied in settings.gradle or settings.gradle.kts, but current is $target, stop loading.", "Gropify can only applied in settings.gradle or settings.gradle.kts, but current is $target, stop loading.",
) )
else -> Gropify.error("Gropify applied to an unknown target: $target, stop loading.") else -> Gropify.error("Gropify applied to an unknown target: $target, stop loading.")

View File

@@ -82,7 +82,7 @@ internal class BuildscriptDeployer(private val _config: () -> GropifyConfig) : D
) return ) return
cachedSettingsProperties = allProperties cachedSettingsProperties = allProperties
buildscriptGenerator.build(allConfig, allProperties).compile( buildscriptGenerator.build(config, allConfig, allProperties).compile(
buildscriptAccessorsDependency, buildscriptAccessorsDependency,
buildscriptAccessorsDir.absolutePath, buildscriptAccessorsDir.absolutePath,
buildscriptGenerator.compileStubFiles buildscriptGenerator.compileStubFiles

View File

@@ -157,7 +157,7 @@ internal class SourceCodeDeployer(private val _config: () -> GropifyConfig) : De
it?.asResolver()?.optional(!debugMode)?.firstMethodOrNull { it?.asResolver()?.optional(!debugMode)?.firstMethodOrNull {
name = "getName" name = "getName"
}?.invokeQuietly<String>() == config.sourceSetName }?.invokeQuietly<String>() == config.sourceSetName
} ?: return Logger.warn( } ?: return Logger.with(project).warn(
"Could not found source sets \"${config.sourceSetName}\" in project '${project.getFullName()}' ($projectType)." "Could not found source sets \"${config.sourceSetName}\" in project '${project.getFullName()}' ($projectType)."
) )
@@ -179,7 +179,7 @@ internal class SourceCodeDeployer(private val _config: () -> GropifyConfig) : De
parameters(Any::class) parameters(Any::class)
superclass() superclass()
} }
resolver?.invokeQuietly(generateDirPath) ?: Logger.error( resolver?.invokeQuietly(generateDirPath) ?: Logger.with(project).error(
"Project '${project.getFullName()}' source sets deployed failed, method \"srcDir\" maybe failed during the processing." "Project '${project.getFullName()}' source sets deployed failed, method \"srcDir\" maybe failed during the processing."
) )
} }

View File

@@ -73,7 +73,7 @@ internal object AndroidProjectHelper {
}.onFailure { }.onFailure {
// If file broken, reset it. // If file broken, reset it.
namespacesFile.writeText("{}") namespacesFile.writeText("{}")
Logger.warn("Android project namespaces file was broken and has been reset.") Logger.with(this).warn("Android project namespaces file was broken and has been reset.")
}.getOrDefault(hashMapOf()) }.getOrDefault(hashMapOf())
val namespace = getExtensionNamespace() val namespace = getExtensionNamespace()