Skip to content
This repository has been archived by the owner on Feb 8, 2021. It is now read-only.

Initial Linux support #249

Merged
merged 1 commit into from Jan 16, 2017

Conversation

rbukovansky
Copy link
Contributor

@rbukovansky rbukovansky commented Dec 16, 2016

The third time's lucky? Hopefully...

This have been tried to build on Ubuntu 16.10 with Swift versions:
3.0.1
3.0.2
DEVELOPMENT SNAPSHOT 2016-12-14

and successfully passed all tests.

@rbukovansky
Copy link
Contributor Author

rbukovansky commented Dec 19, 2016

@hkellaway Do we really need all those ([)(U)Int32(]), ([)(U)Int64(]) encoders and decoders? Asking for friend...

@hkellaway
Copy link
Owner

is there a reason not to have them besides the failing Linux tests..?

@rbukovansky
Copy link
Contributor Author

rbukovansky commented Dec 19, 2016

Well, is there anybody insane who uses Int32 or UInt64 directly in code instead of Int/UInt? 😏
I just hope not...

BTW The build using the new .travis.yml file which uses swift toolchain, instead of Xcode, and original code fails too for macOS on ([)UInt64(])... 🙄 EDIT: On Travis-CI, to be exact...

@rbukovansky
Copy link
Contributor Author

And of course, directly on my girlfriend's Mac it builds normally without problem...

Why me?

@hkellaway
Copy link
Owner

someone uses them #168

@rbukovansky
Copy link
Contributor Author

I see... Madness, but OK. Thanks.

@rbukovansky
Copy link
Contributor Author

@hkellaway

  1. So I have reverted back to using NSNumber. I've tried to get all the code to use "natural" types, because NSNumber doesn't work for those size-specific Ints and UInts on Linux, but I have failed. 😢
  2. That means, Gloss wouldn't be able to support ([)(U)Int32(]) & ([)(U)Int64(]) on Linux. There is something fundamentally broken in Swift or Foundation library on Linux, so I have "removed" tests for these on Linux and added remark to README file.
  3. If you accept this PR, please squash the commits (you can do it directly here within this PR, Github will make squashed merge commit to your develop branch) and leave there this commit message:
    Initial Linux support. (Or do you want me to redo this?)
  4. I will monitor future developments of Swift and will try to move to those mentioned "natural" types again when Swift/Foundation is fine again on Linux.

Thank you. For this library and your patience.

@hkellaway
Copy link
Owner

@rbukovansky thanks for your work on this! apologies its taken me a while to get back around to it.

one stipulation i have about this is - i'm not at all familiar with Linux and cannot personally provide a guarantee from version to version that Linux won't break. can i hold you accountable for fixing issues if raised by Linux users? otherwise i cannot with good conscience offer Linux support.

@hkellaway
Copy link
Owner

regarding squashing - would you mind doing so ?

@rbukovansky
Copy link
Contributor Author

rbukovansky commented Jan 6, 2017

@hkellaway

  1. Time - that's OK. We all had holidays... ;)

  2. Support for Linux: Yes, I will take care of it. No worries...
    Gloss is IMHO the best JSON library for Swift and I'm happy it can be used on Linux.

  3. Squashing those commits: I will take care of it, no worries here either.

@rbukovansky
Copy link
Contributor Author

rbukovansky commented Jan 6, 2017

@hkellaway To get this all going could you please accept #258 #250 and then this PR... We will then have Linux support in Gloss and tests of any new code for both platforms (OS X and Linux) on Travis CI.

I have merged all those three PRs to one branch in my repo as a proof and it builds OK https://travis-ci.org/rbukovansky/Gloss/builds/189439692.

Thank you.

@hkellaway hkellaway added this to the 1.2.0 milestone Jan 15, 2017
@rbukovansky
Copy link
Contributor Author

@hkellaway Rebased on top of develop branch. #250 needs to be merged first.

Test build of both PRs merged is here: https://travis-ci.org/rbukovansky/Gloss/builds/192286539

@hkellaway hkellaway merged commit 8ef9bf1 into hkellaway:develop Jan 16, 2017
@rbukovansky rbukovansky deleted the feature/linux-support branch January 16, 2017 14:32
@rbukovansky
Copy link
Contributor Author

@hkellaway Thanks. Hooray, another Mt. Everest conquered! 😉

@hkellaway
Copy link
Owner

🎉

@hkellaway hkellaway modified the milestones: Linux Support, 1.3.0 Feb 11, 2017
@hkellaway
Copy link
Owner

hello @rbukovansky - i didn't have your email but wanted to put you in touch with another developer who would like to help support Gloss on Linux: @crspybits

i'm going to add you both as Collaborators so i can tag you on Linux issues; i'd leave it to you two to communicate on who had the bandwidth to address the Issue. despite being Collaborators, i ask that you make pull requests (only against the linux branch) - and i'll be the one to make a final review and merge.

if you're okay with sharing your email - please email me at hello@harlankellaway.com so i can put you in touch with @crspybits that way

@rbukovansky
Copy link
Contributor Author

@hkellaway Reply over e-mail sent. And it's good I'm not alone in this effort. Hooray to @crspybits!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants