27
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自作パッケージをSwift Package Indexに追加する方法

Last updated at Posted at 2021-06-21

「Swift Packagesによるライブラリの作成方法」は4部構成です。
記事を順番に読み進めると、Swift Packagesでライブラリを自作して公開できるようになります。


「Swift PackagesによるCLIツールの作成方法」は5部構成です。
記事を順番に読み進めると、Swift PackagesでCLIツールを自作して公開できるようになります。

第1部: Swift PackagesでCLIツールを自作する
第2部: 自作パッケージをSwift Package Indexに追加する ←イマココ
第3部: 自作パッケージをMintに対応する
第4部: 自作パッケージをHomebrewに追加する(未投稿)
第5部: 自作パッケージをCocoaPodsに追加する(未投稿)

はじめに

自作パッケージをSwift Package Indexに追加する方法を紹介します。

「Swift Package Index」とは?

公式サイトのFAQを直訳すると「Swift Package Managerをサポートする、パッケージの検索エンジン」です。

パッケージを検索して、そのパッケージに関する様々な情報を得ることができるサイトです。

環境

  • OS: macOS Sonoma 14.2.1
  • Xcode:15.3 (15E204a)
  • Swift:5.10
  • swift-tools:5.10

Swift Package Indexへの追加方法

Swift Package IndexへはPRを作成して手動で追加を依頼する必要があるので、その手順を紹介します。

(2024/04/20, 追記)
PRでなくIssueを作成する方法に変わっていたので、記事を全体的に修正しました。

パッケージを自作する

Swift Package Indexへは他人が作成したパッケージを追加することもできるようですが、やはり自作パッケージがなければ始まりません。

以下の記事を参考にパッケージを自作します。

Issueを作成する

パッケージを自作したら、以下のページから「Add Package(s)」を選択してIssueを作成します。

スクリーンショット_2024-04-20_20_15_48.png

IssueのタイトルとリポジトリのURLを入力し、「Submit new issue」を押下します。

  • Add a title
    • Issueのタイトルを書く。 Add {パッケージ名} とする
  • New Packages
    • リポジトリのURLを書く

スクリーンショット_2024-04-16_1_53_19.png

Issueが作成されます。

スクリーンショット 2024-04-16 1.53.58.png

PRをApproveする

入力した情報を元にbotがPRを作成するので、リンクを押下して開きます。

スクリーンショット_2024-04-16_1_54_42.png

スクリーンショット 2024-04-16 1.55.03.png

内容を確認し、問題なければ「Approve」を選択して「Submit review」を押下します。

スクリーンショット_2024-04-16_1_57_00.png

問題なければメンバーの方がマージしてくださります。

スクリーンショット 2024-04-16 1.58.59.png

私の場合は数分でマージされました。

Swift Package Indexでできること

PRがマージされたらSwift Package Indexに自作パッケージのページができます :tada:

Swift Package Indexでできることを抜粋して紹介します。

様々な環境でビルドしてバッジ化される

様々なプラットフォーム、Swiftのバージョン、ソース(最新タグとデフォルトブランチ)の組み合わせでビルドし、成否とログを確認できます。
スクリーンショット 2021-06-21 23.15.49.png

CIが成功してからパッケージをリリースすることが多いとは思いますが、すべての組み合わせを網羅することはなかなかないので、非常にありがたいです。

ビルドに成功した環境がバッジ化されるので、READMEに付けるとどの環境で使えるかがすぐにわかります。


ちなみに新しいバージョンをリリースしたら自動で再ビルドしてくれます。
手動でリリースを伝える必要はありません。

同じ作者で他のパッケージを見れる

Xcode 13で追加された「Package Collections」という仕組みがあり、複数のパッケージをJSONファイルにまとめることでパッケージを探しやすくなります。

Swift Package Indexでは同じ作者のパッケージをまとめたコレクションのJSONファイルを自動で作成してくれます。

その場でパッケージを試せる

「Try in a Playground」をクリックすることで、パッケージがセットアップされた状態でPlaygroundが起動し、すぐにパッケージを試すことができます。

spi-playgrounds://open?dependencies=uhooi/swift-string-transform

事前にSwift Package Index Playgrounds appをインストールする必要があります。

おわりに

自作パッケージをSwift Package Indexに追加することができました!
自分のパッケージが素晴らしいサイトに載るのはとても嬉しいです :relaxed:

Swift Package Indexは非常に便利なサイトなので、パッケージを自作していない人もぜひ活用してみてください!

参考リンク

27
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?