Jaebi의 Binary는 호남선

Tuist - Plugins 본문

Tuist

Tuist - Plugins

jaebijae 2024. 7. 13. 02:51

목차

    Plugins

    • 비대해지는 `ProjectDescriptionHelpers`의 기능을 이전하여 모듈로 사용하는 방식
    • `Plugin` 타입
      • Project description helper Plugin: `Plugin.swift`와 helper Swift 파일들이 있는 `ProjectDescriptionHelpers` 디렉토리 포함
      • Resource accessor templates Plugin: `Plugin.swift`와 resource accessor 템플릿 파일들이 있는 `ResourceSynthesizers` 디렉토리 포함
    • 주의사항
      • `Plugin`은 다른 `Plugin`에 의존할 수 없음
      • Third-party Swift Packges도 의존할 수 없음
      • `Plugin`을 사용하는 `ProjectDescriptionHelpers`를 사용할 수 없음

    Plugin 사용

    • `Config.swift`에서 `Plugin` 정의
    // Config.swift
    let config = Config(
        plugins: [
            .local(path: .relativeToRoot("Plugins/ConfigPlugin")),
            .local(path: .relativeToRoot("Plugins/DependencyPlugin")),
            .local(path: .relativeToRoot("Plugins/EnvPlugin")),
            .local(path: .relativeToRoot("Plugins/UtilityPlugin"))
        ]
    )
    • Root에서 `mkdir Plugins`로 `Plugin` 디렉토리 생성, 안에 `Plugin.swift`파일 생성 및 `ProjectDescriptionHelpers` 디렉토리 생성
    // Plugin.swift
    // 모듈의 의존성, Library의존성 등을 정의할 Plugin
    import ProjectDescription
    
    let dependencyPlugin = Plugin(name:"DependencyPlugin")
    • 생성된 `Plugin` 구조:

    • `import DependencyPlugin`을 통해 해당 `Plugin`사용

    Reference

     

    Plugins | Tuist

     

    docs.tuist.io

     

    [iOS][Tuist 1.7.1] 프로젝트 생성/관리 도구 Tuist(4) - Plugin

    Tuist 1.33.0에서 Plugin 이라는 기능이 생겼습니다. Celebrating Friday with a new release - 1.33.0, Plugin!🔌 Plugin support! Documentation is still in progress but will soon be available 📦 tuist graph for only subset of targets @adellibovi

    minsone.github.io

     

    Tuist 사용법 - 5. Plugin

    이 글은 Tuist 버전 3.9.0 기준으로 작성되었습니다. Plugin? Tuist의 Plugin은 Tuist 기능을 확장하는 데 사용합니다. Plugin 사용법 Tuist에서 Plugin을 사용하기 위해서는 Config.swift에서 Plugin을 정의해야 합니

    baegteun.tistory.com

    'Tuist' 카테고리의 다른 글

    Tuist - Project  (0) 2024.05.28
    Tuist - Workspace  (0) 2024.05.28
    Tuist - 기본  (0) 2024.05.06