Current section
Files
Jump to
Current section
Files
src/go_over@retired@core.erl
-module(go_over@retired@core).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([release_path/1, outdated_path/1, pkg_pull_error/2, release_filename/1, outdated_filename/1, print_ret/1, package_url/1, release_url/1, do_pull_hex/2]).
-spec release_path(go_over@packages:package()) -> binary().
release_path(Pkg) ->
_pipe = go_over@util@constants:go_over_path(),
_pipe@1 = filepath:join(_pipe, <<"deps"/utf8>>),
_pipe@2 = filepath:join(_pipe@1, erlang:element(2, Pkg)),
filepath:join(_pipe@2, erlang:element(4, Pkg)).
-spec outdated_path(go_over@packages:package()) -> binary().
outdated_path(Pkg) ->
_pipe = go_over@util@constants:go_over_path(),
_pipe@1 = filepath:join(_pipe, <<"outdated"/utf8>>),
_pipe@2 = filepath:join(_pipe@1, erlang:element(2, Pkg)),
filepath:join(_pipe@2, erlang:element(4, Pkg)).
-spec pkg_pull_error(go_over@packages:package(), binary()) -> binary().
pkg_pull_error(Pkg, Pkg_path) ->
<<<<<<"could not store hex.pm pkg info. package: "/utf8,
(erlang:element(2, Pkg))/binary>>/binary,
" at path "/utf8>>/binary,
Pkg_path/binary>>.
-spec release_filename(go_over@packages:package()) -> binary().
release_filename(Pkg) ->
_pipe = Pkg,
_pipe@1 = release_path(_pipe),
filepath:join(_pipe@1, <<"resp.json"/utf8>>).
-spec outdated_filename(go_over@packages:package()) -> binary().
outdated_filename(Pkg) ->
_pipe = Pkg,
_pipe@1 = outdated_path(_pipe),
filepath:join(_pipe@1, <<"outdated-resp.json"/utf8>>).
-spec print_ret(gleam@hexpm:release_retirement()) -> binary().
print_ret(Ret) ->
Reason = gleam@hexpm:retirement_reason_to_string(erlang:element(2, Ret)),
case erlang:element(3, Ret) of
{some, Msg} ->
<<<<Reason/binary, ": "/utf8>>/binary, Msg/binary>>;
_ ->
Reason
end.
-spec package_url(go_over@packages:package()) -> binary().
package_url(Pkg) ->
<<"https://hex.pm/api/packages/"/utf8, (erlang:element(2, Pkg))/binary>>.
-spec release_url(go_over@packages:package()) -> binary().
release_url(Pkg) ->
<<<<(package_url(Pkg))/binary, "/releases/"/utf8>>/binary,
(erlang:element(4, Pkg))/binary>>.
-spec do_pull_hex(go_over@packages:package(), binary()) -> binary().
do_pull_hex(Pkg, Url) ->
_pipe = shellout:command(
<<"curl"/utf8>>,
[<<"-s"/utf8>>, Url],
<<"."/utf8>>,
[]
),
go_over@util@util:hard_fail(
_pipe,
<<<<"request to hex.pm for package: "/utf8,
(erlang:element(2, Pkg))/binary>>/binary,
" failed"/utf8>>
).