Pending further tests of --libs=

This commit is contained in:
Craig Everett 2020-07-01 20:29:29 +09:00
parent 37eae54b0f
commit 3d695208c8

View File

@ -979,7 +979,8 @@ run_dir(TargetDir, RunArgs) ->
ok ->
{ok, ProjectDir} = file:get_cwd(),
run_project(ProjectDir, ExecDir, RunArgs);
Error -> Error
Error ->
Error
end.
@ -990,17 +991,20 @@ run_dir(TargetDir, RunArgs) ->
run_project(ProjectDir, ExecDir, RunArgs) ->
{ok, Meta} = zx_lib:read_project_meta(),
PackageID = {_, Name, _} = maps:get(package_id, Meta),
Type = maps:get(type, Meta),
Deps = maps:get(deps, Meta),
{ok, Dir} = file:get_cwd(),
true = os:putenv(Name ++ "_include", filename:join(Dir, "include")),
case prepare(Deps) of
ok ->
ok = file:set_cwd(ProjectDir),
ok = zx_lib:build(),
ok = file:set_cwd(ExecDir),
execute(Type, PackageID, Meta, Dir, RunArgs);
case pre_prep(Meta, RunArgs) of
{Type, Deps, NewArgs} ->
PackageID = {_, Name, _} = maps:get(package_id, Meta),
true = os:putenv(Name ++ "_include", filename:join(Dir, "include")),
case prepare(Deps) of
ok ->
ok = file:set_cwd(ProjectDir),
ok = zx_lib:build(),
ok = file:set_cwd(ExecDir),
execute(Type, PackageID, Meta, Dir, NewArgs);
Error ->
Error
end;
Error ->
Error
end.
@ -1039,9 +1043,10 @@ dep_split([], Dep, Dir, Deps) ->
pre_prep2(Meta, LocalDeps, RunArgs) ->
Type = maps:get(type, Meta),
Deps = maps:get(deps, Meta),
NewDeps = pre_prep3(Deps, LocalDeps),
{Type, NewDeps, RunArgs}.
case pre_prep3(Deps, LocalDeps) of
{ok, NewDeps} -> {Type, NewDeps, RunArgs};
Error -> Error
end.
pre_prep3(Deps, [{Dep, Dir} | Rest]) ->
case zx_lib:package_id(Dep) of
@ -1051,17 +1056,11 @@ pre_prep3(Deps, [{Dep, Dir} | Rest]) ->
pre_prep3(Deps, []) ->
{ok, Deps}.
pre_prep4(Deps, {Realm, Name, _}, Dir, Rest) ->
pre_prep4(Deps, Dep = {Realm, Name, _}, Dir, Rest) ->
case file:set_cwd(Dir) of
ok ->
Scrub =
fun(D = {R, N, _}, Acc) ->
case (R == Realm) andalso (N == Name) of
true -> Acc;
false -> [D | Acc]
end
end,
NewDeps = Scrub(Deps, []),
Scrub = fun({R, N, _}) -> not ((R == Realm) andalso (N == Name)) end,
NewDeps = lists:filter(Scrub, Deps),
true = os:putenv(Name ++ "_include", filename:join(Dir, "include")),
ok = zx_lib:build(),
pre_prep3(NewDeps, Rest);