<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'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 <<a href="mailto:ankit@ankit.im">ankit@ankit.im</a>> 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'd like to have a better option than frameworks to build reusable libraries. It's not an ABI thing, we really don'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't want (like having a separate git repo for each static lib -> that'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'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: "StaticLibA", type: .Library(.Static), modules: "Foo"), Product(name: "StaticLibB", type: .Library(.Static), modules: "Foo", "Bar")]</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>