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
Swift 4 #23
Swift 4 #23
Conversation
ksmandersen
commented
Sep 26, 2017
- Added full support for Swift 4.0
- Fixed a bunch of warnings
- Updated to recommended project settings
PalauDefaultable got 2 new methods: get(key: String, from defaults: NSUD) -> [ValueType]? and set(value: ValueType?, forKey key: String, in defaults: NSUD) -> Void In the current version the PalauDefaultsArrayEntry is more or less a copy of PalauDefaultsEntry. There should be good chance that we can abstract some things. Also copied the tests and converted them to use PalauDefaultsArrayEntry.
PalauEntry Protocol is used as base for PalauDefaultsEntry and PalauDefaultsArrayEntry. Most of the methods can be defined in an extension of PalauEntry. PalauCustomDefaultable is used to provide easy support for e.g. Struct mapping either for PalauDefaultsEntry or PalauDefaultsArrayEntry. The implementation of PalauCustomDefaultable needs to provide a toIntermediate and fromIntermediate func.
Added swiftlint to all target builds so its never missed
Removed support for NSURL and NSIndexPath for the time being.
The PalauTestCase holds a new shiny cleanUpSimulatorDefaultsForSure() method which (at least on my machine) made tests predictable again. Further more checkValue is rewritten in cleaner Swift 3 syntax.
Let me take a quick look. 👍 |
@madhavajay Let's wait until the travis build completes. Had to tweak some things, because swiftlint makes it fail |
Wow - @ksmandersen Thank you very much. 👍🙏🎊 |
Now swiftlint works on travis but the tests fail. Not sure what is up with that. They all pass locally. Anyone got some insight? |
@ksmandersen its going to be the simulator versions, its a total pain every time they change. I would actually suggest changing this to use fastlane. First would be to create a fastfile using fastlane, then to invoke that in the travis file. |
@madhavajay That seems like a separate concern from simply supporting Swift4/Xcode9. I also haven't used fastlane before, so am not familiar with how it works. I've updated the simulator versions. So let's see if that doesn't work for now |
@ksmandersen yeah if updating the simulators works thats fine for now. 👍 For your own sake, please go checkout fastlane like right now. |
Looks like the tests will pass now |
I think its just the watch device build failing now due to incorrect device name. Really annoying that Xcode does this. Also can you please bump the version to say: 1.0.4 in the plist files? |
- Updated .travis.yml file to use fastlane - Bumped version to 1.0.4 in plists and podspec
@madhavajay Let's try that again. Bumped to version 1.0.4 now |
@ksmandersen I just made a PR to your fork from my fork with the new fastlane and travis changes. Can you merge that and then it should get added to this PR. |
Added fastlane to simplify testing
@madhavajay Done |
cool |
Woohoo. 🎉 Good job everyone! 👍 |
Codecov Report
@@ Coverage Diff @@
## master #23 +/- ##
=========================================
+ Coverage 93.8% 93.8% +<.01%
=========================================
Files 4 3 -1
Lines 371 581 +210
=========================================
+ Hits 348 545 +197
- Misses 23 36 +13
Continue to review full report at Codecov.
|