Swift Common
Requirements
- Xcode 9.3+
- Swift 4.0+
Overview
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.
SourceParsingFramework
This framework contains common code used for filtering and parsing Swift source code.
CommandFramework
This framework contains common code for parsing command line arguments.
Installation
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.
Building
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
Testing
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.