Skip to content
The source list of repositories for the SwiftPM Library.
Branch: master
Clone or download
daveverwer Merge pull request #93 from Balancingrock/master
Added the Balancingrock github projects
Latest commit 853ef5c Aug 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis.yml Added blank line at the end of .travis.yml. Aug 12, 2019
LICENSE Added a LICENSE and README. May 14, 2019
README.md Updated README to add information about Travis. Aug 12, 2019
packages.json Merge pull request #93 from Balancingrock/master Aug 20, 2019

README.md

Build Status

Do you maintain a Swift package? I'd love to get your opinion on an idea. The results from this survey are also available here.

The SwiftPM Library

This repository powers the list of packages indexed and monitored by the SwiftPM Library. The intention of this repository is to build a complete list of packages that support the Swift Package Manager.

At some point, this list may be able to be replaced with an official list supplied by Apple and/or GitHub but until then, this is better than nothing.

Adding packages

Please do submit your own, or other people's repositories to this list. There are a few requirements, but they are simple:

  • Packages must have a Package.swift file (obviously?) in the root of the repository.
  • Packages must be written in Swift 4.0 or later.
  • Packages should compile without errors. Actually, this isn't a strict requirement but it's probably a good idea since you're about to add it to a package directory.
  • Packages should output valid JSON when swift package dump-package is run with the latest version of the Swift tools. Please check that you can execute this command in the root of the package directory before submitting.
  • The full HTTPS clone URL for the repository should be submitted, including the .git extension.
  • Packages can be on any publicly available git repository, not just GitHub. Just add the full HTTPS clone URL.

Note: There's no gatekeeping or quality threshold to be included in this list. The library itself sorts package search results by a number of metrics to place mature, good quality packages higher in the results.

How do you add a package?

It's simple. Just fork this repository, edit the JSON, and submit a pull request. If you plan to submit a set of packages, there is no need to submit each package in a separate pull request. Feel free to bundle multiple updates at once as long as all packages match the criteria above.

JSON validation

Travis has been configured to validate JSON for every pull request. If you would like to run this validation locally before submitting, the commands to verify and sort JSON are listed below. These commands use jq to do this.

To validate:

jq -e . packages.json > /dev/null

Then, to sort:

echo "$(jq 'sort_by(ascii_downcase)' packages.json)" > packages.json
You can’t perform that action at this time.