-
Notifications
You must be signed in to change notification settings - Fork 275
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
Use Carthage rather than CocoaPods to manage dependencies #169
Conversation
eventually migrate the global to this environment valueLines 23 to 28 in 7532bc4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Commandant/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 7532bc4
This comment was generated by todo based on a
|
eventually migrate the global to this environment valueLines 23 to 28 in 7532bc4
This comment was generated by todo based on a
|
test & verify correct behaviorLines 127 to 132 in 7532bc4
This comment was generated by todo based on a
|
eventually migrate the global to this environment valuemas/Carthage/Checkouts/Nimble/Sources/Nimble/Adapters/NimbleEnvironment.swift Lines 23 to 28 in 7532bc4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 7532bc4
This comment was generated by todo based on a
|
eventually migrate the global to this environment valuemas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/Adapters/NimbleEnvironment.swift Lines 23 to 28 in 7532bc4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 7532bc4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Commandant/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 57057f5
This comment was generated by todo based on a
|
test & verify correct behaviorLines 127 to 132 in 57057f5
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 57057f5
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 57057f5
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Commandant/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in fba3ad4
This comment was generated by todo based on a
|
test & verify correct behaviorLines 127 to 132 in fba3ad4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in fba3ad4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in fba3ad4
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Commandant/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 3b1d786
This comment was generated by todo based on a
|
test & verify correct behaviorLines 127 to 132 in 3b1d786
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 3b1d786
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 3b1d786
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Commandant/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 7f00eba
This comment was generated by todo based on a
|
test & verify correct behaviorLines 127 to 132 in 7f00eba
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 7f00eba
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in 7f00eba
This comment was generated by todo based on a
|
Generated by 🚫 Danger |
LOL, sorry about the todobot spam. I'm not sure, but the config change might not take effect until it's merged to master. I'm laughing because I also work on Quick and Nimble but haven't set up the bot on that org, but it looks like I should. This is fantastic and something that I was begrudgingly going to do but was tired from all the work to get CocoaPods integrated and the brew formula to build. Thank you so much! I'll get back to you with feedback once I get a chance to look it over. |
test & verify correct behaviormas/Carthage/Checkouts/Commandant/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in e7b4b48
This comment was generated by todo based on a
|
test & verify correct behaviorLines 127 to 132 in e7b4b48
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in e7b4b48
This comment was generated by todo based on a
|
test & verify correct behaviormas/Carthage/Checkouts/Quick/Externals/Nimble/Sources/Nimble/ExpectationMessage.swift Lines 127 to 132 in e7b4b48
This comment was generated by todo based on a
|
Now I remember why I was putting this off, CocoaPods solved one thing by statically compiling the swift dependencies. The binary built from this PR blows up with this dyld error:
Lo and behold Carthage 0.30 also supports building static frameworks. However, it looks like the frameworks need to support static linking. I wonder whether the |
I did wonder about that. The Carthage binary ships with a Frameworks directory that contains its dependencies:
I wonder if that's acceptable for |
Yeah, that's acceptable. The binary is probably sensitive to the relative path to that Frameworks folder, but as the vast majority of mas users install through Homebrew (I believe) this should not be an issue. |
Ok, so it appears that the way Carthage achieves this is by providing both a binary ( It looks like it might be necessary to split the tool into a backing framework, and a binary. Do you know what? This might be easier using Swift Package Manager - let me do some quick reading and I'll get back to you. |
I do have a WIP in the |
I had a good play with SwiftPM, but I don't think it's ready for this (yet) sorry! Gosh it'll be nice when we have vendor-supported tooling for things like |
Thanks for the tip about how Carthage is packaged @tonyarnold. It's split now into a tiny executable and a framework. Now just need to update the Homebrew formula to put everything into place on install. |
I saw a few comments that you were having difficulties with CocoaPods and getting an update into Brew.
You don't have to use this as-is (or at all!) but I thought it might be helpful. I've tested that this builds, and that the tests pass, but you should review these changes closely.