> On Mar 23, 2016, at 12:59 AM, Pierre Monod-Broca <[email protected]> > wrote: > > My guess is most often one will want to import exactly what one is testing > (Brent example) but I guess it would be very handy to do something like > > #if canImport(Foo) > import Foo.Bar as FooBar > #endif > > In this case both form would be relevant.
`import as ` does not fall under the scope of this proposal. I have been already discussing it as part of an existing issue about package name conflicts on -build-dev, with the understanding that this portion would have to be raised in -evolution. It's on my list for separate pitching. An early draft is here: https://gist.github.com/erica/c6553a5f6f35e7462074 <https://gist.github.com/erica/c6553a5f6f35e7462074>, and the most likely pathway would something like: 1. No change in the originating package description. import PackageDescription let package = Package( name: "SwiftString", ) 2. No change in the consuming package description. import PackageDescription let package = Package ( name: "myutility", dependencies: [ .Package(url: "https://github.com/erica/SwiftString.git <https://github.com/erica/SwiftString.git>", majorVersion: 1), .Package(url: "https://github.com/nudas/SwiftString.git <https://github.com/nudas/SwiftString.git>", majorVersion: 1), .Package(url: "http://github.com/erica/SomeStringOtherPackage.git <http://github.com/erica/SomeStringOtherPackage.git>", majorVersion: 1), // just throwing some package in there ], ) 3. When unpacking, SwiftPM detects name overlap, automatically uses reverse domain name for unpacking In the current Swift PM: fatal: destination path '/home/erica/Work/test/Packages/SwiftString' already exists and is not an empty directory. Instead: * Would unpack into com.github.erica.SwiftString and com.github.nudas.SwiftString, automatically reversing the url * From Swift files, since "import: SwiftString" allow import as erica.SwiftString, github.erica.SwiftString, or com.github.erica.SwiftString 4. Propose separately, "import as" as a language enhancement. -- E
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
