XCTestDocProjectGen 0.0.2

XCTestDocProjectGen 0.0.2

Maintained by Shota Ide.



  • By
  • Shota Ide

XCTest Document Project Generator

What is this?

Xcode のプロジェクトにおけるテストターゲットのドキュメントを生成したいケースがあります。

ところが、Xcode のドキュメント生成機能や Swift-DocCjazzy などのドキュメント生成ツールは、Xcode で直接実行できるターゲットに対してしかドキュメントを生成してくれません。

このツールは、上記のツールでテストターゲットに含まれるファイル群のドキュメントコメントのドキュメントを生成できるようにします。

Base idea

コンセプト解説図

このツールにより、ドキュメント生成に必要な情報だけを記載した動作がない Swift ファイルを生成します。

別のツールにより、上記で生成した Swift ファイル群に対してドキュメント生成を行います。

Install

Xcode プロジェクトの Swift Package Manager を利用して、依存関係として登録します。

let package = Package(
    // name, platforms, products, etc.
    dependencies: [
        // other dependencies
        .package(url: "https://github.com/shotaIDE/xctest-document-project-generate", from: "0.1.0")
    ],
    targets: [
        // targets
    ]
)

さらに、別のツールの Swift-DocC Plugin を依存関係として登録します。

let package = Package(
    // name, platforms, products, etc.
    dependencies: [
        // other dependencies
        .package(url: "https://github.com/shotaIDE/xctest-document-project-generate", from: "0.1.0"),
        .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.1.0")
    ],
    targets: [
        // targets
    ]
)

Usage

以下のコマンドを実行してドキュメント生成用のプロジェクトを作ります。

swift run XCTestDocProjectGen path/to/your/test/swift/directory XCTestDocProject

Note

現在 Swift Package Manager では標準のライブラリ以外を利用してプラグインを開発することが許可されていません。 本ツールでは Swift Syntax などの標準ではないライブラリに依存しているため、現在プラグインとしての利用はサポートされていません。 See https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md#implementing-the-command-plugin-script for more information.

以下のコマンドを実行してドキュメントを生成します。

cd XCTestDocProject
swift package generate-documentation

ドキュメント生成の詳しい内容は、Swift-DocC Plugin のドキュメントを参照してください。