Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate SiestaUI module & directory reorg #102

Merged
merged 5 commits into from Aug 24, 2016
Merged

Conversation

pcantrell
Copy link
Member

This PR splits the Siesta module into two modules, Siesta and SiestaUI. The latter contains RemoteImageView and ResourceStatusOverlay, and is iOS-only (at least for now).

These is now a separate SiestaUI framework in the Xcode project, and a separate Siesta/UI subspec in the podspec.

This PR also includes some other minor file reorg & cleanup.

Advantages

  • This is a nicer directory layout.
  • The new directory layout anticipates the Swift Package Manager, which won’t be able to build the UI helpers (because SwiftPM won’t support iOS for the foreseeable future).
  • It gives room for the UI helper code to grow, and perhaps be spun off into a separate project in the future.
  • It sets up precedent for other optional / ancillary modules.

The big reason to do this now is that (1) it comes with a directory re-org and (2) Swift 3 is imminent. Moving all these files while still in the 2.2 branch of the code will greatly ease porting of any fixes to and from the 3.0 branch.

Drawbacks

Clients that use Carthage or build from the Xcode project directly will now need to import a second module to use UI helpers:

import Siesta
import SiestaUI

However, Cocoapods bundles all subspecs into a single framework, so client apps that use Cocoapods will still only import Siesta. This is potentially confusing. Anyone know if there’s a way to make a subspec build a separate framework?

@pcantrell pcantrell merged commit ca3e2f9 into master Aug 24, 2016
@pcantrell pcantrell deleted the directory-reorg branch August 24, 2016 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant