Try out new SwiftPM features!


(Ankit Aggarwal) #1

Hi,

SwiftPM has a brand new dependency resolver. It was hidden behind a flag (--enable-new-resolver) while we developed and tested it but now it is the default resolver, starting from snapshots released on <https://swift.org/download/#snapshots>December 7, 2016 <https://swift.org/download/#snapshots>[1].
It is worth noting that, dependencies are no longer cloned into Packages/ directory, they will be cloned into the build directory (but that is an implementation detail as mentioned in the editable packages proposal). This means you can remove this directory when using the new resolver.

SwiftPM has two new major features built on top of the new resolver:
* Editable Packages <https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md#editable-packages>[2]
* Version Pinning <https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md#package-pinning>[3]

There are also some minor improvements:
* Brand new argument parser. You can now view help on subcommands (for eg: $ swift package pin -h)
* JSON pretty printing
* PkgConfig in C language modules
* Documentation updates
* Lots of bugfixes

Please try these new features and if you notice any bug/issue/problem please report them using this guide <https://github.com/apple/swift-package-manager/blob/master/Documentation/Resources.md#reporting-a-good-swiftpm-bug>[4].

ยทยทยท

--

[1] https://swift.org/download/#snapshots
[2] https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md#package-pinning
[3] https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md#editable-packages
[4] https://github.com/apple/swift-package-manager/blob/master/Documentation/Resources.md#reporting-a-good-swiftpm-bug