-
Notifications
You must be signed in to change notification settings - Fork 7
Update query serializer, clean up, and bump version #33
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
Conversation
|
🍏 |
VENCore.podspec
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By removing the version here, we're saying that any version of CMDQueryStringSerialization should work with this repo. If a user declares pod 'CMDQueryStringSerialization', '~> 0.2.0' in their Podfile and include this latest version of VENCore that includes this change with no version restriction, there may be some issues in resolving the appropriate dependencies.
I'm really not for removing version requirements in podspecs, although it may be fine in Podfiles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's true. We only use the library in one place: https://github.com/venmo/VENCore/blob/master/VENCore/Networking/VENHTTP.m#L110
Maybe we can just use the implementation, so VENCore has 0 dependencies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@eliperkins so the reason for this is I want to use version 0.3.0 in the Venmo app. I spoke with @calebd and he ensured me that the public API for serialization wouldn't change. To use 0.3.0, I had to remove the version restriction in VENCore, then update one of our private pods that had a version restriction on VENCore and then update all three in our app's Podfile. If we know this API won't change, I think it's best to be able to update it independently.
That said, @dasmer, if we only use it in one spot, maybe it's worth adding that specific category so we don't have an dependencies on something that should be super portable.
What do you guys think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this repo is public, and our iOS SDK depends on it, I'm 👎 in general on removing versions from dependencies to keep things simple for peeps who consume our stuff. If we wanna bring simple query parsing into this repo, that's cool with me, except that the iOS SDK is gonna use it on one line too: https://github.com/venmo/venmo-ios-sdk/blob/master/venmo-sdk/Venmo.m#L336
Don't feel too passionate on removing the dependency, especially since we only use it twice in this path. I do feel pretty passionately about destroying dependency version resolution :P
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm kind of OK either way. It's a hassle to update all the Pods with every version bump.
Also, technically since the major version is 0, there can be breaking changes in any version updates.
@calebd if the public API is finalized and permanent, any reason not to release 1.0.0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking about it more, I think it's a bad idea to remove @calebd's library if we need query string parsing. This junk is complicated and he has done a fanatic job handling all of the edge cases and writing tests for it. I definitely don't want to maintain that.
Totally down to lock to a version. If we need to update it (assuming we won't often), we can just bump the version of all of our junk.
43178a7 to
6640213
Compare
|
Good to go, @eliperkins & @dasmer? |
|
I broke travis. Standby |
|
Good to go. To test: $ git clone https://github.com/venmo/VENCore
$ cd VENCore
$ bundle install
$ rake
#=> ... Executed 142 tests, with 0 failures (0 unexpected) in 0.978 (1.052) secondsI'm a fan of this because it's easy to run tests the same way Travis does. You can also run |
Update query serializer, clean up, and bump version
Code review: