pointfreeco / composable-core-location

A library that bridges the Composable Architecture and Core Location.
MIT License
107 stars 56 forks source link

CCL dependency on TCA conflicts with dependency on TCA #25

Closed ferologics closed 2 years ago

ferologics commented 2 years ago

Describe the bug In projects that depend on both TCA and CCL Xcode raises the following warning during SPM package resolution:

'composable-core-location' dependency on 'https://github.com/pointfreeco/swift-composable-architecture' conflicts with dependency on 'https://github.com/pointfreeco/swift-composable-architecture' which has the same identity 'swift-composable-architecture'. this will be escalated to an error in future versions of SwiftPM.

To Reproduce

  1. Create a new project
  2. Add TCA and CCL as dependencies
  3. Reset package caches
  4. Observe warning

Expected behavior No warning during SPM package resolution.

Environment

stephencelis commented 2 years ago

@ferologics How are you depending on TCA? Can you provide the exact git URL and version you're pinning to, etc.?

ferologics commented 2 years ago

@stephencelis the url is https://github.com/globekeeper/swift-composable-architecture and we use the dynamic branch, which is a fork from version 0.20.0 release with dynamic framework product type (workaround for missing symbols for OrderedCollections issue).

stephencelis commented 2 years ago

@ferologics Ah, if you're depending on a fork, then you also need to fork any dependency to make it depend on that fork. I'm not aware of SPM supporting the ability to work around this by for example "re-pinning" a dependency's dependency.

Since this isn't a bug in the library, and more a question of how SPM works, I'm going to convert this to a discussion.