Is there a way to select specific headers to be public, instead of selecting everything in a directory, like this CocoaPods example?
I've made a workaround using symbolic links, but that adds some ugly clutter to a project supporting multiple builds and isn't acceptable to the project lead.
There isn't currently a way to list the headers to make public, but you can create a custom module map to achieve this. There's more information at https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md, and using the module map you can publish any headers you want to. This does assume that the client will be including them as a module.