<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">(CC'ing a couple people I know have worked on build packs in the past.)<div class=""><br class=""></div><div class="">Thanks David!<div class=""><div class=""><br class=""></div><div class="">For those only on the mailing list, we discussed this plan on the SwiftPM Slack channel, and I think making this change in the Swift 4 timeframe is right, even though it may break some things.</div><div class=""><br class=""></div><div class="">One of the main goals of the compatibility work is to make sure that we don't break any of the existing deployment workflows people have built on top of SwiftPM (for example PaaS buildpacks). We don't have time for a full "make install" type workflow which buildpacks could use, but my hope was that SR-5259 would be something existing build packs could migrate to to avoid having to hard code certain paths.</div><div class=""><br class=""></div><div class="">We'd love feedback on whether this seems like a reasonable plan.</div><div class=""><br class=""></div><div class="">&nbsp;- Daniel</div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On Jun 19, 2017, at 3:19 PM, David Hart via swift-build-dev &lt;<a href="mailto:swift-build-dev@swift.org" class="">swift-build-dev@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello mailing-list,<div class=""><br class=""></div><div class="">I’m implementing&nbsp;<a href="https://bugs.swift.org/browse/SR-3583" class="">SR-3583</a>&nbsp;that builds SwiftPM products into platform-specific sub-folders. For example, on macOS, a default build will no longer build products into <b class="">.build/debug</b> but instead in <b class="">.build/macosx-x86_64/debug</b>.</div><div class=""><br class=""></div><div class="">To alleviate this breaking change, several solutions have been planned:</div><div class=""><br class=""></div><div class=""><ul class="MailOutline"><li class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0179-swift-run-command.md" class="">SE-0179</a>: A new <b class="">swift run</b>&nbsp;tool to allow users to run executable products without knowing their exact location.</li><li class="">SR-3583 will create a symlink after each build pointing from the old to the new build folder for backwards compatibility.</li><li class=""><a href="https://bugs.swift.org/browse/SR-5259" class="">SR-5259</a>: A new <b class="">—bin-path</b> option for the <b class="">swift build</b> command to print the build folder for 3rd party tools to use.</li></ul><div class=""><br class=""></div></div><div class="">Of the above, only SE-0179 is currently fully implemented in master.</div><div class=""><br class=""></div><div class="">What does everybody think about this change and the solutions put into place to support it?</div><div class=""><br class=""></div><div class="">Regards,</div><div class="">David.</div></div>_______________________________________________<br class="">swift-build-dev mailing list<br class=""><a href="mailto:swift-build-dev@swift.org" class="">swift-build-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-build-dev<br class=""></div></blockquote></div><br class=""></div></div></div></body></html>