Esqarrouth / EZSwiftExtensions

:smirk: How Swift standard types and classes were supposed to work.
MIT License
3k stars 381 forks source link

Converting all UIKit packages to be buildable for only tvOS or IOS. #431

Closed Khalian closed 7 years ago

Khalian commented 7 years ago

This would allow EZSwiftExtensions to be usable in other platforms (MacOS and Linux)

Checklist

Khalian commented 7 years ago

@goktugyil I need both your blessing and oversight for this change.

The work will be 3 fold.

  1. Add the macros to compile parts of the codebase (in particular anything with UI Kit) only for tvOS and IOS (that is what is in this PR).
  2. Add a build target for macOSX (next phase).
  3. Add a build target for linux (next phase).
EZSwiftExtensionsBot commented 7 years ago
1 Error
:no_entry_sign: Please, modify only one extension per pull request.
2 Messages
:book: Executed 195 tests, with 0 failures (0 unexpected) in 4.783 (5.029) seconds
:book: Executed 180 tests, with 0 failures (0 unexpected) in 4.458 (4.657) seconds

Generated by :no_entry_sign: Danger

Esqarrouth commented 7 years ago

I think we need input from everyone for this change. I've gone over the code and it looks good for ios/tvos separation.

However I don't have much experience in macos and no experience in linux. So I can't provide much help beyond this step. You probably know everything I know about the subject.

I think not doing all the changes in 1 major version, but doing the 3 changes over versions would be a more stable way of doing things. (If we mess up somewhere, its easier to find the problem if incremental steps are taken)

Also, exactly how many people were asking for macos? And I don't remember seeing linux?

Khalian commented 7 years ago

@goktugyil In that case I will take out the second commit for adding the travis target for macOS.

There have been some people. Regardless, this is something we should push for.