Swiftpack.co - Package - uber/swift-common

Swift Common

Build Status Carthage compatible License


  • Xcode 9.3+
  • Swift 4.0+


Swift-Common contains reusable modules shared among a number of Uber's Swift open source projects, such as Needle, Swift Abstract Class and etc. This code is not specifically designed for external consumption beyond Uber's open source projects. However, it is certainly possible for other projects to depend on these libraries.


This framework contains common code used for filtering and parsing Swift source code.


This framework contains common code for parsing command line arguments.


Since Uber's Swift open source projects use Swift Package Manager this project only supports installation via SPM. Please refer to the standard SPM package setup for details.


First fetch the dependencies:

$ swift package resolve

You can then build from the command-line:

$ swift build

Or create an Xcode project and build using the IDE:

$ swift package generate-xcodeproj


From command-line.

$ swift test

Or you can follow the steps above to generate a Xcode project and run tests within Xcode.

Related projects

If you like Swift Common, check out other related open source projects from our team:

  • Needle: a compile-time safe Swift dependency injection framework.
  • Swift Abstract Class: a light-weight library along with an executable that enables compile-time safe abstract class development for Swift projects.
  • Swift Concurrency: a set of concurrency utility classes used by Uber, inspired by the equivalent java.util.concurrent package classes.


FOSSA Status


Stars: 37

Used By

Total: 0


Sourcekitten dependency removal -

As we've moved to SwiftSyntax, @tianskylan has removed the dependency on SourceKitten

Statically link SwiftToolsSupport -

Statically link SwiftToolsSupport so that dependent packages can distribute easily.

SHA fix -

Unfortunately depending on the core swift tools means that we do get breakage sometimes due to the current version being 0.x.

Latest Changes -