Upgrade to Pro — share decks privately, control downloads, hide ads and more …

3 Ways to Manage Your Dependencies

3 Ways to Manage Your Dependencies

Brooklyn Swift Developers Talk

Satoshi Hachiya

September 07, 2016
Tweet

More Decks by Satoshi Hachiya

Other Decks in Programming

Transcript

  1. Overview • Self-introduction • Existing popular dependency managers - CocoaPods

    and Carthage • Each of the movements after publishing Swift Package Manager
 (SwiftPM, SPM) • The status of Swift Package Manager
  2. Why am I JPMartha $ ? • I like a

    Japanese fighter called Ϛʔα (in Japanese) • Maybe Ϛʔα (in Japanese) is Martha in English • But...
  3. Possible useful tools • Molinillo: Dependency resolver • https://github.com/CocoaPods/Molinillo •

    Trunk: Web-service • https://github.com/CocoaPods/trunk.cocoapods.org
  4. SwiftPM Talks Boris Bügling - @NeoNacho • https://speakerdeck.com/neonichu/swift-package-manager • https://realm.io/news/altconf-boris-bugling-cross-platform-swift/

    JP Simard - @simjp • https://realm.io/news/tryswift-jp-simard-practical-cross-platform-swift/ Honza Dvorsky - @czechboy0 • https://honzadvorsky.com/articles/2016-06-30-19-00- nslondon_swift_package_manager/
  5. Blog, Slack Ankit Aggarwal - @aciidb0mb3r • https://ankit.im Swift Package

    Manager Slack Team • https://swift-package-manager.herokuapp.com/
  6. WWDC 2016 Videos Session 102: Platforms State of the Union

    • https://developer.apple.com/videos/play/wwdc2016/102/ • The Package Manager's a great way to build, share, and reuse cross-platform packages. Session 415: Going Server-side with Swift Open Source • https://developer.apple.com/videos/play/wwdc2016/415/
  7. Project Status Significant limitations: • Deployment binaries built with the

    package manager • SR-648, SR-674, SR-1968, SR-2048 • We are missing important workflows for a number of typical development scenarios: • SR-666, SE-0082, SR-679
  8. Future Directions • Editable packages: SE-0082 • Branch support: SR-666

    • Focused improvements to the Xcode project generator: 
 SR-1653, SR-1655, SR-1740, SR-1741 • Improvements to build consistency: SR-1708, SR-2182 • Improvements to documentation: SR-2179, SR-1586 • Improvements to diagnostics and usability: 
 SR-879, SR-1388, SR-2261, SR-2270, SR-2271
  9. README Generator Make Easy for You to Create a README.md

    of New Project ! • It duplicates an existing README.md • It replaces strings (e.g. Name) in a README.md
  10. Find it Help You Out of "image not found” !

    • It searches for a specified file in some directories. • It makes easy to compare our Xcode Build Settings and find a mistake.
  11. Version Strings Updater Make Easy for You to Update Version

    Strings in Specified Files ! 1c1 < DEVELOPMENT-SNAPSHOT-2016-05-31-a --- > DEVELOPMENT-SNAPSHOT-2016-06-06-a
  12. Development Snapshots Installer Make Easy for You to Install New

    Development Snapshots ! • It downloads a specified Developer Snapshot into your current working directory. • It installs the package via the sudo command. • It removes the pkg file.
  13. try! Swift 3.0 Make Easy for You to Set Environment

    Variables Swift 3.0 ! But, this is another shell script. (Bash)
  14. Summary • CocoaPods is in development. • Carthage is in

    development. • Swift Package Manager is still in early design and development. • Let’s working together towards best solutions for the iOS community! • Let’s spread our wings in the world!