🔥 ArgumentParser를 Dependency로 추가하기

209자
3분

Swift Argument Parser를 사용해 커맨드 라인 도구를 만들어 보겠습니다. count라는 도구를 만들어 입력 파일을 읽고, 단어 수를 세어, 결과를 출력 파일에 쓰는 기능을 구현해 볼 거예요.

먼저 Swift 패키지 매니저(SPM)을 사용해 새로운 패키지를 생성해 보겠습니다. 터미널에서 다음 명령을 실행하세요:

mkdir Count
cd Count
swift package init --type executable
 
shell

위 명령은 "Count"라는 디렉토리를 생성하고, 그 안에서 실행 파일 타입의 Swift 패키지를 초기화합니다. 이제 "Package.swift" 파일을 열어 swift-argument-parser를 패키지 의존성으로 추가하고, 실행 파일 타깃 의존성으로 "ArgumentParser"를 포함시켜야 합니다. 최종적으로 "Package.swift" 파일은 다음과 같이 작성할 수 있어요:

// swift-tools-version:5.5
import PackageDescription
 
let package = Package(
    name: "Count",
    dependencies: [
        .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.3.0"),
    ],
    targets: [
        .executableTarget(
            name: "count",
            dependencies: [
                .product(name: "ArgumentParser", package: "swift-argument-parser")
            ])
    ]
)
 
swift

위 코드를 자세히 살펴보면:

  1. // swift-tools-version:5.5 주석은 Swift 5.5 버전을 사용한다는 걸 나타냅니다.
  2. import PackageDescription으로 Swift 패키지 매니저 Package 타입을 가져옵니다.
  3. Package 인스턴스를 생성하고 패키지 이름을 "Count"로 지정합니다.
  4. dependencies 배열에 swift-argument-parser 패키지 URL과 버전 조건(1.3.0 이상)을 추가합니다.
  5. targets 배열에는 executableTarget을 추가해 "count"라는 실행 파일을 생성하도록 합니다.
  6. 실행 파일 타깃 dependencies에는 swift-argument-parser 패키지 ArgumentParser 프로덕트를 추가합니다.

이렇게 패키지 의존성을 설정하면 ArgumentParser 프레임워크를 사용할 준비가 됩니다.

lecture image

위 다이어그램은 우리가 설정한 패키지 구조입니다. Package.swift 파일이 패키지 이름, 의존성, 실행 파일과 테스트 타깃을 정의하고 있어요.