Versioning¶
Configuration¶
バージョンが[statically set]されていない場合(config/metadata.md#version)、設定はtool.hatch.version
テーブルで定義されます。source
オプションは、バージョンのretrievingおよびupdatingに使用するsourceを決定します。デフォルトでは、regexソースが使用されます。
regex
ソースには、プロジェクトのバージョンを含むファイルへの相対パスを表すオプションpath
が必要です。:
[tool.hatch.version]
path = "src/hatch_demo/__about__.py"
[version]
path = "src/hatch_demo/__about__.py"
デフォルトのパターンでは、__version__
またはVERSION
という名前の変数が検索されます。この変数は、バージョンを含む文字列に設定され、オプションで小文字のv
が先頭に付くこともあります。
これがバージョンの保存方法を反映していない場合は、pattern
オプションを使用して別の正規表現を定義できます。:
[tool.hatch.version]
path = "pkg/__init__.py"
pattern = "BUILD = 'b(?P<version>[^']+)'"
[version]
path = "pkg/__init__.py"
pattern = "BUILD = 'b(?P<version>[^']+)'"
このパターンには、バージョンを表すversion
という名前付きグループが必要です。
Display¶
引数を指定せずにversion
コマンドを実行すると、プロジェクトの現在のバージョンが表示されます。:
$ hatch version
0.0.1
Updating¶
You can update the version like so:
次のようにバージョンを更新できます。:
$ hatch version "0.1.0"
Old: 0.0.1
New: 0.1.0
scheme
オプションは、既存のバージョンと新しいバージョンの両方を解析するために使用するschemeを決定します。standardスキームはデフォルトで使用され、PEP 440に基づいています。
バージョンを明示的に設定するのではなく、バージョンを増分するために使用されるsegmentの名前を選択できます。:
$ hatch version minor
Old: 0.1.0
New: 0.2.0
カンマを使用して、複数のセグメントの更新を連鎖させることができます。たとえば、プロジェクトの最初のメジャーバージョンのプレビューをリリースする場合は、次のようにします。:
$ hatch version major,rc
Old: 0.2.0
New: 1.0.0rc0
最終バージョンをリリースする場合は、次の手順を実行します。:
$ hatch version release
Old: 1.0.0rc0
New: 1.0.0
Supported segments¶
サポートされているセグメントと、それらが1.0.0
の既存のバージョンにどのように影響するかを以下に示します:
Segments | New version |
---|---|
release | 1.0.0 |
major | 2.0.0 |
minor | 1.1.0 |
micro patch fix | 1.0.1 |
a alpha | 1.0.0a0 |
b beta | 1.0.0b0 |
c rc pre preview | 1.0.0rc0 |
r rev post | 1.0.0.post0 |
dev | 1.0.0.dev0 |