<aside> ⚙

환경

Java jdk-17.0.11_9

Gradle 8.10.2

</aside>

프로젝트 배경 설명


엔진의 복잡한 빌드 방식

엔진은 하나모듈(바이너리)하나CMakeLists.txt 파일로 관리한다.

ex) tce 모듈

image.png

플랫폼 빌드 방식

소스코드 변경

→ 그에 1:1 매칭되는 .class 파일 1개 빌드

엔진 빌드 방식

소스코드 변경

→ 그 소스코드로 만들어지는 모든 모듈들 빌드

→ 그 모듈이 빌드되면 빌드해야할 모듈들 빌드

→ 그 모듈이 빌드되면 빌드해야할 모듈들 빌드

→ 그 모듈이 빌드되면 …

→ ♾️

→ 🤯

ex) tce가 빌드되면

빌드되어야 한다.

최종 목표

엔진 바이너리 패치 자동화


<기존>

image.png

<변경 후>

image.png

PatchModuleFinder 세부 설명


<aside> 📖

빗버킷 리포

</aside>

input&output

input output
- engine 빌드된 리포지토리 주소
ex) C:\01.jenkins\agent\workspace\build_engine_GIT_window