/swift-common

Common code used by various Uber open source projects

Primary LanguageSwiftApache License 2.0Apache-2.0

Swift Common

Build Status Carthage compatible License

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 fetch

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.

License

FOSSA Status