Upgrade to Pro — share decks privately, control downloads, hide ads and more …

try swift-docc-plugin

try swift-docc-plugin

Swift 5.6 で使えるようになった swift-docc-plugin を試してみる

集まれSwift好き!Swift愛好会 vol.66 @ オンライン - connpass
https://love-swift.connpass.com/event/241579/

0b26590a0a8b0f1da140ed5de9b68379?s=128

USAMI Kosuke

March 17, 2022
Tweet

More Decks by USAMI Kosuke

Other Decks in Programming

Transcript

  1. Swift 5.6 で使えるようになった swift-docc-plugin を試してみる 宇佐見公輔 / 株式会社ゆめみ

  2. 自己紹介 宇佐見 公輔(うさみこうすけ) / @usamik26 株式会社ゆめみ / iOS テックリード 最近、本を書いたりiOS

    の記事を寄稿したりしています。
  3. Swift-DocC

  4. 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 } ` `
  5. Swift 5.6

  6. 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 コマンドを拡張して外部ツールを実行できる ` ` ` `
  7. ビルドツールプラグイン swift build のとき外部ツールを実行できる Package.swift で使いたいプラグインを指定すると自動的に実行される Examples SE-0303 では、以下の例が挙げられている SwiftGen

    でソースコードを生成する SwiftProtobuf でソースコードを生成する ` ` ` `
  8. コマンドプラグイン 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 ` ` ` ` ` ` ` ` ` ` ` `
  9. 注意点 ビルドツールプラグインもコマンドプラグインも、プラグインの準備が必要 既に用意されていれば、それを使うだけでいいので簡単 用意されていなければ、自分でプラグインを記述する必要がある(ちょっと面倒)

  10. swift-docc-plugin

  11. 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 ` ` ` `
  12. プラグインの追加 Package.swift に以下を記述 let package = Package( dependencies: [ .package(url:

    "https://github.com/apple/swift-docc-plugin", from: "1.0.0"), ], targets: [ // targets ] ) これで拡張されたコマンドが使えるようになる ` `
  13. swift package generate-documentation .doccarchive を生成する Xcode でドキュメントを見ることができる ` `

  14. –transform-for-static-hosting オプション swift package generate-documentation --transform-for-static-hosting Web 公開用のドキュメントを生成する GitHub Pages

    でホスティングできる ` `
  15. swift package preview-documentation ローカルでプレビュー用のサーバが起動する ブラウザでドキュメントを見ることができる

  16. まとめ SwiftPM 形式のライブラリやツールでもSwift-DocC が使いやすくなった ドキュメントをWeb 公開する方法もサポートされた