[의존성의 방향을 따라 3/5] OpenRewrite와 Claude가 코드를 변환한다
10
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 OpenRewrite와 Claude를 분업해 50개 레포의 안전한 버전업을 반복 가능하게 만드는 구조를 소개합니다. Updater가 의존성/마이그레이션 등 규칙 기반 변환은 OpenRewrite AST 변환으로 결정론 적용하고, 빌드 실행 후 실패 시 Claude가 빌드 로그를 분석해 예외적 수정을 생성합니다. OpenRewrite 변환은 sed나 정규식이 아닌 AST 기반으로 메서드 호출과 인자 단위만 정확히 치환하며, recipe(YAML 또는 코드)로 구성하고 조합해 큰 마이그레이션을 만듭니다. 각 레포의 build.gradle.kts 수정 없이 init script로 OpenRewrite를 주입해 rewriteRun에서 in-place로 변환을 적용하고, 동일 recipe의 재현성과 idempotency를 확보합니다. recipe만으로 어려운 비즈니스 판단(예: nullable 처리 선택지)은 Claude가 제안하되 빌드 가드레일과 테스트로 검증합니다. recipe는 테스트 가능하며 조건부/조건 만족 시에만 적용해 여러 번 실행해도 동일 결과를 내도록 설계해야 함을 정리합니다.

연관 게시글