Custom Plug‐In Tasks
SDGGiesbrecht opened this issue · 3 comments
SDGGiesbrecht commented
Workspace should provide a general plug‐in system to allow custom tasks to be shared across projects.
- A standard plug‐in would be a Swift Package which provides an executable.
- Plug‐ins would be applied using an addition to the
WorkspaceConfiguration
so that a user can specify the package URL, version, product, command line arguments, etc. - Plug‐ins would be separately applicable to the refresh, proofread and validate phases.
- To start with, plug‐in output should be displayed and success based on the exit code. Tighter integration could be added at a later date.
(This is almost how SwiftLint integration in implemented now. It just needs to generalized and surfaced in the configuration API. As part of implementing this feature, SwiftLint should lose its privileged status and become default plug‐in for the proofread phase.)
SDGGiesbrecht commented
Plug‐ins should also support shell commands which do not originate from a Swift package.
SDGGiesbrecht commented
Implemented in #262.
SDGGiesbrecht commented
Custom tasks are available in Workspace 0.18.0.