Contents

vinhnx/spawn

**spawn** A small command-line tool to quickly tryout a Swift Package Manager (SPM) package locally.

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

before:

$ vapor xcode -y

after:

$ spawn

Installation

🆕 swiftbrew

"A package manager that installs prebuilt Swift command line tool packages, or Homebrew for Swift packages."

$ swift brew install vinhnx/spawn

homebrew

$ brew tap vinhnx/homebrew-formulae
$ brew install spawn

or

$ brew install vinhnx/homebrew-formulae/spawn

Mint

$ mint install vinhnx/spawn

Marathon

$ marathon install vinhnx/spawn

Make

$ git clone https://github.com/vinhnx/spawn.git
$ cd spawn
$ make

Swift Package Manager

$ git clone https://github.com/vinhnx/spawn.git
$ cd spawn
$ swift build -c release
$ cp -f .build/release/spawn /usr/local/bin/spawn
 ```

Help, feedback or suggestions?

Feel free to contact me on Twitter for discussions, news & announcements & other projects. :rocket:

Package Metadata

Repository: vinhnx/spawn

Default branch: master

README: README.md