<div dir="ltr">thank you Ankit for that information. <div><br></div><div>Do you mean a single (SwiftPM) repository could handle the 5 static libs I was mentioning in my first mail, with apps linking selectively with those, as opposed to entire module/product? That&#39;d be great.</div><div><br></div><div>Also, what about the state of integration in Xcode, can those setup (SwiftPM packages) work somehow for development (including debugging, code completion, etc), or is it something mostly distinct for now?</div><div><br></div><div>Thanks.</div><div><br></div><div>Raphael</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 5, 2016 at 6:32 AM Ankit Agarwal &lt;<a href="mailto:ankit@ankit.im">ankit@ankit.im</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Swift, with its extension concept, is very well suited to modular development like this. We&#39;d like to have a better option than frameworks to build reusable libraries. It&#39;s not an ABI thing, we really don&#39;t care about that, we use libs just to organize code, building them as a part of the app, and *not* to provide precompiled libraries to some other developers. Swift package manager does not work well within Xcode either at this time, and has a number of constraints we don&#39;t want (like having a separate git repo for each static lib -&gt; that&#39;s not practical at all if you just have 1 or 2 files in that lib).</div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>You don&#39;t need to create one repo for each static library. A SwiftPM package consists of Modules. You can create any number of products consisting of one or more modules using the Product API in manifest file. for eg:</div><div><br></div><div><div>products += [Product(name: &quot;StaticLibA&quot;, type: .Library(.Static), modules: &quot;Foo&quot;), Product(name: &quot;StaticLibB&quot;, type: .Library(.Static), modules: &quot;Foo&quot;, &quot;Bar&quot;)]</div></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div><br></div>-- <br><div>Ankit<br><br></div>
</div></div></blockquote></div>