🔥 Swift Package Collections 배포하기
Swift Package Manager는 누구나 Package Collection을 만들어서 배포할 수 있습니다. swift-package-collection-generator 프로젝트는 Package Collection 배포자들을 위한 도구들을 제공하고 있어요.
package-collection-generate
: Package URL 목록을 받아서 Package Collection을 생성해 줍니다.package-collection-sign
: Package Collection에 서명을 합니다.package-collection-validate
: Package Collection에 대해 기본적인 유효성 검사를 수행합니다.package-collection-diff
: 두 개의 Package Collection을 비교해서 내용물이 다른지 확인합니다.
이 도구들을 활용하면 Package Collection을 손쉽게 생성하고 관리할 수 있겠죠?
예를 들어, package-collection-generate
명령어를 사용하면 다음과 같이 Package Collection을 만들 수 있습니다.
$ package-collection-generate collection.json \\ --name "My Packages" \\ --overview "My awesome packages" \\ --packages <https://github.com/mona/LinkedList> \\ --packages <https://github.com/mona/StringUtils>
shell
이 명령은 collection.json
파일을 생성하는데, 그 안에는 name
, overview
, 그리고 packages
에 명시한 Package URL들이 포함됩니다.
{ "name": "My Packages", "overview": "My awesome packages", "keywords": [ "Swift", "Package Collection" ], "packages": [ { "url": "<https://github.com/mona/LinkedList>", ... }, { "url": "<https://github.com/mona/StringUtils>", ... } ] }
json
생성된 Package Collection 파일은 package-collection-sign
명령으로 서명할 수 있고, package-collection-validate
로 유효성을 검증할 수도 있습니다.
Package Collection을 업데이트할 때는 package-collection-diff
명령으로 변경사항을 쉽게 파악할 수 있습니다. 두 버전의 Package Collection 파일을 비교해서 추가되거나 제거된 Package를 알려주니까요.
이렇게 생성된 Package Collection 파일은 웹 서버에 업로드해서 다른 개발자들과 공유할 수 있습니다. 그러면 다른 개발자들은 Swift Package Manager의 Add Package Collection
기능을 통해 내 Package Collection을 추가하고 활용할 수 있게 되는 거죠.
Package Collection Generator 에 대한 자세한 내용은 아래 URL에서 확인할 수 있습니다.