This commit is contained in:
Craig Everett 2019-12-18 21:49:21 +09:00
parent a2fb8a57ce
commit f40d8a940a

View File

@ -21,7 +21,7 @@
force_dir/1, mktemp_dir/1, random_string/0, force_dir/1, mktemp_dir/1, random_string/0,
list_realms/0, realm_exists/1, list_realms/0, realm_exists/1,
get_prime/1, get_prime/1,
read_project_meta/0, read_project_meta/1, read_package_meta/1, read_project_meta/0, read_project_meta/1,
write_project_meta/1, write_project_meta/2, write_project_meta/1, write_project_meta/2,
write_terms/2, exec_shell/1, write_terms/2, exec_shell/1,
valid_lower0_9/1, valid_label/1, valid_version/1, valid_lower0_9/1, valid_label/1, valid_version/1,
@ -217,7 +217,7 @@ read_project_meta() ->
-spec read_project_meta(Dir) -> Result -spec read_project_meta(Dir) -> Result
when Dir :: file:filename(), when Dir :: file:filename(),
Result :: {ok, zx:package_meta()} Result :: {ok, zx_zsp:meta()}
| {error, file:posix()} | {error, file:posix()}
| {error, file:posix(), non_neg_integer()}. | {error, file:posix(), non_neg_integer()}.
%% @private %% @private
@ -226,8 +226,9 @@ read_project_meta() ->
read_project_meta(Dir) -> read_project_meta(Dir) ->
Path = filename:join(Dir, "zomp.meta"), Path = filename:join(Dir, "zomp.meta"),
case file:consult(Path) of case file:consult(Path) of
{ok, Meta} -> {ok, Data} ->
{ok, maps:from_list(Meta)}; Meta = maps:merge(zx_zsp:new_meta(), maps:from_list(Meta)),
{ok, Meta};
{error, enoent} -> {error, enoent} ->
{error, "No project zomp.meta file. Wrong directory? Not initialized?", 2}; {error, "No project zomp.meta file. Wrong directory? Not initialized?", 2};
Error -> Error ->
@ -236,17 +237,8 @@ read_project_meta(Dir) ->
end. end.
-spec read_package_meta(PackageID) -> Result
when PackageID :: zx:package_id(),
Result :: {ok, zx:package_meta()}
| {error, file:posix()}.
read_package_meta(PackageID) ->
read_project_meta(path(lib, PackageID)).
-spec write_project_meta(Meta) -> Result -spec write_project_meta(Meta) -> Result
when Meta :: zx:package_meta(), when Meta :: zx_zsp:meta(),
Result :: ok Result :: ok
| {error, Reason}, | {error, Reason},
Reason :: badarg Reason :: badarg
@ -262,14 +254,15 @@ write_project_meta(Meta) ->
-spec write_project_meta(Dir, Meta) -> ok -spec write_project_meta(Dir, Meta) -> ok
when Dir :: file:filename(), when Dir :: file:filename(),
Meta :: zx:package_meta(). Meta :: zx_zsp:meta().
%% @private %% @private
%% Write the contents of the provided meta structure (a map these days) as a list of %% Write the contents of the provided meta structure (a map these days) as a list of
%% Erlang K/V terms. %% Erlang K/V terms.
write_project_meta(Dir, Meta) -> write_project_meta(Dir, Meta) ->
Path = filename:join(Dir, "zomp.meta"), Path = filename:join(Dir, "zomp.meta"),
write_terms(Path, maps:to_list(Meta)). Data = maps:to_list(maps:merge(zx_zsp:new_meta(), Meta)),
write_terms(Path, Data).
-spec write_terms(Filename, Terms) -> Result -spec write_terms(Filename, Terms) -> Result