Overall +1 for the pitch! It would be great to have such “Swift SDKs” for cross compilation.
Some instant thoughts:
I would like to see destination bundles available from registries, which could make use of the proposed authentication system and identifier design. This should be natural for internal distribution.
While it’s a valid use case, I don’t think we should ask anyone who only wants an additional library to do so… As @Karl pointed out, we should explore some way to “extend” a CC destination bundle, something like the FROM keyword in Dockerfile.
Reusing the artifact bundle design is okay for me, but I'm wondering if a CC destination really is, by definition, an “artifact” for SwiftPM and its users. Maybe we should use just a different file extension — and maybe we should do so for the plugins.
This is, IMO, already a big problem for cross-platform developers (and tool authors!) even without extended destination support. SourceKit-LSP basically has no knowledge of “destination”. I believe the two sides of work are decoupled at least for now.