manifestation

概述

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 --verbosemanifestation ~/Projects/FooKit --verbose

这是来自 manifestationPackage.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 中跟踪。