%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*- %% ex: ts=4 sw=4 et -module(rebar_resource). -export([]). -export_types([resource/0 ,type/0 ,location/0 ,ref/0]). -type resource() :: {type(), location(), ref()}. -type type() :: atom(). -type location() :: string(). -type ref() :: any(). -ifdef(have_callback_support). %% In the case where R14 or lower is being used to compile the system %% we need to export a behaviour info -export([behaviour_info/1]). -spec behaviour_info(atom()) -> [{atom(), arity()}] | undefined. behaviour_info(callbacks) -> [{lock, 2}, {download, 2}, {needs_update,2}, {make_vsn, 1}]; behaviour_info(_) -> undefined. -else. -callback lock(file:filename_all(), tuple()) -> rebar_resource:resource(). -callback download(file:filename_all(), tuple()) -> {tarball, file:filename_all()} | {ok, any()} | {error, any()}. -callback needs_update(file:filename_all(), tuple()) -> {tarball, file:filename_all()} | {ok, any()} | {error, any()}. -callback make_vsn(file:filename_all()) -> {plain, string()} | {error, string()}. -endif.