manifestation 是一个命令行工具,用于解析 Swift Package 清单(Package.swift 文件)的内容,并根据它生成报告。
git clone https://github.com/atierian/manifestation.git
或者,如果您喜欢,可以使用 SSH。
cd manifestation
然后决定是否要全局安装它。 如果是,您将运行
swift build --configuration release
cp -f .build/release/manifestation /usr/local/bin/manifestation
如果您不想全局安装,您只需要在下面列出的命令前加上 swift run
,例如:
swift run manifestation ~/Projects/FooKit --dump
OVERVIEW: Parse a Package.swift manifest.
USAGE: manifestation <path> [--dump] [--verbose]
ARGUMENTS:
<path> The absolute path to the Package.swift. e.g. '~/Foo/Bar
OPTIONS:
-d, --dump Dump the entire package manifest
-v, --verbose Verbose logging. This will print all events from the 'ObservabilitySystem'
-h, --help Show help information.
提供包含您的 Package.swift
的目录的绝对路径。 例如,如果您有一个 Package.swift
在 /Users/Foo/Projects/FooKit/Package.swift
,您将运行
manifestation /Users/Foo/Projects/FooKit --verbose
或 manifestation ~/Projects/FooKit --verbose
这是来自 manifestation
的 Package.swift
的输出示例
Loading manifest: [debug]: evaluating manifest for 'manifestation' v. unknown
Loading manifest: [debug]: loading manifest for 'manifestation' v. unknown from cache
Loading manifest: [debug]: loading manifest for 'manifestation' v. unknown from cache
Loading manifest: [debug]: evaluating manifest for 'swift-argument-parser' v. unknown
Loading manifest: [debug]: evaluating manifest for 'swift-package-manager' v. unknown
Loading manifest: [debug]: evaluating manifest for 'swift-llbuild' v. unknown
Loading manifest: [debug]: evaluating manifest for 'swift-crypto' v. 1.1.7
Loading manifest: [debug]: evaluating manifest for 'swift-system' v. 1.1.1
Loading manifest: [debug]: evaluating manifest for 'swift-collections' v. 1.0.2
Loading manifest: [debug]: evaluating manifest for 'swift-tools-support-core' v. unknown
Loading manifest: [debug]: evaluating manifest for 'swift-driver' v. unknown
Loading manifest: [debug]: evaluating manifest for 'yams' v. 4.0.6
Validating package dependencies: [info]: dependency on 'swift-argument-parser' is represented by similar locations ('https://github.com/apple/swift-argument-parser' and 'https://github.com/apple/swift-argument-parser.git') which are treated as the same canonical location 'github.com/apple/swift-argument-parser'.
>>>>> Products <<<<<
Name: manifestation
- Type: executable
- Targets: ["Manifestation"]
>>>>> Targets <<<<<
Name: Manifestation
- Type: executable
- Dependencies: [ ArgumentParser, SwiftPM ]
- Path:
- URL:
- Settings: []
- Exclude: []
- Resources: []
Name: ManifestationTests
- Type: test
- Dependencies: [ Manifestation ]
- Path:
- URL:
- Settings: []
- Exclude: []
- Resources: []
使用 --dump
标志会将整个 Manifest
对象转储到您的控制台中,从而提供大量详细信息。
非常欢迎贡献。 打开一个 issue 进行讨论,或直接提交 PR。 计划添加的功能会在 Issues 中跟踪。