Skip to content

Conversation

@DmitryPR
Copy link

@DmitryPR DmitryPR commented Jan 25, 2019

For some reason the Cartfile was missing so when adding this library using Carthage the SWXMLhash dependency did not get downloaded

@DmitryPR
Copy link
Author

Hi, can this get merged?

@ystrot ystrot self-assigned this Feb 1, 2019
@ystrot ystrot added this to the 0.9.4 milestone Feb 1, 2019
@ystrot
Copy link
Member

ystrot commented Feb 1, 2019

Hi Dmitry,

Sorry for delay. Macaw team are not using Carthage, so it needs a bit more time to check this. We'll try to merge it on the next week.

@amarunko
Copy link
Contributor

amarunko commented Feb 3, 2019

Hi, @DmitryPR, can you explain in little details, what wrong with automatical fetching by Carthage? For me everyting work as expected in current setup.

@DmitryPR
Copy link
Author

DmitryPR commented Feb 4, 2019

Hello, the integrators who are using Macaw with Carthage need to supply

github "Exyte/Macaw" ~> 0.9.3

and

github "drmohundro/SWXMLHash" == 4.7.5

Because Macaw uses this dependency

This is incorrect behaviour as all the dependencies that Macaw rely on should be listed in the Cartfile so that when the integrators specify github "Exyte/Macaw" ~> 0.9.3 the SWXMLHash would be downloaded along with Macaw

@amarunko
Copy link
Contributor

amarunko commented Feb 4, 2019

@DmitryPR, so, I added in cartfile only Macaw dependency, follow Carthage instructions in readme, project successfully run on OS X and iOS. Found in dependencies folder SWXMLHash, sorry I'm not an expert in Carthage, maybe I missed something, can you explain, please.

@DmitryPR
Copy link
Author

DmitryPR commented Feb 5, 2019

So here is the setup:

We have an iOS library which has Macaw as a dependency using Cocoapods where the SWXMLHash is specified as dynamic dependency
https://github.com/exyte/Macaw/blob/master/Macaw.podspec#L43

After our library is integrated into another project it requires dynamic libraries to be loaded along side with our iOS library:
https://github.com/salemove/ios-carthage-integration/blob/master/Cartfile

Here we have to define SWXMLHash as a Carthage dependency because Macaw brings this dependency in
https://github.com/salemove/ios-bundle/blob/master/Cartfile

This PR makes sure that when there is no need to manually add
github "drmohundro/SWXMLHash" == 4.7.5

as it should be listed in your repository in Carthage file

@amarunko
Copy link
Contributor

amarunko commented Feb 6, 2019

@DmitryPR, I checked, you are right, thank you for your work! One more moment, can you change equality in dependency == to ~>, please. As soon you change this, PR will be merged.

Dependenices for the libraries used in the project should be
list in the Cartfile so when an integrator adds Macaw to his
Cartfile the dependencies should be also downloaded
@amarunko amarunko merged commit bf79a59 into exyte:master Feb 7, 2019
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