Swift 5.6 で使えるようになった swift-docc-plugin を試してみる / try swift-docc-plugin
by
USAMI Kosuke
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Swift 5.6 で使えるようになった swift-docc-plugin を試してみる 宇佐見公輔 / 株式会社ゆめみ
Slide 2
Slide 2 text
自己紹介 宇佐見 公輔(うさみこうすけ) / @usamik26 株式会社ゆめみ / iOS テックリード 最近、本を書いたりiOS の記事を寄稿したりしています。
Slide 3
Slide 3 text
Swift-DocC
Slide 4
Slide 4 text
Swift-DocC Swift-DocC : Swift のドキュメント生成ツール、オープンソースで公開されている CLI の docc コマンドで利用できる、またXcode に標準で組み込まれている ドキュメントコメントの例: /// 用意された特製のナマケモノ向け食糧を食べる。 /// /// - Parameters: /// - food: ナマケモノが食べる食糧。 /// - quantity: ナマケモノが食べる食糧の数。 /// - Returns: 食べた後のナマケモノのエネルギー量。 mutating public func eat(_ food: Food, quantity: Int = 1) -> Int { energyLevel += food.energy * quantity return energyLevel } ` `
Slide 5
Slide 5 text
Swift 5.6
Slide 6
Slide 6 text
Swift 5.6 2022-03-15 (日本時間)リリース 同じ日にリリースされたXcode 13.3 に付属 言語としてのアップデートもあるが、個人的には Swift Package Manager の機能が気になる Swift Package Manager SwiftPM 5.6 Release Notes SwiftPM にプラグイン機能が新しく追加された SE-0303 ビルドツールプラグイン: swift build のとき外部ツールを実行できる SE-0332 コマンドプラグイン: swift package コマンドを拡張して外部ツールを実行できる ` ` ` `
Slide 7
Slide 7 text
ビルドツールプラグイン swift build のとき外部ツールを実行できる Package.swift で使いたいプラグインを指定すると自動的に実行される Examples SE-0303 では、以下の例が挙げられている SwiftGen でソースコードを生成する SwiftProtobuf でソースコードを生成する ` ` ` `
Slide 8
Slide 8 text
コマンドプラグイン swift package コマンドを拡張して外部ツールを実行できる Package.swift で使いたいプラグインを指定するとコマンドが拡張される コマンドは swift package do-something という形式になる Examples SE-0332 では、以下の例が挙げられている ドキュメント生成: swift package generate-documentation ソースコード整形: swift package format-source-code Zip アーカイブ作成: swift package create-distribution-archive ` ` ` ` ` ` ` ` ` ` ` `
Slide 9
Slide 9 text
注意点 ビルドツールプラグインもコマンドプラグインも、プラグインの準備が必要 既に用意されていれば、それを使うだけでいいので簡単 用意されていなければ、自分でプラグインを記述する必要がある(ちょっと面倒)
Slide 10
Slide 10 text
swift-docc-plugin
Slide 11
Slide 11 text
swift-docc-plugin SwiftPM からSwift-DocC を実行できるコマンドプラグイン Swift 5.6 と同じ日にバージョン1.0.0 がリリース apple/swift-docc-plugin SwiftDocCPlugin | Documentation コマンドプラグインで追加されるコマンド swift package generate-documentation swift package preview-documentation ` ` ` `
Slide 12
Slide 12 text
プラグインの追加 Package.swift に以下を記述 let package = Package( dependencies: [ .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"), ], targets: [ // targets ] ) これで拡張されたコマンドが使えるようになる ` `
Slide 13
Slide 13 text
swift package generate-documentation .doccarchive を生成する Xcode でドキュメントを見ることができる ` `
Slide 14
Slide 14 text
–transform-for-static-hosting オプション swift package generate-documentation --transform-for-static-hosting Web 公開用のドキュメントを生成する GitHub Pages でホスティングできる ` `
Slide 15
Slide 15 text
swift package preview-documentation ローカルでプレビュー用のサーバが起動する ブラウザでドキュメントを見ることができる
Slide 16
Slide 16 text
まとめ SwiftPM 形式のライブラリやツールでもSwift-DocC が使いやすくなった ドキュメントをWeb 公開する方法もサポートされた