Skip to main content

src/version_bump@release.erl

-module(version_bump@release).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/version_bump/release.gleam").
-export_type([last_release/0, next_release/0, release/0]).

-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.

?MODULEDOC(
    " Release records produced and consumed across the pipeline: the previous\n"
    " release discovered in git, the release about to be made, and the artifacts a\n"
    " `publish` / `add_channel` hook produces.\n"
).

-type last_release() :: {last_release,
        binary(),
        binary(),
        binary(),
        list(gleam@option:option(binary()))}.

-type next_release() :: {next_release,
        binary(),
        version_bump@semver:release_type(),
        binary(),
        binary(),
        gleam@option:option(binary()),
        binary()}.

-type release() :: {release,
        binary(),
        gleam@option:option(binary()),
        binary(),
        binary(),
        gleam@option:option(binary()),
        binary()}.