0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CrystalAdvent Calendar 2022

Day 5

Crystalで自作ライブラリにバージョンナンバーをつける

Last updated at Posted at 2023-04-14

はじめに

Crystal言語は、Rubyとは異なり、shard.ymlにバージョンナンバーを明示する文化がある。
Rubyでは、gemspecに直接バージョンナンバーを書き込むのは好ましくないとされており、VERSION定数を参照する。

Crystalでは、VERSION定数を指定しなければならないという決まりはない。しかし、Rubyの文化を踏襲して、VERSION定数が指定されていることも多い。しかし、shard.yml とVERSION定数の両方でバージョンナンバーを記述すると、記述が二重で冗長である。

結論

Shardsに書かれたバージョンナンバーを、マクロを使って参照するということが行われる。
具体的には下記のように書けばいい。

module PIYO
  VERSION = {{ `shards version #{__DIR__}`.chomp.stringify }}
end

このようにすることで、バージョンナンバーの定義はshard.ymlに集約される。

この記事は以上です。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?