[swift-users] Package module name collisions

Kostiantyn Koval konstantin.koval1 at gmail.com
Thu Feb 4 08:21:12 CST 2016


Hi Max and Jason, 

I just faced same problem.
The origin URL + Version tag uniquely identifies the package. Maybe they could be used as a part of the namespace? 
Looking forward for the awesomely proper proposal, I trust you :)

Kostiantyn

> On 04 Feb 2016, at 00:24, Max Howell via swift-users <swift-users at swift.org> wrote:
> 
> Haha, forgive my overuse of “proper”. Blimey.
> 
>> Hi Jason,
>> 
>> module-name collision is something that keeps me up at night. I intend to solve it as properly as possible.
>> 
>> This will involve a proper proposal for swift proper down the line, probably involving namespacing in some form.
>> 
>> For now, you can either cross your fingers or fork the project that has the collision and change the module name.
>> 
>>> On Feb 1, 2016, at 5:41 PM, Jason Lee via swift-users <swift-users at swift.org> wrote:
>>> 
>>> Today I introduced a dependency on another project's package with brought over a module name that conflicted with one he modules in my project.
>>> 
>>> Currently my project has multiple modules (and executables) in the package and everything is working well for me. However, when I got this conflict today, I was thinking this will be a problem going forward. I'm sure it's been solved already by the package manager team, but I haven't figured out how to do this from the docs yet.
>>> 
>>> An example:
>>> Package 'A' has a module named 'Base'
>>> My package also has a module named 'Base'
>>> 
>>> When I build, I get a circular ref error now. One way I was thinking I cld fix this on my end is to prefix all my module names with my package name (seems redundant, of course). Something like 'Base' becomes 'MyAppBase'. And my imports could look like so:
>>> 
>>> import Foundation
>>> import Base
>>> import MyAppBase
>>> 
>>> Any thoughts on this? Thx.
>>> 
>>> - jason
>>> 
>>> Sent from my iPhone
>>> _______________________________________________
>>> swift-users mailing list
>>> swift-users at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-users
>> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users



More information about the swift-users mailing list