SE-0325: Additional Package Plugin APIs

The review of SE-0325: Additional Package Plugin APIs, begins now and runs through Oct 26, 2021.

Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager or direct message in the Swift forums).

What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift.

When reviewing a proposal, here are some questions to consider:

  • What is your evaluation of the proposal?
  • Is the problem being addressed significant enough to warrant a change to Swift?
  • Does this proposal fit well with the feel and direction of Swift?
  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Thank you for helping improve the Swift programming language and ecosystem.

Tom Doron
Review Manager


This proposal definitely addresses some pain points our team experiences as we modularise our code base into packages. These pain points currently require us to manually run code generators or try and maintain Xcode projects alongside the packages to work with a tool (eg swift protobuf and mockingbird). Looking forward to not having to do this so we can focus on writing code.

The proposal mentions open questions. Were they resolved? I have no idea how to answer them but I thought it might be worth drawing the community’s attention to them. From the proposal:

  • Should the whole package graph be available to every kind of plugin, or just the package to which it is being applied? If the whole graph is available, then does the plugin entry point need a separate parameter to specify the package to which the plugin is being applied? Vending the entire package graph to the plugin can cause unintentional dependencies on packages "higher up" in the hierarchy.
1 Like
Terms of Service

Privacy Policy

Cookie Policy