Skip to content

Commit 85b80ad

Browse files
committed
chore(gradle): ...
1 parent 7f25eed commit 85b80ad

10 files changed

Lines changed: 36 additions & 22 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ build/
33
!gradle/wrapper/gradle-wrapper.jar
44
!**/src/main/**/build/
55
!**/src/test/**/build/
6+
/buildSrc/.kotlin/
67

78
### IntelliJ IDEA ###
89
!.idea/dictionaries/*

buildSrc/src/main/kotlin/io/github/hylexus/xtream/codec/gradle/utils/XtreamConfig.kt

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ object XtreamConfig {
1616
*/
1717
val Project.xtreamConfig: Config
1818
get() {
19-
return extensions.findByType(Config::class.java)
20-
?: Config(this).also { extensions.add("xtreamConfig", it) }
19+
return rootProject.extensions.findByType(Config::class.java)
20+
?: Config(this).also { rootProject.extensions.add("xtreamConfig", it) }
2121
}
2222

2323
private val thirdpartyDependencies: List<ThirdPartyDependency> = listOf(
@@ -54,40 +54,45 @@ object XtreamConfig {
5454

5555
/** 读取布尔配置,支持缓存 */
5656
fun getOrLoadConfigAsBoolean(key: String, default: Boolean? = null): Boolean {
57-
return getOrLoadConfig(key) {
58-
loadConfigAsString(key, (default ?: false).toString())
59-
}.toBoolean()
57+
val strValue = getOrLoadConfig(key) { loadConfigAsString(key, (default ?: "false").toString()) }
58+
@Suppress("UNNECESSARY_SAFE_CALL")
59+
return when (strValue?.lowercase()) {
60+
"true", "on", "yes" -> true
61+
"false", "off", "no" -> false
62+
null -> default ?: false
63+
else -> error("Invalid boolean value for $key: '$strValue'")
64+
}
6065
}
6166

6267
/**
6368
* 读取配置的最终逻辑:
64-
* 1. Gradle properties (-Pkey=val 或 gradle.properties)
65-
* 2. System properties (-Dkey=val)
66-
* 3. 环境变量(自动将 key 转换为 ENV_KEY)
69+
* 1. 环境变量(自动将 key 转换为 ENV_KEY)
70+
* 2. Gradle properties (-Pkey=val 或 gradle.properties)
71+
* 3. System properties (-Dkey=val)
6772
*/
6873
fun loadConfigAsString(key: String, default: String? = null): String {
69-
// 1. Gradle properties
74+
// 1. 环境变量(自动转换 key → ENV_KEY)
75+
val envKey = key.replace('.', '_')
76+
.replace('-', '_')
77+
.uppercase()
78+
79+
System.getenv(envKey)?.let { value ->
80+
project.logDebug("Loading config [Environment variable]: $envKey = ${filterValue(envKey, value)} (mapped from $key)")
81+
return value
82+
}
83+
84+
// 2. Gradle properties
7085
project.findProperty(key)?.toString()?.let { value ->
7186
project.logDebug("Loading config [Gradle property]: $key = ${filterValue(key, value)}")
7287
return value
7388
}
7489

75-
// 2. System properties
90+
// 3. System properties
7691
System.getProperty(key)?.let { value ->
7792
project.logDebug("Loading config [System property]: $key = ${filterValue(key, value)}")
7893
return value
7994
}
8095

81-
// 3. 环境变量(自动转换 key → ENV_KEY)
82-
val envKey = key.replace('.', '_')
83-
.replace('-', '_')
84-
.uppercase()
85-
86-
System.getenv(envKey)?.let { value ->
87-
project.logDebug("Loading config [Environment variable]: $envKey = ${filterValue(envKey, value)} (mapped from $key)")
88-
return value
89-
}
90-
9196
return default
9297
?: error("Config property '$key' not found in Gradle properties, System properties, or Environment variables")
9398
}

debug/jt/jt-808-server-spring-boot-starter-reactive-debug/jt-808-server-spring-boot-starter-reactive-debug.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io.github.hylexus.xtream.codec.gradle.plugins.XtreamCodecFastModePlugin
2+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
23

34
plugins {
45
id("org.springframework.boot")

ext/jt/jt-1078-server-spring-boot-starter-reactive/jt-1078-server-spring-boot-starter-reactive.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
2+
13
dependencies {
24

35
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")

ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/jt-808-server-dashboard-spring-boot-starter-reactive.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
2+
13
plugins {
24
id("xtream-codec-frontend-build-plugin")
35
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ org.gradle.parallel=true
1414
#
1515
### 2.1 pom GAV
1616
projectGroupId=io.github.hylexus.xtream
17-
projectVersion=0.4.0
17+
projectVersion=0.5.0-rc.0
1818
#
1919
### 2.2 Developer
2020
projectDeveloperId=hylexus

quick-start/jt/jt-1078-server-quick-start-blocking/jt-1078-server-quick-start-blocking.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io.github.hylexus.xtream.codec.gradle.plugins.XtreamCodecFastModePlugin
2+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
23

34
plugins {
45
id("org.springframework.boot")

quick-start/jt/jt-1078-server-quick-start-nonblocking/jt-1078-server-quick-start-nonblocking.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io.github.hylexus.xtream.codec.gradle.plugins.XtreamCodecFastModePlugin
2+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
23

34
plugins {
45
id("org.springframework.boot")

quick-start/jt/jt-808-server-quick-start-with-storage-blocking/jt-808-server-quick-start-with-storage-blocking.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import io.github.hylexus.xtream.codec.gradle.plugins.XtreamCodecFastModePlugin
2-
2+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
33

44
plugins {
55
id("org.springframework.boot")

quick-start/jt/jt-808-server-quick-start-with-storage-nonblocking/jt-808-server-quick-start-with-storage-nonblocking.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io.github.hylexus.xtream.codec.gradle.plugins.XtreamCodecFastModePlugin
2+
import io.github.hylexus.xtream.codec.gradle.utils.XtreamConfig.xtreamConfig
23

34
plugins {
45
id("org.springframework.boot")

0 commit comments

Comments
 (0)