spawn A small command-line tool to quickly tryout a Swift Package Manager (SPM) package locally.
As of Xcode 11, this has been sherlock’ed by Xcode 11 Package support :), as in from Xcode 11 onwards, Xcode will automatically resolve package dependencies and open Xcode project for you, no 3rd party tool needed. But I will keep this tool as learning purpose.
Its job is to check if current repo has any Package.swift and resolve dependencies and then open the Xcode for you.
$ spawn
Completed resolution in 0.22s
📦 ... Everything is already up-to-date
🛠 ... generated: ./spawn.xcodeproj
📂 ... opening updated Xcode project
✅ all done!
NOTE: you might want to close Xcode to have the xed . taking into effect, or chose Revert option from Xcode alert.
Goals
When you want to try out or to edit a SPM package in Xcode, or after adding any new .package under SPM’s package manifest file; you need to either run swift package update or swift package generate-xcodeproj and reload Xcode again.
This small wrapper aims to automate that process.
tldr; before:
$ git clone https://github.com/vinhnx/DictionaryNestedSubscript # clone any Swift Package Manager project
$ cd DictionaryNestedSubscript # change directory to newly cloned repo
$ swift package update # update or resolve package dependencies
$ swift package generate-xcodeproj # generate a .xcodeproj to edit on Xcode
$ xed . # open generated .xcodeproj automatically
after:
$ git clone https://github.com/vinhnx/DictionaryNestedSubscript # clone any Swift Package Manager project
$ cd DictionaryNestedSubscript # change directory to newly cloned repo
$ spawn
TODO: I will be looking at the way to automate cloning from remote repo in the future, for example:
$ spawn https://github.com/vinhnx/DictionaryNestedSubscript # not yet working
Usage
On any Swift package directory, after git clone:
$ spawn
Vapor
You can use spawn as replacement for Vapor’s vapor xcode -y command
spawn
spawn A small command-line tool to quickly tryout a Swift Package Manager (SPM) package locally.
As of Xcode 11, this has been sherlock’ed by Xcode 11 Package support :), as in from Xcode 11 onwards, Xcode will automatically resolve package dependencies and open Xcode project for you, no 3rd party tool needed. But I will keep this tool as learning purpose.
Its job is to check if current repo has any
Package.swift
and resolve dependencies and then open the Xcode for you.(works with Vapor, too)
NOTE: you might want to close Xcode to have the
xed .
taking into effect, or choseRevert
option from Xcode alert.Goals
When you want to try out or to edit a SPM package in Xcode, or after adding any new
.package
under SPM’s package manifest file; you need to either runswift package update
orswift package generate-xcodeproj
and reload Xcode again.This small wrapper aims to automate that process.
tldr; before:
after:
TODO: I will be looking at the way to automate cloning from remote repo in the future, for example:
Usage
On any Swift package directory, after
git clone
:Vapor
You can use spawn as replacement for Vapor’s
vapor xcode -y
commandbefore:
after:
Installation
🆕 swiftbrew
“A package manager that installs prebuilt Swift command line tool packages, or Homebrew for Swift packages.”
homebrew
or
Mint
Marathon
Make
Swift Package Manager
Related projects
If you like this tool, checkout my vintage, it’s a tool to check for any outdated packages.
Combo:
I hope you like it! :)
Help, feedback or suggestions?
Feel free to contact me on Twitter for discussions, news & announcements & other projects. 🚀