All Projects → thisandagain → Semver

thisandagain / Semver

Licence: mit
Semantic Versioning library for Objective-C

Labels

Projects that are alternatives of or similar to Semver

React Native Version
🔢 Version your React Native or Expo app in a `npm version` fashion.
Stars: ✭ 408 (+257.89%)
Mutual labels:  semver
Gl Vsts Tasks Semver
Visual Studio Team Services Build and Release Management extensions that help you work with semantic versioning
Stars: ✭ 8 (-92.98%)
Mutual labels:  semver
Semver.net
Semantic versioning for .NET
Stars: ✭ 80 (-29.82%)
Mutual labels:  semver
Php Semver Checker
Compares two source sets and determines the appropriate semantic versioning to apply.
Stars: ✭ 413 (+262.28%)
Mutual labels:  semver
Semver
Semantic Versioning (semver) library written in golang
Stars: ✭ 804 (+605.26%)
Mutual labels:  semver
Dependency Land
Find the npm modules that depend on a specific module and semver range.
Stars: ✭ 34 (-70.18%)
Mutual labels:  semver
Syncpack
Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces
Stars: ✭ 356 (+212.28%)
Mutual labels:  semver
Semver
Semantic Versioning for modern C++
Stars: ✭ 108 (-5.26%)
Mutual labels:  semver
Percent
📈 Percent control done right
Stars: ✭ 7 (-93.86%)
Mutual labels:  semver
Semver
Semver checker for Packagist
Stars: ✭ 73 (-35.96%)
Mutual labels:  semver
Commitizen
Create committing rules for projects 🚀 auto bump versions ⬆️ and auto changelog generation 📂
Stars: ✭ 477 (+318.42%)
Mutual labels:  semver
Shipjs
Take control of what is going to be your next release.
Stars: ✭ 668 (+485.96%)
Mutual labels:  semver
Grabver
Gradle Automatic Build Versioning Plugin - An easy Gradle plugin that follows semver.org rules to automatically generate the Patch version, Build number and Code version, while Major, Minor and Pre-Release suffix remain under our control.
Stars: ✭ 39 (-65.79%)
Mutual labels:  semver
Release It
🚀 Automate versioning and package publishing
Stars: ✭ 4,773 (+4086.84%)
Mutual labels:  semver
Git Version Bumper
Bump your git tag to the next version, easily. 👊
Stars: ✭ 87 (-23.68%)
Mutual labels:  semver
Jsemver
Java implementation of the SemVer Specification
Stars: ✭ 360 (+215.79%)
Mutual labels:  semver
Nlm
Lifecycle manager for node projects
Stars: ✭ 27 (-76.32%)
Mutual labels:  semver
Semantic Release
📦🚀 semantic-release written in go
Stars: ✭ 113 (-0.88%)
Mutual labels:  semver
Semver
Nx plugin to automate semantic versioning and CHANGELOG generation.
Stars: ✭ 99 (-13.16%)
Mutual labels:  semver
Please
please is semver release made easy
Stars: ✭ 72 (-36.84%)
Mutual labels:  semver

Semver

EDSemver is a helper library for Objective-C based on the 2.0.0 spec of Semantic Versioning.

Basic Use

#import "EDSemver.h"
EDSemver *left  = [[EDSemver alloc] initWithString:@"1.2.3-foo"];
EDSemver *right = [[EDSemver alloc] initWithString:@"1.2.3"];
return [left isGreaterThan:right]; // NO
EDSemver *version  = [[EDSemver alloc] initWithString:@"v22.0.4-alpha+1234"];
return [version major]; // 22

Properties

@property (readonly) NSInteger major;
@property (readonly) NSInteger minor;
@property (readonly) NSInteger patch;
@property (readonly, nullable) NSString *prerelease;
@property (readonly, nullable) NSString *build;

Methods

+ (nonnull NSString *)spec;
+ (nonnull instancetype)semverWithString:(nonnull NSString *)aString;

- (nonnull instancetype)initWithString:(nonnull NSString *)aString;
- (NSComparisonResult)compare:(nonnull EDSemver *)aVersion;
- (BOOL)isValid;

Testing

The test suite for EDSemver is built using XCTest. To run the test suite, simply open the project in Xcode and choose "test" from the Product menu. Please run and augment the tests prior to submitting a pull request.

ARC

EDSemver is built using ARC. If you are including EDSemver in a project that does not use Automatic Reference Counting (ARC), you will need to set the -fobjc-arc compiler flag on all of the EDSemver source files. To do this in Xcode, go to your active target and select the "Build Phases" tab. Now select all EDSemver source files, press Enter, insert -fobjc-arc and then "Done" to enable ARC for EDSemver.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].