Files
iris-context/commands/cc/swift.go
T
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

107 lines
7.5 KiB
Go

package cc
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "swift",
Description: "Show help information",
Subcommands: []spec.Subcommand{
{Name: "build", Description: "Build sources into binary products"},
{Name: "target", Description: "The name of the target to build"},
{Name: "product", Description: "The name of the product to build"},
{Name: "run", Description: "Build and run an executable product"},
{Name: "executable", Description: "The executable to run"},
{Name: "arguments", Description: "The arguments to pass to the executable"},
{Name: "test", Description: "Build and run tests"},
{Name: "num-workers", Description: "Number of tests to execute in parallel"},
{Name: "regex", Description: "<test-target>.<test-case> or <test-target>.<test-case>/<test>"},
{Name: "path", Description: "Path where the xUnit xml file should be generated"},
{Name: "package", Description: "Perform operations on Swift packages"},
{Name: "flag", Description: "The flag to pass through to all C compiler invocations"},
{Name: "configuration", Description: "The build configuration"},
{Name: "mode", Description: "The caching mode"},
{Name: "triple", Description: "The compilation destination's target triple"},
{Name: "type", Description: "What to sanitize"},
{Name: "jobs", Description: "The number of jobs to spawn in parallel during the build process"},
{Name: "build system", Description: "The build system to use"},
{Name: "clean", Description: "Delete build artifacts"},
{Name: "purge-cache", Description: "Purge the global repository cache"},
{Name: "reset", Description: "Reset the complete cache/build directory"},
{Name: "update", Description: "Update package dependencies"},
{Name: "describe", Description: "Describe the current package"},
{Name: "init", Description: "Initialize a new package"},
{Name: "name", Description: "The package name"},
{Name: "experimental-api-diff", Description: "Diagnose API-breaking changes to Swift modules in a package"},
{Name: "treeish", Description: "The baseline treeish to compare to (e.g. a commit hash, branch name, tag, etc.)"},
{Name: "dump-symbol-graph", Description: "Dump Symbol Graph"},
{Name: "dump-pif", Description: "Dump PIF"},
{Name: "dump-package", Description: "Print parsed Package.swift as JSON"},
{Name: "edit", Description: "Put a package in editable mode"},
{Name: "revision", Description: "The revision to edit"},
{Name: "branch", Description: "The branch to create"},
{Name: "unedit", Description: "Remove a package from editable mode"},
{Name: "package-name", Description: "The name of the package to unedit"},
{Name: "config", Description: "Manipulate configuration of the package"},
{Name: "set-mirror", Description: "Set a mirror for a dependency"},
{Name: "package-url", Description: "The package dependency url"},
{Name: "original-url", Description: "The original url"},
{Name: "unset-mirror", Description: "Remove an existing mirror"},
{Name: "get-mirror", Description: "Print mirror configuration for the given package dependency"},
{Name: "resolve", Description: "Resolve package dependencies"},
{Name: "version", Description: "The version to resolve at"},
{Name: "show-dependencies", Description: "Print the resolved dependency graph"},
{Name: "format", Description: "The format type"},
{Name: "tools-version", Description: "Manipulate tools version of the current package"},
{Name: "tools version", Description: "The tools version"},
{Name: "generate-xcodeproj", Description: "Generates an Xcode project (this command will be deprecated soon)"},
{Name: "compute-checksum", Description: "Compute the checksum for a binary artifact"},
{Name: "archive-source", Description: "Create a source archive for the package"},
},
Options: []spec.Option{
{Name: "--help", Description: "Show help information"},
{Name: "--version", Description: "Show the version"},
{Name: "-access-notes-path", Description: "Specify YAML file to override attributes on Swift declarations in this module"},
{Name: "-assert-config", Description: "Specify the assert_configuration replacement"},
{Name: "-async-main", Description: "Resolve main function as if it were called from an asynchronous context"},
{Name: "-clang-target", Description: "Separately set the target we should use for internal Clang instance"},
{Name: "-color-diagnostics", Description: "Print diagnostics in color"},
{Name: "-coverage-prefix-map", Description: "Remap source paths in coverage info"},
{Name: "-debug-info-format", Description: "Specify the debug info format type"},
{Name: "-debug-info-store-invocation", Description: "Emit the compiler invocation in the debug info"},
{Name: "-debug-prefix-map", Description: "Remap source paths in debug info"},
{Name: "-diagnostic-style", Description: "The formatting style used when printing diagnostics"},
{Name: "-disable-clang-target", Description: "Disable a separately specified target triple for Clang instance to use"},
{Name: "-disable-incremental-imports", Description: "Disables incremental build optimization that only produces one dependencies file"},
{Name: "-disallow-use-new-driver", Description: "Disable using new swift-driver"},
{Name: "-D", Description: "Marks a conditional compilation flag as true"},
{Name: "-embed-tbd-for-module", Description: "Embed symbols from the module in the emitted tbd file"},
{Name: "-enable-bare-slash-regex", Description: "Enable the use of forward slash regular-expression literal syntax"},
{Name: "-enable-incremental-imports", Description: "Build the module to allow binary-compatible library evolution"},
{Name: "-enforce-exclusivity", Description: "Enforce law of exclusivity"},
{Name: "-experimental-cxx-stdlib", Description: "C++ standard library to use; forwarded to Clang's -std lib flag"},
{Name: "-file-compilation-dir", Description: "The compilation directory to embed in the debug info"},
{Name: "-file-prefix-map", Description: "Remap source paths in debug, coverage, and index info"},
{Name: "-framework", Description: "Specifies a framework which should be linked against"},
{Name: "-Fsystem", Description: "Add directory to system framework search path"},
{Name: "-F", Description: "Add directory to framework search path"},
{Name: "-gdwarf-types", Description: "Emit full DWARF type info"},
{Name: "-gline-tables-only", Description: "Emit minimal debug info for backtraces only"},
{Name: "-gnone", Description: "Don't emit debug info"},
{Name: "-g", Description: "Emit debug info. This is the preferred setting for debugging with LLDB"},
{Name: "-index-ignore-clang-modules", Description: "Avoid indexing clang modules (pcms)"},
{Name: "-index-store-path", Description: "Store indexing data to path"},
{Name: "-index-unit-output-path", Description: "Use the specified path as the output path in the produced index data"},
{Name: "-I", Description: "Add directory to the import search path"},
{Name: "-j", Description: "Number of commands to execute in parallel"},
{Name: "-libc", Description: "The libc runtime library to use"},
{Name: "-locale", Description: "Choose a language for diagnostic messages"},
{Name: "-localization-path", Description: "Path to localized diagnostic messages directory"},
{Name: "-L", Description: "Add directory to library link search path"},
{Name: "-l", Description: "Specifies a library which should be linked against"},
},
})
}