In quite a few of my projects as well as in our company we organized our code into several packages. Each package has its own repository. Some packages are use by several other packages, for example a packages with reusable helpers.
What we usually do when we need to work on the package, as well as the main project. we would add the package that needs editing through the
Package Dependencies tab in Xcode as a local package. By doing so, the package is then linked as a
local package in the navigator.
That worked perfect and allowed us to easily edit the package, each other package that depends on it, would also use the local package.
However, since the latest Xcode 15.0 betas, we start getting warnings, that the local package has the same identity as the non local package. Which of course it has, it is the same package. It says that in a future version of SwiftPM, this will cause an error.
However, this would cause a lot of issues, as this would mean, in order to work with a package locally, we would have to change every dependency in every
Package.swift that uses this package to the local path. Only to change it back after we're done working on one single package.
I'm wondering if this is really intended that way, or if there is some setting or flag that can be set to not have those issues and keep developing locally.
I still think that adding a local dependency through Xcode should supersede all non local imports for developing purposes.
Here is one of those warnings I'm currently getting:
'store' dependency on 'https://github.com/marcoboerner/OpenHelper' conflicts with dependency on '/Users/marcoboerner/Development/OpenSource/OpenHelper' which has the same identity 'openhelper'. this will be escalated to an error in future versions of SwiftPM.