Swift Package Manager (select one)Conflict with other swift package
I have dependency https://github.com/ashleymills/Reachability.swift, when I'm trying to update Firebase to version 7.5.0
I have an error:
multiple products named 'Reachability' in: GoogleUtilities, Reachability
I found a few problems with this issue:
Same issue here!
I think this is related to SE-0226 which is only partially implemented and still has the bug in SR-8658. The easiest fix would be, if you would rename Rachability to something like FBReachability until the linked issue is fixed in a future Swift version. the Reachability library is quite common in many projects, also it's a helper target so I think it should be renamed here rather than on the Reachability library.
@uniqby
I could work around this issue by forking ashleymills/Reachability.swift and renaming the library to Reachability.swift.
You just need to use the master branch of my fork https://github.com/Jeehut/Reachability.swift.git instead.
Same issue here, but I think both libs need to rename as this is a big weakness in Swift.
Thanks for the report. I didn't realize that SPM had this namespace issue and introduced this problem in 7.5.0. I'll work on a fix. In the meantime, sticking to 7.4.0 would be another workaround.
Here's a recommendation to prefix product names: https://forums.swift.org/t/logging-module-name-clash-in-vapor-3/25466/4
We've made a 7.5.1 distribution (only for Swift Package Manager) that addresses this issue with prefixes on the products in the GoogleUtilities package.
Most helpful comment
Thanks for the report. I didn't realize that SPM had this namespace issue and introduced this problem in 7.5.0. I'll work on a fix. In the meantime, sticking to 7.4.0 would be another workaround.