chore: acquire-core migration monorepo (legacy C + Spring Boot target skeleton)
Some checks failed
ci / build (push) Failing after 2s

TxCore/ECPG legacy 매입·정산 C 슬라이스(빌드검증) + Spring Boot 멀티모듈 골격(mvn test green) + MIGRATION.md 전환룰 + CI(boot 빌드).
This commit is contained in:
forge-bot 2026-07-18 09:55:46 +00:00
commit ff0b0b60a2
31 changed files with 2208 additions and 0 deletions

48
README.md Normal file
View file

@ -0,0 +1,48 @@
# 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
```
## 두 단계 전환 계획
1. **공통 프레임워크 우선.** TxCore(`legacy/framework/txcore/`) → `boot/common-framework/`.
서비스 디스패처·TXBUF·트랜잭션·로깅·전문 코덱 규약을 먼저 착지시킨다.
2. **업무 모듈.** 매입/정산(`legacy/app/`) → `boot/modules/acquiring/`.
`common-framework` 에 의존하며 매입접수 → 정산집계 → 대사 배치 순으로 채운다.
자세한 매핑은 [`MIGRATION.md`](./MIGRATION.md).
## 빌드
### 타겟 (Spring Boot 스켈레톤)
```sh
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, 참고용)
```sh
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`](./legacy/README.md).