Carthage: Upgrade to Swift 3

Created on 4 Nov 2016  路  7Comments  路  Source: Carthage/Carthage

Xcode 8.2 won't include Swift 2, so now is the time to start upgrading to Swift 3.

enhancement help wanted

Most helpful comment

Dependencies status:

  • [x] ReactiveTask ~> 0.11
  • [x] Commandant ~> 0.11.2
  • [x] PrettyColors ~> 5.0
  • [x] ReactiveSwift ~> 1.0
  • [x] Tentacle ~> 0.5
  • [x] Quick ~> 0.10
  • [x] Nimble ~> 5.1

All 7 comments

Xcode 8.2 still includes Swift 2.3 (that is the final release supporting 2.3) but switching to Swift 3 now should be good anyway.

Dependencies status:

  • [x] ReactiveTask ~> 0.11
  • [x] Commandant ~> 0.11.2
  • [x] PrettyColors ~> 5.0
  • [x] ReactiveSwift ~> 1.0
  • [x] Tentacle ~> 0.5
  • [x] Quick ~> 0.10
  • [x] Nimble ~> 5.1

I'm planning have numerous pre-migration tasks on Swift 2.3 for easier review, those make diff volumes of an actual migration pull request fewer:

  • [x] Adopt API Design Guidelines (mainly functions, methods)

    • #1602, #1605, #1639, #1645, #1646, #1656, #1678, #1683, #1684, #1698

    • #1734

  • [x] Adopt SE-0066 #1609
  • [x] Make enum cases lowerCamelCase

    • [x] CarthageError #1568

    • [x] #1570

    • [x] #1571

    • [x] ProjectEvent #1574

    • [x] ProjectLocator #1575

    • [x] ProjectIdentifier #1576

    • [x] VersionSpecifier #1577

  • [x] Rename URL to url to avoid conflict with Foundation.URL #1612
  • [x] dynamicType -> type(of:) #1566
  • [x] Integrate Runes dependency in advance (comes from Argo 4.x) #1564
  • [x] Shims - Stdlib

    • [x] String #1650

    • [x] Array, Set (Sequence, Collection) #1640

  • [x] Shims - Foundation (Drop NS prefixes using typealias)

    • [x] #1669

    • [x] Bundle #1586

    • [x] CharacterSet #1592

    • [x] ComparisonResult #1594

    • [x] Data, Date and FileHandle #1597

    • [x] FileManager #1591, #1633

    • [x] NSRegularExpression and NSTextCheckingResult #1593

    • [x] NSString #1643

    • [x] ProcessInfo #1598

    • [x] Scanner #1595

    • [x] URL #1630, #1714

    • [x] UUID #1599

  • [x] Shims - Dependencies

    • [x] Commandant #1685, #1735

    • [x] PrettyColors #1613

    • [x] Result #1578, #1675

    • [x] ReactiveTask #1579, #1670

    • [x] ReactiveSwift #1580, #1582, #1584, #1600, #1671, #1711

    • [x] Tentacle #1601

  • Introduce AnyJSON typealias to mitigate AnyObject to Any conversion
  • SE-0091: Implement == operator for Equatable as a static function

    • Can't define on Swift 2.3: Operators are only allowed at global scope 馃槥

  • ...

What's the best way for me to help with this?

It seems that Xcode 8.3 is just around the corner, so we should try to finish this up.

Thank you @mdiep. I'd like to submit an actual migration pull request once #1734 and #1735 are merged.

This should have been done (except for entirely following API Design Guidelines).

馃挅

Was this page helpful?
0 / 5 - 0 ratings