From fbb6d8dfe2ba0563175cb8e930767517ad8a7830 Mon Sep 17 00:00:00 2001 From: Brandon Sneed Date: Thu, 24 Feb 2022 10:56:15 -0800 Subject: [PATCH] Codify plugin versioning through the system --- Sources/Segment/Plugins.swift | 4 ++++ Sources/Segment/Plugins/SegmentDestination.swift | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/Sources/Segment/Plugins.swift b/Sources/Segment/Plugins.swift index 16ad34c8..56903c66 100644 --- a/Sources/Segment/Plugins.swift +++ b/Sources/Segment/Plugins.swift @@ -58,6 +58,10 @@ public protocol DestinationPlugin: EventPlugin { public protocol UtilityPlugin: EventPlugin { } +public protocol VersionedPlugin { + static func version() -> String +} + // For internal platform-specific bits internal protocol PlatformPlugin: Plugin { } diff --git a/Sources/Segment/Plugins/SegmentDestination.swift b/Sources/Segment/Plugins/SegmentDestination.swift index 0c231587..9c697f25 100644 --- a/Sources/Segment/Plugins/SegmentDestination.swift +++ b/Sources/Segment/Plugins/SegmentDestination.swift @@ -211,3 +211,11 @@ extension SegmentDestination { } } } + +// MARK: Versioning + +extension SegmentDestination: VersionedPlugin { + public static func version() -> String { + return __segment_version + } +}