rebar3_git_vsn
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:
-
If
${APP_DIR}/.gitis exist, add the version of git to the.appfile. -
If
${APP_DIR}/.gitisn't exist, it does noting.
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}
]}.