Skip to content
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

loosen xcodeproj dependency #26

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

xinsight
Copy link

By removing the last decimal number in the version, one can now use the current xcodeproj (e.g. version 0.17)

Is there a specific reason to clamp to xcodeproj 0.14?

@xinsight
Copy link
Author

I was using 1.2.2 which pulled in RSpec v3 - and they've deprecated 'should' - they suggest using expect.

@MichaelBuckley
Copy link
Contributor

We've had problems with xcodeproj in the past introducing backwards-incompatible changes to their API. I don't blame them for this, since CocoaPods is their raison d'être, but it did once cause Frank to break for end users before any of the developers caught it. Obviously, we're not keeping up to date on all the updates of our dependencies, so the best course of action seemed to be to lock it at a specific version, and to test to test newer versions as needed before the changes get to end-users.

@xinsight
Copy link
Author

Ok, as long as it was intentional. Requiring xcodeproj 0.14 effectively limits frank-cucumber users to cocoapods 0.29.

@MichaelBuckley
Copy link
Contributor

So forgive my ignorance of the gem system, but can't CocoaPods install a newer version of xcodeproj, and Frank continue to use the older version?

If this is holding back CocoaPods users, I'll test Frank with the latest version of xcodeproj, and update the version if needed. I'll pull in the should -> expect change at that time. Thanks!

@adealmeida
Copy link

Hi Michael, did you get a chance to test Frank against the latest version of xcodeproj and to change the should -> expect change?

I think that both CocoaPods and Frank have to use the same version of xcodeproj. Otherwise, do you know of a way of specifying different gem dependencies in the Gemfile?

We've been using xcodeproj 0.17.0 with a forked version of frank-cucumber (version 1.2.3) and it has been working well. But we would like to start using the latest version of frank-cucumber. Trying to update to frank-cucumber version 1.2.5, I noticed that it still depends on xcodeproj 0.14.1.

Is it possible that you can change this to support the same xcodeproj as the latest Cocoapods?

@MichaelBuckley
Copy link
Contributor

@adealmeida I'm terribly sorry. I haven't been keeping up with Frank development lately, as I've had my hands full with other projects.

Right now, Frank uses xcodeproj 0.14.0, and the current version is 0.21.2. The changelog lists versions 0.15.0, 0.16.0, 0.20.0, and 0.21.0 as containing breaking changes. This means it's not simply a matter of changing the version number Frank's gemspec. Code changes to Frank would also probably be required.

I don't personally have the time to test and make these changes. Other developers working on Frank might, but the most surefire way to ensure that Frank gets updated to the latest version of Xcodeproj would be to fork Frank on Github, update it to use the latest Xcodeproj, test it, and send a pull request.

I'm sorry I can't give you better news. Thank you for understanding.

@adealmeida
Copy link

Hi @MichaelBuckley, thanks for your response. At the moment, I also don't have time to make a change and validate it. Perhaps when I get a chance later I can try forking Frank and testing an update. Thanks for your help.

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

Successfully merging this pull request may close these issues.

3 participants