<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="">Thinking about this a bit further, performing an automated transition from CocoaPods -&gt; SPM would be feasible given all the metadata is kept in a file, but you’d probably end up breaking carthage support for those libraries. It would also need to update the Xcode projects that may be connected to the source files, which I think would turn into a bit more trouble. Likely could be scripted with the xcodeproj gem though.<br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: 2; font-size: 13px; margin: 0px;" class=""><span style="text-align: -webkit-auto;" class=""><br class="Apple-interchange-newline">--&nbsp;</span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: 2; margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><div style="color: rgb(0, 0, 0); word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35);" class=""><br class=""></div><div style="margin: 0px; color: rgb(35, 35, 35);" class="">[A.]<span class="Apple-tab-span" style="white-space: pre;">        </span>&nbsp; &nbsp;&nbsp;Orta Therox</div><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><br class=""></div></div></div><blockquote style="color: rgb(0, 0, 0); margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class=""><div style="margin: 0px;" class=""><span style="color: rgb(136, 136, 136);" class="">w/&nbsp;</span><a href="http://artsy.net/" class="">Artsy</a></div></span></blockquote><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class=""><div style="margin: 0px;" class=""><a href="http://cocoapods.org" class="">CocoaPods</a>&nbsp;/&nbsp;<a href="http://cocoadocs.org" class="">CocoaDocs</a><span style="text-align: -webkit-auto;" class="">&nbsp;/&nbsp;</span><a href="https://itunes.apple.com/us/app/gifs/id961850017?l=en&amp;mt=12" style="text-align: -webkit-auto;" class="">GIFs.app</a></div></span></blockquote></div></div></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class=""><div style="margin: 0px;" class=""><a href="http://twitter.com/orta" class="">@orta</a>&nbsp;/&nbsp;<a href="http://orta.github.com" class="">orta.github.com</a></div></span></blockquote></div></div></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class="">Artsy is totally hiring&nbsp;<a href="https://artsy.net/job/mobile-engineer" style="text-align: -webkit-auto;" class="">iOS Devs</a>&nbsp;ATM</span></blockquote></div></div></div></blockquote></div>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On 18 Dec 2015, at 09:16, orta therox &lt;<a href="mailto:orta.therox@gmail.com" class="">orta.therox@gmail.com</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="">Interesting, so this is feasible, once a pod is downloaded a then Podspec can be ran against it to get access to all of the files. I think an app that could read the Podspec json &nbsp;and perform some transformation is feasible for most swift pods.<div class=""><br class=""><div class="">We’ve already got tools for converting a CocoaPods project to work&nbsp;<a href="https://github.com/neonichu/schoutedenapus" class="">with the Package.swift</a>&nbsp;which you can take some inspiration from.<br class=""><div class="">
<div style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: 2; font-size: 13px; margin: 0px;" class=""><span style="text-align: -webkit-auto;" class=""><br class="Apple-interchange-newline">--&nbsp;</span></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: 2; margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35);" class=""><br class=""></div><div style="margin: 0px; color: rgb(35, 35, 35);" class="">[A.]<span class="Apple-tab-span" style="white-space: pre;">        </span>&nbsp; &nbsp;&nbsp;Orta Therox</div><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><br class=""></div></div></div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class=""><div style="margin: 0px;" class=""><span style="color: rgb(136, 136, 136);" class="">w/&nbsp;</span><a href="http://artsy.net/" class="">Artsy</a></div></span></blockquote><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class=""><div style="margin: 0px;" class=""><a href="http://cocoapods.org/" class="">CocoaPods</a>&nbsp;/&nbsp;<a href="http://cocoadocs.org/" class="">CocoaDocs</a><span style="text-align: -webkit-auto;" class="">&nbsp;/&nbsp;</span><a href="https://itunes.apple.com/us/app/gifs/id961850017?l=en&amp;mt=12" style="text-align: -webkit-auto;" class="">GIFs.app</a></div></span></blockquote></div></div></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class=""><div style="margin: 0px;" class=""><a href="http://twitter.com/orta" class="">@orta</a>&nbsp;/&nbsp;<a href="http://orta.github.com/" class="">orta.github.com</a></div></span></blockquote></div></div></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; color: rgb(35, 35, 35); min-height: 14px;" class=""><blockquote type="cite" style="background-color: rgb(255, 255, 255); border-left-color: rgb(0, 33, 98); color: rgb(0, 33, 98); border-width: 1px; margin-left: 0px; padding-left: 10px; padding-right: 0px; margin-right: 0px;" class=""><span style="border-collapse: collapse; color: rgb(34, 34, 34);" class="">Artsy is totally hiring&nbsp;<a href="https://artsy.net/job/mobile-engineer" style="text-align: -webkit-auto;" class="">iOS Devs</a>&nbsp;ATM</span></blockquote></div></div></div></blockquote></div>
</div>
<br class=""><div class=""><blockquote type="cite" class=""><div class="">On 12 Dec 2015, at 12:10, Daniel Dunbar &lt;<a href="mailto:daniel_dunbar@apple.com" class="">daniel_dunbar@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Circling back on this...<div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Dec 7, 2015, at 10:23 AM, orta therox 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=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Dec 7, 2015, at 12:30 PM, Daniel Dunbar 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=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Ok, great! Do you have existing infrastructure for analysis of those libraries? Would it be easy to write a tool to, e.g., count #s and types of libraries? Or create a summary of source layout styles?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""><div class="">I have a local machine with a download of every pod, from about 3 months ago. I can probably script this sort of thing, happy to take this one to direct mail if you have an idea of what you want.</div><div class=""><br class=""></div><div class="">Given that paths are, generally speaking, added in the Podspec, this can also be generated from the CocoaPods/Specs repo itself too.&nbsp;</div></div></div></blockquote><div class=""><br class=""></div><div class="">The high level question we would want to answer would be "how much work is it for people to conform to convention X". I could envision trying to automate that by taking the corpus of pods, applying some amount of automated transformations based on the known or proposed conventions and the Podspec, and then seeing if the project builds. If it wasn't too much work to build such a system then it could be invaluable in vetting convention proposals, but I'm not currently familiar enough with the ecosystem to know if this is viable or not.</div><div class=""><br class=""></div><div class="">If you think it is, that is totally something I would consider taking off list if/when I had some time to hack on it...</div><div class=""><br class=""></div></div><div class="">&nbsp;- Daniel</div><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=AdkfTiApI80cNEyortTzHbERtY5det-2FDBvSxuhs4q2PlUOl99zBw5BPMdJzRKA4GDU9-2F7wPcvNnPLJG-2Fg7XpkUrGeUQhZQnFHQ0W65B7UyGzvfda2jGJ4TTpThpyssyvwXrqTiqRAIfvvQ35553oXuy8AfXRDiOfni15YRkmByMbgbeyxG8syWJlx5MN3vu0nnEwztn3syFbOAdwqhtOc9S1EN0oA21kGszU6OQFRhg-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;" class="">
</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=""><a href="https://lists.swift.org/mailman/listinfo/swift-build-dev" class="">https://lists.swift.org/mailman/listinfo/swift-build-dev</a><br class=""></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></body></html>