Skip to content

Commit 80bc36a

Browse files
authored
Merge pull request #46 from TrueNine/dev
🚀 [release] 0.0.34
2 parents 2c73349 + 08a4d35 commit 80bc36a

11 files changed

Lines changed: 391 additions & 941 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 192 additions & 202 deletions
Large diffs are not rendered by default.

.github/workflows/maven-central-publish.yaml

Lines changed: 156 additions & 174 deletions
Large diffs are not rendered by default.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,4 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
197197
- Dependency versions are unified in `gradle/libs.versions.toml`
198198
- Use `./gradlew versionCatalogUpdate` to check for dependency updates
199199
- Version publishing through Maven Central Repository, naming rule: `io.github.truenine:composeserver-{module-name}`
200+
- 这是一个库项目,类似于springboot

README.md

Lines changed: 19 additions & 549 deletions
Large diffs are not rendered by default.

build-logic/src/main/kotlin/buildlogic.java-conventions.gradle.kts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,14 @@ afterEvaluate {
7777

7878
dependsOn(configurations.testRuntimeClasspath)
7979

80-
// Configure test output to suppress warnings
80+
// Configure test output for detailed logging
8181
testLogging {
82-
showStandardStreams = false
82+
showStandardStreams = true
8383
exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
84-
events("passed", "skipped", "failed")
84+
events("passed", "skipped", "failed", "started")
85+
showExceptions = true
86+
showCauses = true
87+
showStackTraces = true
8588
}
8689

8790
val commonProjectDeps = listOf("testtoolkit", "shared")

cacheable/src/main/kotlin/io/github/truenine/composeserver/cacheable/autoconfig/RedisJsonSerializerAutoConfiguration.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import io.github.truenine.composeserver.depend.jackson.autoconfig.JacksonAutoCon
77
import io.github.truenine.composeserver.logger
88
import java.time.Duration
99
import org.springframework.beans.factory.annotation.Qualifier
10+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean
1011
import org.springframework.context.annotation.Bean
1112
import org.springframework.context.annotation.Configuration
1213
import org.springframework.data.redis.cache.RedisCacheConfiguration
@@ -24,6 +25,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer
2425
* @since 2023-02-20
2526
*/
2627
@Configuration
28+
@ConditionalOnBean(RedisConnectionFactory::class)
2729
class RedisJsonSerializerAutoConfiguration(@Qualifier(JacksonAutoConfiguration.NON_IGNORE_OBJECT_MAPPER_BEAN_NAME) objectMapper: ObjectMapper) {
2830
companion object {
2931
@JvmStatic private val log = logger<RedisJsonSerializerAutoConfiguration>()
@@ -41,6 +43,7 @@ class RedisJsonSerializerAutoConfiguration(@Qualifier(JacksonAutoConfiguration.N
4143
.disableCachingNullValues()
4244

4345
@Bean(name = [ICacheNames.IRedis.HANDLE])
46+
@ConditionalOnBean(name = [VIRTUAL_THREAD_REDIS_FACTORY_BEAN_NAME])
4447
fun customRedisJsonSerializable(@Qualifier(VIRTUAL_THREAD_REDIS_FACTORY_BEAN_NAME) factory: RedisConnectionFactory): RedisTemplate<String, *> {
4548
log.trace("register redisTemplate factory: {}", factory)
4649
val rt = RedisTemplate<String, Any?>()
@@ -55,6 +58,7 @@ class RedisJsonSerializerAutoConfiguration(@Qualifier(JacksonAutoConfiguration.N
5558
}
5659

5760
@Bean(name = [ICacheNames.IRedis.CACHE_MANAGER])
61+
@ConditionalOnBean(name = [VIRTUAL_THREAD_REDIS_FACTORY_BEAN_NAME])
5862
fun cacheManager2h(@Qualifier(VIRTUAL_THREAD_REDIS_FACTORY_BEAN_NAME) factory: RedisConnectionFactory): RedisCacheManager {
5963
log.debug("register RedisCacheManager , factory: {}", factory)
6064
return asCacheConfig(factory)

gradle-plugin/src/test/kotlin/io/github/truenine/composeserver/gradleplugin/dotenv/DotenvLoaderTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ class DotenvLoaderTest {
288288
val envFile =
289289
createTempEnvFile(
290290
"""
291-
JAVA_OPTS=-Xmx1g
291+
CUSTOM_OPTS=-Xmx1g
292292
APP_ENV=production
293293
DATABASE_URL=jdbc:postgresql://localhost:5432/mydb
294294
"""
@@ -304,7 +304,7 @@ class DotenvLoaderTest {
304304
val loader = DotenvLoader(project, config)
305305

306306
// 验证环境变量已注入
307-
assertEquals("-Xmx1g", javaExecTask.environment["JAVA_OPTS"])
307+
assertEquals("-Xmx1g", javaExecTask.environment["CUSTOM_OPTS"])
308308
assertEquals("production", javaExecTask.environment["APP_ENV"])
309309
assertEquals("jdbc:postgresql://localhost:5432/mydb", javaExecTask.environment["DATABASE_URL"])
310310
}

testtoolkit/testtoolkit-testcontainers/src/main/kotlin/io/github/truenine/composeserver/testtoolkit/properties/TestcontainersProperties.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ data class MinioConfig(
111111
/** 是否复用容器,默认复用 */
112112
var reuse: Boolean = true,
113113
/** MinIO Docker 镜像 默认使用较新的稳定版本 */
114-
var image: String = "minio/minio:minio/minio:RELEASE.2025-09-07T16-13-09Z-cpuv1",
114+
var image: String = "minio/minio:RELEASE.2025-09-07T16-13-09Z-cpuv1",
115115

116116
/** 默认访问密钥 */
117117
var accessKey: String = "minioadmin",

testtoolkit/testtoolkit-testcontainers/src/test/kotlin/io/github/truenine/composeserver/testtoolkit/autoconfig/TestcontainersPropertiesIntegrationTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ class TestcontainersPropertiesIntegrationTest {
3636
@Test
3737
fun should_inject_properties_with_defaults() {
3838
assertNotNull(testcontainersProperties)
39-
assertEquals("postgres:17.5-alpine3.22", testcontainersProperties.postgres.image)
39+
assertEquals("postgres:17.6-alpine3.22", testcontainersProperties.postgres.image)
4040
assertEquals("mysql:8.4.6-oraclelinux9", testcontainersProperties.mysql.image)
41-
assertEquals("redis:8.0.3-alpine3.21", testcontainersProperties.redis.image)
42-
assertEquals("minio/minio:RELEASE.2025-07-23T15-54-02Z", testcontainersProperties.minio.image)
41+
assertEquals("redis/redis-stack:7.2.0-v18", testcontainersProperties.redis.image)
42+
assertEquals("minio/minio:RELEASE.2025-09-07T16-13-09Z-cpuv1", testcontainersProperties.minio.image)
4343
}
4444
}
4545

testtoolkit/testtoolkit-testcontainers/src/test/kotlin/io/github/truenine/composeserver/testtoolkit/autoconfig/TestcontainersPropertiesTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class TestcontainersPropertiesTest {
1919
fun should_have_correct_default_postgres_config() {
2020
val properties = TestcontainersProperties()
2121

22-
assertEquals("postgres:17.5-alpine3.22", properties.postgres.image)
22+
assertEquals("postgres:17.6-alpine3.22", properties.postgres.image)
2323
assertEquals("testdb", properties.postgres.databaseName)
2424
assertEquals("test", properties.postgres.username)
2525
assertEquals("test", properties.postgres.password)
@@ -40,14 +40,14 @@ class TestcontainersPropertiesTest {
4040
fun should_have_correct_default_redis_config() {
4141
val properties = TestcontainersProperties()
4242

43-
assertEquals("redis:8.0.3-alpine3.21", properties.redis.image)
43+
assertEquals("redis/redis-stack:7.2.0-v18", properties.redis.image)
4444
}
4545

4646
@Test
4747
fun should_have_correct_default_minio_config() {
4848
val properties = TestcontainersProperties()
4949

50-
assertEquals("minio/minio:RELEASE.2025-07-23T15-54-02Z", properties.minio.image)
50+
assertEquals("minio/minio:RELEASE.2025-09-07T16-13-09Z-cpuv1", properties.minio.image)
5151
assertEquals("minioadmin", properties.minio.accessKey)
5252
assertEquals("minioadmin", properties.minio.secretKey)
5353
}

0 commit comments

Comments
 (0)