iOS/Tuist

Tuist 구성 파일

Hamp 2024. 11. 3. 20:39
반응형

들어가기 전

이번 학습에서는 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를 정의하는 곳

참고

 

What is Tuist? | Tuist

 

docs.tuist.io

 

반응형