diff --git a/.gitignore b/.gitignore
index f3c8e33..5812d0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
.DS_Store
/.build
/Packages
-/*.xcodeproj
xcuserdata/
.swiftpm/
diff --git a/.spi.yml b/.spi.yml
new file mode 100644
index 0000000..3adffc4
--- /dev/null
+++ b/.spi.yml
@@ -0,0 +1,5 @@
+version: 1
+builder:
+ configs:
+ - platform: watchos
+ scheme: SemanticVersion-watchOS
diff --git a/SemanticVersion.xcodeproj/SemanticVersionTests_Info.plist b/SemanticVersion.xcodeproj/SemanticVersionTests_Info.plist
new file mode 100644
index 0000000..7c23420
--- /dev/null
+++ b/SemanticVersion.xcodeproj/SemanticVersionTests_Info.plist
@@ -0,0 +1,25 @@
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ NSPrincipalClass
+
+
+
diff --git a/SemanticVersion.xcodeproj/SemanticVersion_Info.plist b/SemanticVersion.xcodeproj/SemanticVersion_Info.plist
new file mode 100644
index 0000000..57ada9f
--- /dev/null
+++ b/SemanticVersion.xcodeproj/SemanticVersion_Info.plist
@@ -0,0 +1,25 @@
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ NSPrincipalClass
+
+
+
diff --git a/SemanticVersion.xcodeproj/project.pbxproj b/SemanticVersion.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..ce61b87
--- /dev/null
+++ b/SemanticVersion.xcodeproj/project.pbxproj
@@ -0,0 +1,559 @@
+// !$*UTF8*$!
+{
+ archiveVersion = "1";
+ objectVersion = "46";
+ objects = {
+ "OBJ_1" = {
+ isa = "PBXProject";
+ attributes = {
+ LastSwiftMigration = "9999";
+ LastUpgradeCheck = "9999";
+ };
+ buildConfigurationList = "OBJ_2";
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = "en";
+ hasScannedForEncodings = "0";
+ knownRegions = (
+ "en"
+ );
+ mainGroup = "OBJ_5";
+ productRefGroup = "OBJ_14";
+ projectDirPath = ".";
+ targets = (
+ "SemanticVersion::SemanticVersion",
+ "SemanticVersion::SwiftPMPackageDescription",
+ "SemanticVersion::SemanticVersionPackageTests::ProductTarget",
+ "SemanticVersion::SemanticVersionTests"
+ );
+ };
+ "OBJ_10" = {
+ isa = "PBXFileReference";
+ path = "SemanticVersion.swift";
+ sourceTree = "";
+ };
+ "OBJ_11" = {
+ isa = "PBXGroup";
+ children = (
+ "OBJ_12"
+ );
+ name = "Tests";
+ path = "";
+ sourceTree = "SOURCE_ROOT";
+ };
+ "OBJ_12" = {
+ isa = "PBXGroup";
+ children = (
+ "OBJ_13"
+ );
+ name = "SemanticVersionTests";
+ path = "Tests/SemanticVersionTests";
+ sourceTree = "SOURCE_ROOT";
+ };
+ "OBJ_13" = {
+ isa = "PBXFileReference";
+ path = "SemanticVersionTests.swift";
+ sourceTree = "";
+ };
+ "OBJ_14" = {
+ isa = "PBXGroup";
+ children = (
+ "SemanticVersion::SemanticVersionTests::Product",
+ "SemanticVersion::SemanticVersion::Product"
+ );
+ name = "Products";
+ path = "";
+ sourceTree = "BUILT_PRODUCTS_DIR";
+ };
+ "OBJ_17" = {
+ isa = "PBXFileReference";
+ path = "LICENSE";
+ sourceTree = "";
+ };
+ "OBJ_18" = {
+ isa = "PBXFileReference";
+ path = "README.md";
+ sourceTree = "";
+ };
+ "OBJ_2" = {
+ isa = "XCConfigurationList";
+ buildConfigurations = (
+ "OBJ_3",
+ "OBJ_4"
+ );
+ defaultConfigurationIsVisible = "0";
+ defaultConfigurationName = "Release";
+ };
+ "OBJ_20" = {
+ isa = "XCConfigurationList";
+ buildConfigurations = (
+ "OBJ_21",
+ "OBJ_22"
+ );
+ defaultConfigurationIsVisible = "0";
+ defaultConfigurationName = "Release";
+ };
+ "OBJ_21" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ ENABLE_TESTABILITY = "YES";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PLATFORM_DIR)/Developer/Library/Frameworks"
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)"
+ );
+ INFOPLIST_FILE = "SemanticVersion.xcodeproj/SemanticVersion_Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"
+ );
+ OTHER_CFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_SWIFT_FLAGS = (
+ "$(inherited)"
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "SemanticVersion";
+ PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SKIP_INSTALL = "YES";
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
+ "$(inherited)"
+ );
+ SWIFT_VERSION = "4.2";
+ TARGET_NAME = "SemanticVersion";
+ };
+ name = "Debug";
+ };
+ "OBJ_22" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ ENABLE_TESTABILITY = "YES";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PLATFORM_DIR)/Developer/Library/Frameworks"
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)"
+ );
+ INFOPLIST_FILE = "SemanticVersion.xcodeproj/SemanticVersion_Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"
+ );
+ OTHER_CFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_SWIFT_FLAGS = (
+ "$(inherited)"
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "SemanticVersion";
+ PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ SKIP_INSTALL = "YES";
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
+ "$(inherited)"
+ );
+ SWIFT_VERSION = "4.2";
+ TARGET_NAME = "SemanticVersion";
+ };
+ name = "Release";
+ };
+ "OBJ_23" = {
+ isa = "PBXSourcesBuildPhase";
+ files = (
+ "OBJ_24",
+ "OBJ_25"
+ );
+ };
+ "OBJ_24" = {
+ isa = "PBXBuildFile";
+ fileRef = "OBJ_9";
+ };
+ "OBJ_25" = {
+ isa = "PBXBuildFile";
+ fileRef = "OBJ_10";
+ };
+ "OBJ_26" = {
+ isa = "PBXFrameworksBuildPhase";
+ files = (
+ );
+ };
+ "OBJ_28" = {
+ isa = "XCConfigurationList";
+ buildConfigurations = (
+ "OBJ_29",
+ "OBJ_30"
+ );
+ defaultConfigurationIsVisible = "0";
+ defaultConfigurationName = "Release";
+ };
+ "OBJ_29" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ LD = "/usr/bin/true";
+ OTHER_SWIFT_FLAGS = (
+ "-swift-version",
+ "4.2",
+ "-I",
+ "$(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2",
+ "-sdk",
+ "/Applications/Xcode_12_beta_6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk",
+ "-package-description-version",
+ "4.2.0"
+ );
+ SWIFT_VERSION = "4.2";
+ };
+ name = "Debug";
+ };
+ "OBJ_3" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = "YES";
+ COMBINE_HIDPI_IMAGES = "YES";
+ COPY_PHASE_STRIP = "NO";
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ ENABLE_NS_ASSERTIONS = "YES";
+ GCC_OPTIMIZATION_LEVEL = "0";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "SWIFT_PACKAGE=1",
+ "DEBUG=1"
+ );
+ MACOSX_DEPLOYMENT_TARGET = "10.10";
+ ONLY_ACTIVE_ARCH = "YES";
+ OTHER_SWIFT_FLAGS = (
+ "$(inherited)",
+ "-DXcode"
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = "macosx";
+ SUPPORTED_PLATFORMS = (
+ "macosx",
+ "iphoneos",
+ "iphonesimulator",
+ "appletvos",
+ "appletvsimulator",
+ "watchos",
+ "watchsimulator"
+ );
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
+ "$(inherited)",
+ "SWIFT_PACKAGE",
+ "DEBUG"
+ );
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ USE_HEADERMAP = "NO";
+ };
+ name = "Debug";
+ };
+ "OBJ_30" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ LD = "/usr/bin/true";
+ OTHER_SWIFT_FLAGS = (
+ "-swift-version",
+ "4.2",
+ "-I",
+ "$(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2",
+ "-sdk",
+ "/Applications/Xcode_12_beta_6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk",
+ "-package-description-version",
+ "4.2.0"
+ );
+ SWIFT_VERSION = "4.2";
+ };
+ name = "Release";
+ };
+ "OBJ_31" = {
+ isa = "PBXSourcesBuildPhase";
+ files = (
+ "OBJ_32"
+ );
+ };
+ "OBJ_32" = {
+ isa = "PBXBuildFile";
+ fileRef = "OBJ_6";
+ };
+ "OBJ_34" = {
+ isa = "XCConfigurationList";
+ buildConfigurations = (
+ "OBJ_35",
+ "OBJ_36"
+ );
+ defaultConfigurationIsVisible = "0";
+ defaultConfigurationName = "Release";
+ };
+ "OBJ_35" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ };
+ name = "Debug";
+ };
+ "OBJ_36" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ };
+ name = "Release";
+ };
+ "OBJ_37" = {
+ isa = "PBXTargetDependency";
+ target = "SemanticVersion::SemanticVersionTests";
+ };
+ "OBJ_39" = {
+ isa = "XCConfigurationList";
+ buildConfigurations = (
+ "OBJ_40",
+ "OBJ_41"
+ );
+ defaultConfigurationIsVisible = "0";
+ defaultConfigurationName = "Release";
+ };
+ "OBJ_4" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = "YES";
+ COMBINE_HIDPI_IMAGES = "YES";
+ COPY_PHASE_STRIP = "YES";
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ GCC_OPTIMIZATION_LEVEL = "s";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "SWIFT_PACKAGE=1"
+ );
+ MACOSX_DEPLOYMENT_TARGET = "10.10";
+ OTHER_SWIFT_FLAGS = (
+ "$(inherited)",
+ "-DXcode"
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = "macosx";
+ SUPPORTED_PLATFORMS = (
+ "macosx",
+ "iphoneos",
+ "iphonesimulator",
+ "appletvos",
+ "appletvsimulator",
+ "watchos",
+ "watchsimulator"
+ );
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
+ "$(inherited)",
+ "SWIFT_PACKAGE"
+ );
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ USE_HEADERMAP = "NO";
+ };
+ name = "Release";
+ };
+ "OBJ_40" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ CLANG_ENABLE_MODULES = "YES";
+ EMBEDDED_CONTENT_CONTAINS_SWIFT = "YES";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PLATFORM_DIR)/Developer/Library/Frameworks"
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)"
+ );
+ INFOPLIST_FILE = "SemanticVersion.xcodeproj/SemanticVersionTests_Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@loader_path/../Frameworks",
+ "@loader_path/Frameworks"
+ );
+ OTHER_CFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_SWIFT_FLAGS = (
+ "$(inherited)"
+ );
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
+ "$(inherited)"
+ );
+ SWIFT_VERSION = "4.2";
+ TARGET_NAME = "SemanticVersionTests";
+ };
+ name = "Debug";
+ };
+ "OBJ_41" = {
+ isa = "XCBuildConfiguration";
+ buildSettings = {
+ CLANG_ENABLE_MODULES = "YES";
+ EMBEDDED_CONTENT_CONTAINS_SWIFT = "YES";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PLATFORM_DIR)/Developer/Library/Frameworks"
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)"
+ );
+ INFOPLIST_FILE = "SemanticVersion.xcodeproj/SemanticVersionTests_Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@loader_path/../Frameworks",
+ "@loader_path/Frameworks"
+ );
+ OTHER_CFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)"
+ );
+ OTHER_SWIFT_FLAGS = (
+ "$(inherited)"
+ );
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
+ "$(inherited)"
+ );
+ SWIFT_VERSION = "4.2";
+ TARGET_NAME = "SemanticVersionTests";
+ };
+ name = "Release";
+ };
+ "OBJ_42" = {
+ isa = "PBXSourcesBuildPhase";
+ files = (
+ "OBJ_43"
+ );
+ };
+ "OBJ_43" = {
+ isa = "PBXBuildFile";
+ fileRef = "OBJ_13";
+ };
+ "OBJ_44" = {
+ isa = "PBXFrameworksBuildPhase";
+ files = (
+ "OBJ_45"
+ );
+ };
+ "OBJ_45" = {
+ isa = "PBXBuildFile";
+ fileRef = "SemanticVersion::SemanticVersion::Product";
+ };
+ "OBJ_46" = {
+ isa = "PBXTargetDependency";
+ target = "SemanticVersion::SemanticVersion";
+ };
+ "OBJ_5" = {
+ isa = "PBXGroup";
+ children = (
+ "OBJ_6",
+ "OBJ_7",
+ "OBJ_11",
+ "OBJ_14",
+ "OBJ_17",
+ "OBJ_18"
+ );
+ path = "";
+ sourceTree = "";
+ };
+ "OBJ_6" = {
+ isa = "PBXFileReference";
+ explicitFileType = "sourcecode.swift";
+ path = "Package.swift";
+ sourceTree = "";
+ };
+ "OBJ_7" = {
+ isa = "PBXGroup";
+ children = (
+ "OBJ_8"
+ );
+ name = "Sources";
+ path = "";
+ sourceTree = "SOURCE_ROOT";
+ };
+ "OBJ_8" = {
+ isa = "PBXGroup";
+ children = (
+ "OBJ_9",
+ "OBJ_10"
+ );
+ name = "SemanticVersion";
+ path = "Sources/SemanticVersion";
+ sourceTree = "SOURCE_ROOT";
+ };
+ "OBJ_9" = {
+ isa = "PBXFileReference";
+ path = "NSRegularExpression+ext.swift";
+ sourceTree = "";
+ };
+ "SemanticVersion::SemanticVersion" = {
+ isa = "PBXNativeTarget";
+ buildConfigurationList = "OBJ_20";
+ buildPhases = (
+ "OBJ_23",
+ "OBJ_26"
+ );
+ dependencies = (
+ );
+ name = "SemanticVersion";
+ productName = "SemanticVersion";
+ productReference = "SemanticVersion::SemanticVersion::Product";
+ productType = "com.apple.product-type.framework";
+ };
+ "SemanticVersion::SemanticVersion::Product" = {
+ isa = "PBXFileReference";
+ path = "SemanticVersion.framework";
+ sourceTree = "BUILT_PRODUCTS_DIR";
+ };
+ "SemanticVersion::SemanticVersionPackageTests::ProductTarget" = {
+ isa = "PBXAggregateTarget";
+ buildConfigurationList = "OBJ_34";
+ buildPhases = (
+ );
+ dependencies = (
+ "OBJ_37"
+ );
+ name = "SemanticVersionPackageTests";
+ productName = "SemanticVersionPackageTests";
+ };
+ "SemanticVersion::SemanticVersionTests" = {
+ isa = "PBXNativeTarget";
+ buildConfigurationList = "OBJ_39";
+ buildPhases = (
+ "OBJ_42",
+ "OBJ_44"
+ );
+ dependencies = (
+ "OBJ_46"
+ );
+ name = "SemanticVersionTests";
+ productName = "SemanticVersionTests";
+ productReference = "SemanticVersion::SemanticVersionTests::Product";
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ "SemanticVersion::SemanticVersionTests::Product" = {
+ isa = "PBXFileReference";
+ path = "SemanticVersionTests.xctest";
+ sourceTree = "BUILT_PRODUCTS_DIR";
+ };
+ "SemanticVersion::SwiftPMPackageDescription" = {
+ isa = "PBXNativeTarget";
+ buildConfigurationList = "OBJ_28";
+ buildPhases = (
+ "OBJ_31"
+ );
+ dependencies = (
+ );
+ name = "SemanticVersionPackageDescription";
+ productName = "SemanticVersionPackageDescription";
+ productType = "com.apple.product-type.framework";
+ };
+ };
+ rootObject = "OBJ_1";
+}
diff --git a/SemanticVersion.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SemanticVersion.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..fe1aa71
--- /dev/null
+++ b/SemanticVersion.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/SemanticVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SemanticVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/SemanticVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/SemanticVersion.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/SemanticVersion.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..a72dc2b
--- /dev/null
+++ b/SemanticVersion.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
+
+
+
\ No newline at end of file
diff --git a/SemanticVersion.xcodeproj/xcshareddata/xcschemes/SemanticVersion-Package.xcscheme b/SemanticVersion.xcodeproj/xcshareddata/xcschemes/SemanticVersion-Package.xcscheme
new file mode 100644
index 0000000..9e665c2
--- /dev/null
+++ b/SemanticVersion.xcodeproj/xcshareddata/xcschemes/SemanticVersion-Package.xcscheme
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SemanticVersion.xcodeproj/xcshareddata/xcschemes/SemanticVersion-watchOS.xcscheme b/SemanticVersion.xcodeproj/xcshareddata/xcschemes/SemanticVersion-watchOS.xcscheme
new file mode 100644
index 0000000..9e665c2
--- /dev/null
+++ b/SemanticVersion.xcodeproj/xcshareddata/xcschemes/SemanticVersion-watchOS.xcscheme
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+