Tech News

제목스위프트 증분 빌드는 어떻게 동작하고 있나2021-03-26 03:15
작성자 Level 10

스위프트 증분 빌드는 어떻게 동작하고 있나. 이 글을 작성하게 된 계기는 자바 gradle 빌드 과정에서 SOLID… | by Jung Kim | Mar, 2021 | Medium 


- Xcode 10 이후 llbuild 기반으로 파일 단위로 증분 빌드가 동작한다.

- Xcode 빌드 로그상으로는 차이가 없어 보이지만, 의존성을 분석하고 인터페이스 해시값을 비교하고 오브젝트 .o 파일을 생성한다. 물론 구현부가 바뀌면 다시 생성한다.

- 만약 의존성을 가지는 다른 소스파일에 대한 인터페이스 해시값이 동일하면 오브젝트 파일은 생성하지 않는다.

- 스위프트 파일 의존성 정보는 .swiftdeps 파일에서 확인할 수 있다.

- 파일 단위로 swiftmodule의 일부분 partial을 만들어 놓고 링크할 때 전체 모듈을 합친다.

- 자바 gradle 빌드 경우처럼 ISP로 나눈다고 해서 인터페이스로 나눠지고 변경이 있는 파일만 빌드되지는 않는다.

- 스위프트 소스 파일을 컴파일할 때는 구현부가 바뀐 파일은 다시 컴파일하지만, 선언부를 중심으로 의존성을 파악하기 때문에 선언이 바뀐 파일을 의존하는 경우만 다시 빌드한다.

G
M
T
Text-to-speech function is limited to 200 characters
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)