Swift packages can be in a bunch of states which makes them inappropriate for tagging or publishing. I think having a command to detect such states would be valuable for Swift package authors. In future, this can even evolve into a larger tag-and-publish workflow feature. Here is my mini-proposal for this command:
- Add a "swift package publish-precheck" command which will run a bunch of checks to determine if the current state of the package is appropriate for publishing. Please suggest if you have a better spelling for this command.
- The command will run a predefined list of checks and will report if a check failed or passed. Failed checks will contain proper diagnostics describing why they failed.
- The initial list of checks:
- Use of a local dependency
- Use of a branch or revision based dependency
- Uncommitted changes
- Existing tag with the current HEAD
- A dependency in edit mode
- At least one (library?) product
What do others think?