refactor: 빌드 로직 개선, gradle 파일 경량화

This commit is contained in:
donghyeon-ka
2026-09-18 15:22:30 +09:00
parent ace8aaaef6
commit 60b6a319e7
397 changed files with 19320 additions and 8406 deletions
@@ -0,0 +1,29 @@
# Redis Topology Lane Java Migration Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task.
**Goal:** Remove the last adapter-level procedural Groovy test lifecycle logic by moving Redis topology qualification into a typed Java convention plugin.
**Architecture:** `ca.redis-topology-lane` belongs in `build-logic`: it configures the default test exclusion, declares the strict `redisTopologyTest` lane, validates mode/properties, forwards topology system properties, and verifies executed required classes/no skips. The Redis leaf keeps only plugin and dependency declarations.
**Tech Stack:** Java 21, Gradle 9, JUnit Platform test tasks.
**Spec:** `docs/superpowers/specs/2026-09-16-verification-surface-reduction-design.md`
## Constraints
- Preserve supported modes: standalone, sentinel, cluster, tls.
- Preserve TLS deployment-mode mapping to standalone.
- Preserve required property and required executed-class semantics.
- Preserve fail-closed behavior for unknown mode and skipped topology tests.
- Keep `redisTopologyTest` opt-in; do not add it to normal `check`.
- Do not stage, commit, amend, or push.
### Task 1: Typed topology contract
- [ ] Write failing Java tests for mode validation, required properties, class coverage, and skipped-test rejection.
- [ ] Implement typed contract/result records and get focused tests GREEN.
### Task 2: Java convention plugin
- [ ] Implement `RedisTopologyLanePlugin` using `StrictTestLaneExtension` and a Java `TestListener` tracker.
- [ ] Register `ca.redis-topology-lane` in build-logic.
- [ ] Apply it in cache-redis and remove the Groovy topology lifecycle/configuration block.
- [ ] Verify build-logic tests, Redis unit `check`, task configuration, invalid-mode fail-closed behavior, and `git diff --check`.