semantic versioning

34
Semantic Versioning 宇佐見 公輔

Upload: kosuke-usami

Post on 08-Aug-2015

32 views

Category:

Software


0 download

TRANSCRIPT

Semantic Versioning!

宇佐見 公輔

Semantic Versioning って何?

バージョン番号の 付け方

主にライブラリ向け

なぜ必要か?

バージョン番号の 大小を機械的に判定

どこで使われているか?

パッケージを管理する システム

RubyGemsとか CocoaPodsとか

一般のアプリは 必ずしも守る必要はない

でも、迷うようなら 参考にしてはどうか

仕様の基本

Major.Minor.Patch

(例) 1.0.0 2.1.3 3.10.1

Patch番号 バグ修正とか

Minor番号 後方互換性がある変更

Major番号 後方互換性がない変更

基本の補足

Major番号 = 0 開発段階を示す

この場合は 厳密なルールはない

応用(1)

プレリリース (betaとかRCとか)

X.Y.Z-hoge

プレリリースは 通常バージョンより 低いバージョンとなる

1.0.0 < 1.1.0-alpha < 1.1.0

1.1.0-alpha < 1.1.0-beta < 1.1.0-beta2 < 1.1.0-RC

応用(2)

ビルドメタデータ

X.Y.Z+fuga X.Y.Z-hoge+fuga

ビルドメタデータは バージョンの大小に 影響を与えない

1.1.0 = 1.1.0+ext1 = 1.1.0+ext2

1.1.0-alpha = 1.1.0-alpha+ext1 = 1.1.0-alpha+ext2

仕様書の場所

semver.org