Because Cocoapods is also supported and is responsible for generating the Xcode project and workspace, I changed the .gitignore to allow tracking of the Pod source code - which allows Carthage to build the project when another app specifies CardParts as a dependency. This creates some repo bloat but allows both dependency managers to co-exist.
Additionally for Carthage to build, the Xcode workspace needed to share the CardParts scheme (CardParts.xcscheme) This file is found in the Pods subfolders.
Summary of changes:
Added Cartfile - which specifies the CardParts dependencies.
Changed .gitignore to include the Pods and ignore Carthage/Checkouts.
How Has This Been Tested :mag:
I created a "release" on my fork.
I started a new single-view Xcode project and a Cartfile referencing my release. Ex: github "JJ-Intuit/CardParts" ~> 2.21.2
From the terminal, run carthage update --platform ios
Within the iOS app, I followed steps outlined here: https://github.com/Carthage/Carthage#getting-started to add the libraries to the project
Then, I used the CardParts library - no Cocoapods needed!
Issue Link :link:
Goals of this PR :tada:
Carthage support has been added to CardParts.
Because Cocoapods is also supported and is responsible for generating the Xcode project and workspace, I changed the
.gitignore
to allow tracking of the Pod source code - which allows Carthage to build the project when another app specifies CardParts as a dependency. This creates some repo bloat but allows both dependency managers to co-exist.Additionally for Carthage to build, the Xcode workspace needed to share the CardParts scheme (CardParts.xcscheme) This file is found in the Pods subfolders.
Summary of changes:
How Has This Been Tested :mag:
github "JJ-Intuit/CardParts" ~> 2.21.2
carthage update --platform ios
Test Configuration :space_invader: