C(TxCore/Tuxedo-style)->Spring Boot 매입·정산 마이그레이션 테스트
|
|
||
|---|---|---|
| .forge | ||
| .forgejo/workflows | ||
| boot | ||
| legacy | ||
| .gitignore | ||
| MIGRATION.md | ||
| README.md | ||
acquire-core-migration
카드 매입·정산 레거시 C 슬라이스를 Spring Boot 멀티모듈로 전환하기 위한
마이그레이션 모노레포(테스트 픽스처). 소스(레거시)와 타겟(Spring 스켈레톤)을
한 저장소에 두고, MIGRATION.md 의 규칙표를 따라 에이전트가 증분 이식한다.
레이아웃
acquire-core-migration/
├── legacy/ # SOURCE — 빌드되는 레거시 C 슬라이스 (TxCore 프레임워크 + 매입/정산 앱). 읽기 전용.
├── boot/ # TARGET — Spring Boot 멀티모듈 스켈레톤 (Java 17, Spring Boot 3.3.x)
│ ├── pom.xml # 부모 (packaging pom)
│ ├── common-framework/ # 모듈 1 — TxCore 의 Spring 대체 스타터 (라이브러리 jar)
│ └── modules/acquiring/ # 모듈 2 — 매입 업무 (@SpringBootApplication), common-framework 의존
├── MIGRATION.md # 전환 플레이북 (레거시→Spring 규칙표 + 배치 규약)
├── .forgejo/workflows/ci.yml # CI — Spring 타겟 빌드/테스트
└── .gitignore
두 단계 전환 계획
- 공통 프레임워크 우선. TxCore(
legacy/framework/txcore/) →boot/common-framework/. 서비스 디스패처·TXBUF·트랜잭션·로깅·전문 코덱 규약을 먼저 착지시킨다. - 업무 모듈. 매입/정산(
legacy/app/) →boot/modules/acquiring/.common-framework에 의존하며 매입접수 → 정산집계 → 대사 배치 순으로 채운다.
자세한 매핑은 MIGRATION.md.
빌드
타겟 (Spring Boot 스켈레톤)
docker run --rm -v "$PWD":/src -w /src/boot maven:3.9-eclipse-temurin-17 \
bash -lc "mvn -q -B -DskipTests=false test"
빈 스켈레톤이 컴파일되고 스모크 테스트가 초록이면 성공. DB 불필요.
소스 (레거시 C, 참고용)
docker run --rm -v "$PWD/legacy":/src -w /src debian:12 bash -lc \
"apt-get update -qq && apt-get install -y -qq build-essential libecpg-dev libpq-dev postgresql-server-dev-all >/dev/null 2>&1; make clean; make"
레거시 슬라이스의 상세는 legacy/README.md.