Skip to main content

include/version_bump@plugin_Plugin.hrl

-record(plugin, {
    name :: binary(),
    verify_conditions :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            nil} |
        {error, version_bump@error:release_error()})),
    analyze_commits :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            gleam@option:option(version_bump@semver:release_type())} |
        {error, version_bump@error:release_error()})),
    verify_release :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            nil} |
        {error, version_bump@error:release_error()})),
    generate_notes :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            binary()} |
        {error, version_bump@error:release_error()})),
    add_channel :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            gleam@option:option(version_bump@release:release())} |
        {error, version_bump@error:release_error()})),
    prepare :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            nil} |
        {error, version_bump@error:release_error()})),
    publish :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> version_bump@task:task({ok,
            gleam@option:option(version_bump@release:release())} |
        {error, version_bump@error:release_error()}))),
    success :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            nil} |
        {error, version_bump@error:release_error()})),
    fail :: gleam@option:option(fun((version_bump@config:plugin_spec(), version_bump@context:context()) -> {ok,
            nil} |
        {error, version_bump@error:release_error()}))
}).