checksum() = binary()
contents() = #{filename() => binary()}
filename() = string()
files() = [{filename(), filename() | binary()}]
metadata() = map()
tarball() = binary()
| create/2 | |
| create/3 | Creates a package tarball. |
| create_docs/1 | |
| create_docs/2 | Creates a docs tarball. |
| format_checksum/1 | Returns base16-encoded representation of checksum. |
| format_error/1 | Converts an error reason term to a human-readable error message string. |
| unpack/2 | Unpacks a package tarball. |
| unpack/3 | Unpacks a package tarball. |
| unpack_docs/2 | |
| unpack_docs/3 | Unpacks a documentation tarball. |
create(Metadata::metadata(), Files::files()) -> {ok, #{tarball => tarball(), outer_checksum => checksum(), inner_checksum => tarball()}} | {error, term()}
create(Metadata::metadata(), Files::files(), Config::r3_hex_core:config()) -> {ok, #{tarball => tarball(), outer_checksum => checksum(), inner_checksum => tarball()}} | {error, term()}
Creates a package tarball.
Returns the binary of the tarball the "inner checksum" and "outer checksum". The inner checksum is deprecated in favor of the outer checksum.
Examples:
> Metadata = #{<<"name">> => <<"foo">>, <<"version">> => <<"1.0.0">>},
> Files = [{"src/foo.erl", <<"-module(foo).">>}],
> r3_hex_tarball:create(Metadata, Files).
{ok, #{tarball => <<86,69,...>>,
outer_checksum => <<40,32,...>>,
inner_checksum => <<178,12,...>>}}
create_docs(Files::files(), Config::r3_hex_core:config()) -> {ok, tarball()} | {error, term()}
Creates a docs tarball.
Examples:
> Files = [{"doc/index.html", <<"Docs">>}],
> r3_hex_tarball:create_docs(Files).
{ok, <<86,69,...>>}
format_checksum(Checksum::checksum()) -> binary()
Returns base16-encoded representation of checksum.
format_error(X1::term()) -> string()
Converts an error reason term to a human-readable error message string.
unpack(Tarball::tarball(), Output::memory) -> {ok, #{outer_checksum => checksum(), inner_checksum => checksum(), metadata => metadata(), contents => contents()}} | {error, term()}
unpack(Tarball::tarball(), Output::filename()) -> {ok, #{outer_checksum => checksum(), inner_checksum => checksum(), metadata => metadata()}} | {error, term()}
Unpacks a package tarball.
See also: unpack/3.
unpack(Tarball::tarball(), Output::memory, Config::r3_hex_core:config()) -> {ok, #{outer_checksum => checksum(), inner_checksum => checksum(), metadata => metadata(), contents => contents()}} | {error, term()}
unpack(Tarball::tarball(), Output::filename(), Config::r3_hex_core:config()) -> {ok, #{outer_checksum => checksum(), inner_checksum => checksum(), metadata => metadata()}} | {error, term()}
Unpacks a package tarball.
Remember to verify the outer tarball checksum against the registry checksum
returned from r3_hex_repo:get_package(Config, Package).
Examples:
> r3_hex_tarball:unpack(Tarball, memory).
{ok,#{outer_checksum => <<...>>,
contents => [{"src/foo.erl",<<"-module(foo).">>}],
metadata => #{<<"name">> => <<"foo">>, ...}}}
> r3_hex_tarball:unpack(Tarball, "path/to/unpack").
{ok,#{outer_checksum => <<...>>,
metadata => #{<<"name">> => <<"foo">>, ...}}}
unpack_docs(Tarball::tarball(), Output::memory) -> {ok, contents()} | {error, term()}
unpack_docs(Tarball::tarball(), Output::filename()) -> ok | {error, term()}
unpack_docs(Tarball::tarball(), Output::memory, Config::r3_hex_core:config()) -> {ok, contents()} | {error, term()}
unpack_docs(Tarball::tarball(), Output::filename(), Config::r3_hex_core:config()) -> ok | {error, term()}
Unpacks a documentation tarball.
Examples:
> r3_hex_tarball:unpack_docs(Tarball, memory).
{ok, [{"index.html", <<"<!doctype>">>}, ...]}
> r3_hex_tarball:unpack_docs(Tarball, "path/to/unpack").
ok
Generated by EDoc