โก A fast, lightweight precompiler for Swift
- Add Rust's
includeStr!like functionality to Swift with theprecompileIncludeStrfunction
Cargo:
cargo install swift-precompilerRun swift-precompiler init to initialise a config file swift-precompiled.toml with the default values
Available options:
dirs- An array of directories to search for Swift source files that require precompilationpath_aliases- A dictionary of path aliases to use in precompile calls
Example:
dirs = ["Cider/", "CiderPlaybackAgent/"]
[path_aliases]
# "@" as a path alias refers to the current working directory in most cases
"@" = "./"Including a file as a string literal at compile time:
let javaScript = precompileIncludeStr("path/to/file.js")Include a file as a Data at compile time:
let image = precompileIncludeData("path/to/image.png")Run swift-precompiler to precompile all Swift files in the directories specified in the config file
swift-precompiler precompileXcode build phase:
$HOME/.cargo/bin/swift-precompiler precompile --xcode-script-renderer --config $SRCROOT/swift-precompiled.tomlYou should add Precompiled.swift to your .gitignore
Swift Precompiler encodes your strings with Base64, you can add swift-extras-base64 to your project using SPM to enable faster Base64 decode.
