- 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
$ swift test
Or you can follow the steps above to generate a Xcode project and run tests within Xcode.
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.
You may find interesting
Sourcekitten dependency removal -
As we've moved to
SwiftSyntax, @tianskylan has removed the dependency on SourceKitten
Statically link SwiftToolsSupport -
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.