[swift] Swift Sourcery 플러그인 개발 방법

Sourcery는 Swift의 코드 생성 도구로서, 소스 코드를 분석하여 기본 코드를 생성하거나 추가 코드를 자동으로 추가하는 등 다양한 작업을 수행할 수 있습니다. 이 문서에서는 Swift Sourcery의 플러그인을 개발하는 방법에 대해 알아보겠습니다.

1. 플러그인 프로젝트 생성

Sourcery 플러그인을 개발하기 위해서는 먼저 새로운 Swift 프로젝트를 생성해야 합니다. 아래의 명령어를 사용하여 프로젝트를 생성합니다.

$ mkdir MyPlugin
$ cd MyPlugin
$ swift package init --type library

위 명령어를 실행하면 MyPlugin 디렉토리에 새로운 Swift 패키지 프로젝트가 생성됩니다.

2. 플러그인 작성

Sourcery 플러그인은 Swift 프로젝트의 패키지로 생성되며, 주로 Runner/main.swift 파일에 플러그인 코드를 작성합니다. 이 파일은 Sourcery로 실행될 때 플러그인 코드가 실행되는 진입점입니다.

아래는 간단한 플러그인 코드의 예시입니다.

import SourceryFramework

class MyPlugin: ExampleRunnerDelegate {
    func process(result: [String: NSObject]) {
        // 플러그인 작업 수행
    }
}

let runner = ExampleRunner(delegate: MyPlugin())
runner.run()

위 코드는 Sourcery 프레임워크를 가져오고, ExampleRunnerDelegate 프로토콜을 채택하는 MyPlugin 클래스를 정의합니다. process(result:) 메소드 내에서 실제 플러그인 작업을 수행하도록 작성합니다. 마지막으로, ExampleRunner를 생성하고 플러그인을 실행하는 run() 메소드를 호출합니다.

3. 플러그인 빌드 및 설치

플러그인 코드를 작성한 후에는 빌드하여 실행 가능한 파일을 생성해야 합니다. 아래의 명령어를 사용하여 플러그인을 빌드합니다.

$ swift build --product MyPluginExecutable

위 명령어를 실행하면 .build/debug/MyPluginExecutable 경로에 플러그인 실행 파일이 생성됩니다.

빌드된 플러그인을 Sourcery에 설치하려면 해당 파일을 Sourcery가 실행되는 디렉토리에 복사하면 됩니다.

4. 플러그인 실행

Sourcery가 설치된 디렉토리로 이동한 후, 아래 명령어를 사용하여 플러그인을 실행합니다.

$ sourcery

Sourcery가 실행될 때 등록된 플러그인이 자동으로 로드되어 코드 생성 작업을 수행합니다.

5. 참고 자료

  1. Sourcery GitHub Repository
  2. Sourcery Documentation
  3. Sourcery Templates
  4. Using Sourcery with Swift Package Manager

위의 참고 자료를 통해 더 자세한 정보를 얻을 수 있습니다.