SwiftPackage Plugin for executing arbitrary ShellScript.
- BuildToolPlugin: RunScriptPlugin
- CommandPlugin: RunScriptCommandPlugin
- XcodeBuildToolPlugin: RunScriptPlugin
- XcodeCommandPlugin: RunScriptCommandPlugin
Place the file named runscript.yml
(or .runscript.yml
) in the root of the project.
Write the shell script you want to run in this file.
The format is as follows.
prebuild: # prebuild Command
- name: "Hello"
script: "echo Hello" # Write scripts directly
- name: "Show current path"
script: "pwd"
- name: "Write file"
script: "echo Hello >> test.txt"
- name: "SwiftLint"
launchPath: "/bin/bash" # bash, zsh, etc. can be specified
script: "swiftlint lint --fix"
- name: "SwiftLint" # Another way to write ↑↑
launchPath: "/usr/local/bin/swiftlint"
arguments:
- "lint"
- "--fix"
- name: "Update schema"
file: "update_schema.sh" # Execute .sh file
build: # build Command
- name: "Hello"
script: "echo Hello"
command: # Command Plugin
- name: "Hello from Command"
script: "echo 'Hello from Command'"
all: # run in `prebuild`, `build`...
- name: "Hello(all)"
script: "echo Hello(all)"
- SwiftLint You can run Lint in SPM without using the SwiftLint plugin.
- name: "SwiftLint"
script: "swiftlint lint"
- Build Log
- name: "Build Log"
script: "echo \"[$(date)] Build >> build.log\""
- Theos(Orion) install You can install the Tweak from the Build button in SPM.
- name: "Theos make package and install"
script: "make do"
- SwiftFormat
- name: "SwiftFormat"
script: "swiftformat ."
- SwiftGen
- name: "SwiftGen"
script: "swiftgen config run"