Protocol
ShipItPlugin
Define custom actions that extend ShipItSwifty.
protocol ShipItPlugin : SendableOverview
In v1, plugins are statically linked Swift packages that register actions during process startup. Arbitrary runtime loading of uncompiled packages or dylibs is out of scope.
Creating a Plugin
Create a Swift package with a target that depends on
ShipItKitExport a type conforming to
ShipItPluginAdd the package to
Package.swiftRegister the plugin in the CLI/server bootstrap
Example
public struct MyAnalyticsPlugin: ShipItPlugin {
public static let name = "analytics"
public static let description = "Analytics integration"
public static var actions: [ActionDescriptor] = [
TrackReleaseAction.descriptor
]
}Topics
Type Properties
static var actions: [ActionDescriptor]The action descriptors contributed by this plugin.
static var description: StringA human-readable description of what this plugin provides.
static var name: StringA short machine-readable identifier for this plugin.
Relationships
Inherits From
Swift.SendableSwift.SendableMetatype