You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have read CONTRIBUTING and have done my best to follow them.
Note
This is not a bug report, but I would like to kick off a discussion about the current project setup and the usage of Carthage.
Motivation:
I'm currently trying to add visionOS support to the Quick ecosystem. This includes Nimble, CwlPreconditionTesting and CwlCatchException.
I found some inconsistencies depending on which package manager is used. When using SPM, the dependencies to the Cwl* packages are included through transitive dependencies as expected.
However, when using CocoaPods, there is no dependency on any Cwl* package. Instead, it uses the Carhtage checkout files, included in git. CwlPreconditionTesting and CwlCatchException would have CocoaPods and Carthage support.
The problem which comes with this becomes visible in #948. In this PR, the dependencies were updated as usual. However, it required an additional 'revert' commit (b03a82) to fix build issues.
These additional required changes are not documented and are hard to figure out. In an ideal scenario, one could update and use the dependencies without touching them.
Proposal:
It feels weird to include the Carthage/Checkouts folder in git history when everything should be prepared for use through transitive dependencies. Therefore, to improve the developer experience and simplify contribution, I suggest switching to transitive dependencies for CocoaPods and Carthage as well.
Environment
List the software versions you're using:
Quick: 7.,0.2
Nimble: 13.0.0
Xcode Version: 15.1 Beta 2
Swift Version: 5.9
Please also mention which package manager you used and its version. Delete the
other package managers in this list:
Cocoapods: 1.14.2
Carthage: 0.39.1
Swift Package Manager 5.9.0
The text was updated successfully, but these errors were encountered:
It feels weird to include the Carthage/Checkouts folder in git history when everything should be prepared for use through transitive dependencies. Therefore, to improve the developer experience and simplify contribution, I suggest switching to transitive dependencies for CocoaPods and Carthage as well.
100% agree. It's definitely weird/non-standard to include the Carthage/Checkouts folder in git. Doing some spelunking, it appears we used to directly embed the source code, and pulling them in through Carthage was just a way to simplify keeping them updated. It would definitely be worthwhile to fix this and pull these in transitively.
Note
This is not a bug report, but I would like to kick off a discussion about the current project setup and the usage of Carthage.
Motivation:
I'm currently trying to add visionOS support to the
Quick
ecosystem. This includesNimble
,CwlPreconditionTesting
andCwlCatchException
.I found some inconsistencies depending on which package manager is used. When using SPM, the dependencies to the
Cwl*
packages are included through transitive dependencies as expected.However, when using
CocoaPods
, there is no dependency on anyCwl*
package. Instead, it uses the Carhtage checkout files, included in git.CwlPreconditionTesting
andCwlCatchException
would haveCocoaPods
andCarthage
support.The problem which comes with this becomes visible in #948. In this PR, the dependencies were updated as usual. However, it required an additional 'revert' commit (b03a82) to fix build issues.
These additional required changes are not documented and are hard to figure out. In an ideal scenario, one could update and use the dependencies without touching them.
Proposal:
It feels weird to include the
Carthage/Checkouts
folder in git history when everything should be prepared for use through transitive dependencies. Therefore, to improve the developer experience and simplify contribution, I suggest switching to transitive dependencies for CocoaPods and Carthage as well.Environment
List the software versions you're using:
Please also mention which package manager you used and its version. Delete the
other package managers in this list:
The text was updated successfully, but these errors were encountered: