rebar3_git_vsn

Build Statushex.pm version

Provider for generate the version from git.

It is a plugin for rebar3

Overview

When we use the {vsn, git}, it can be generated to automatically version from git hash.
However, it does not mean able to use at any time.
For example, if you want to publish to hex, it is not a recommended way.

If your library include escripts and does not use {vsn, git}, this plugin would be useful in order to return the correct version.
For example, it is used in erlup.

This plugin works as follows:

Usage

%% rebar.config
{plugins, [rebar3_git_vsn]}.

{provider_hooks, [{post, [{compile, git_vsn}]}]}.

{git_vsn,
 [
  %% Where to write the git vsn.
  %% FYI: application:get_env(Application, EnvKey)
  %%
  %% (default: git_vsn)
  {env_key, git_vsn},

  %% Git describe option.
  %% FYI: https://git-scm.com/docs/git-describe
  %%
  %% (default: "")
  {describe_opt, "--tags --long"},

  %% If the "git describe" returns "tag-count-hash", it convert to "{tag, count, hash}".
  %% Otherwise, it doesn't perform the conversion.
  %%
  %% (default: false)
  {separate, true}
 ]}.

License

MIT License