들어가기 전
이번 학습에서는 Tuist의 디렉토리 구조와 함께 각 파일들의 역할을 알아보자.
미리 보기
이렇게 구성되어있는 Tuist 세팅으로 다음 명령어를 입력해보면 다음과 같은 창이 열린다.
tuist edit // tuist 프로젝트 편집
구성
Plugins
- 플러그인은 Manifests에 사용될 다양한 Plugin을 모아놓은 것
- Plugin은 모듈화를 위한 모듈 같은 느낌.. 모듈화를 위해 사용할 모듈들을 모아놓은 것
- 여러가지 플러그인에 공통적으로 보이는 Plguin.swift 파일이 있다.
- Plguin.swift 파일은 말 그대로 해당 플러그인을 정의하는 곳
- Manifests에서 사용 시 import ~~Plugin을 하면된다.
Manifests
- 실질적으로 모듈들이 정의되는 공간
1) Projects.swift
- Plguin.swift이 플러그인을 정의하 듯 모듈을 정의하는 역할을한다.
2) Tuist
- Manifests 전반적으로 쓰일 코드를 정의, 보통 탬플릿을 많이 선언
a. Config.swift
- 전반적인 project 설정과 관련된 부분을 정의하는 곳
- 나는 아직까지 위에서 정의한 plugin을 사용하기위해 사용했다.
- 플러그인을 사용하려면 아래와 같이 Config에 정의를 미리 해둬야 import 가능
let config = Config(
plugins: [
.local(path: .relativeToRoot("Plugin/TemplatePlugin")),
.local(path: .relativeToRoot("Plugin/ConfigurationPlugin")),
.local(path: .relativeToRoot("Plugin/DependencyPlugin")),
.local(path: .relativeToRoot("Plugin/EnvironmentPlugin"))
],
generationOptions: .options()
)
3) Package.swift
- SPM을 통해 사용할 package를 정의하는 곳
- tuist install을 입력하면 package.swift을 기반으로 다운 및 패치를 진행한다.
4) Workspace.swift
- tuist로 생성될 workspace를 정의하는 곳
참고
'iOS > Tuist' 카테고리의 다른 글
[부스트 캠프] Tuist와 불편한 동거 (1) | 2024.11.26 |
---|---|
Tuist 탬플릿 만들기 (1) Make File (0) | 2024.11.09 |
Framework vs Library (3) | 2024.11.03 |
프로젝트 생성 관련 사전 지식 (2) | 2024.11.02 |
Tuist란? (1) | 2024.11.02 |