Evolution of SwiftPM Product API

I’m curious about the evolution process is for the SwiftPM’s vended package products. I have been watching the repository for a while now and seen pull requests seem to come out of left field and get accepted. What I want to know is who or where to ask about an idea first. Is this the place? It would be nice to know whether the idea is likely to be accepted before going to the work of putting together an implementation for a pull request.

Changes to the manifest API (PackageDescription) seem to go through the normal review process, but that is not what I am asking about. I am referring to the public API elements of the product modules like PackageLoading.

As an example, I would like to see the API made easier to use. Right now the semantically simple task of pleaseLoadForMeTheManifest(at: URL) -> PackageGraph requires jumping through hoops to locate the compiler and its libraries; specify pins, editables and data locations; resolve the tools version; set up a diagnostic engine and reporter, etc. All of these have reasonable defaults, and I think the package manager could vend default arguments to vastly simplify the process.

1 Like

I'd be happy to take changes in that area. Such changes do not require going through swift-evolution. Feel free to open a PR!

2 Likes