home-assistant / Iconic

:art: Auto-generated icon font library for iOS, watchOS and tvOS
Apache License 2.0
1.58k stars 86 forks source link

Swift 3 Support #62

Closed dzenbot closed 7 years ago

dzenbot commented 7 years ago

Closes https://github.com/dzenbot/Iconic/issues/56

After all, there was no need to update SwiftGen, but only the stencil (aka template). This is because the SwiftGen executale is already compiled and versioned on this repo, which makes things much more easier. We used to compile SwiftGen at every pod install, but this was causing issues at times and it was failing when using the newest Swift compilers. The SwiftGen fork will eventually need to be updated/fixed, and ported to a newer Swift version (but let's not worry about that just yet).

Since Swift 3, enum cases have changed, moving from UpperCamelCase to lowerCamelCase. This has been reflected in the SwiftGen stencil, although was causing issues with reserved types such as subscript, repeat, open, etc. To solve this issue, Iconic enum cases now append a Icon bit, to make sure types are unique and not conflicting. This is also reflected in the icon catalog builder.

Finally, since Swift 2.3 will soon be deprecated with the release of Xcode 8.2 there is no point of adding backwards compatibility to Iconic for those still using Swift 2.3

codecov-io commented 7 years ago

Current coverage is 91.18% (diff: 84.62%)

Diff Coverage File Path
•••••••• 84% Source/IconDrawable.swift

No coverage report found for master at eec3107.

Powered by Codecov. Last update eec3107...be87642

robotelio commented 7 years ago
1 Error
:no_entry_sign: swiftlint is not in the user’s PATH, or it failed to install

Generated by :no_entry_sign: danger