Skip to content

Latest commit

 

History

History
68 lines (64 loc) · 3.31 KB

README.md

File metadata and controls

68 lines (64 loc) · 3.31 KB

semver

GitHub license Dependency Status Build Status Maven Central Domate via Paypal

A small library implementing Semantic Versioning.

Versions

Version Site Apidocs Notes
0.3.0-SNAPSHOT jinahya.github.io jinahya.github.io
0.2.0 jinahya.github.io jinahya.github.io

Usages

Build metadata

final BuildMetadata.Builder builder
    = new BuildMetadata.Builder().identifiers("exp", "sha", "5114f85");
final BuildMetadata built = builder.build();
assertEquals(built.toString(), "exp.sha.5114f85");

Pre-release version

final PreReleaseVersion.Builder builder
    = new PreReleaseVersion.Builder().identifiers("x", "7", "z", "92");
final PreReleaseVersion built = builder.build();
assertEquals(built.toString(), "x.7.z.92");

Normal version

final NormalVersion.Builder builder = new NormalVersion.Builder()
    .majorVersion(0)
    .minorVersion(1)
    .patchVersion(0)
    .preReleaseVersion(
        new PreReleaseVersion.Builder()
        .identifiers("x", "7", "z", "92"))
    .buildMetadata(
        new BuildMetadata.Builder()
        .identifiers("exp", "sha", "5114f85"));
final NormalVersion built = builder.build();
assertEquals(built.toString(), "0.1.0-x.7.z.92+exp.sha.5114f85");

Patch and minor version MUST be reset to 0 when major version is incremented.

final NormalVersion.Builder builder = new NormalVersion.Builder()
    .majorVersion(0)
    .minorVersion(1)
    .patchVersion(2);
final NormalVersion built = builder.build();
assertEquals(built.toString(), "0.1.2");
assertEquals(built.getMajorVersionIncreased().toString(), "1.0.0");

Patch version MUST be reset to 0 when minor version is incremented.

final NormalVersion.Builder builder = new NormalVersion.Builder()
    .majorVersion(1)
    .minorVersion(0)
    .patchVersion(1);
final NormalVersion built = builder.build();
assertEquals(built.toString(), "1.0.1");
assertEquals(built.getMinorVersionIncreased().toString(), "1.1.0");

[![Domate via Paypal](https://img.shields.io/badge/donate-paypal-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_cart&business=A954LDFBW4B9N&lc=KR&item_name=GitHub&amount=5%2e00¤cy_code=USD&button_subtype=products&add=1&bn=PP%2dShopCartBF%3adonate%2dpaypal%2dblue%2epng%3aNonHosted)