got echo pkg_type done
working on packaging nacl, need to branch based on package type
This commit is contained in:
+47
-17
@@ -96,13 +96,14 @@ help_screen() ->
|
|||||||
" echo devdir echo $HOME/.jex/dev\n"
|
" echo devdir echo $HOME/.jex/dev\n"
|
||||||
" echo docsdir echo $HOME/.jex/docs\n"
|
" echo docsdir echo $HOME/.jex/docs\n"
|
||||||
" echo tmpdir echo $HOME/.jex/tmp\n"
|
" echo tmpdir echo $HOME/.jex/tmp\n"
|
||||||
" echo pkgname name of current package\n"
|
|
||||||
" echo pkg_devdir echo $HOME/.jex/dev/realm-name-X.Y.Z\n"
|
" echo pkg_devdir echo $HOME/.jex/dev/realm-name-X.Y.Z\n"
|
||||||
" echo pkg_devdir PKG echo $HOME/.jex/dev/PKG\n"
|
" echo pkg_devdir PKG echo $HOME/.jex/dev/PKG\n"
|
||||||
" echo pkg_docsdir echo $HOME/.jex/docs/realm-name-X.Y.Z\n"
|
" echo pkg_docsdir echo $HOME/.jex/docs/realm-name-X.Y.Z\n"
|
||||||
" echo pkg_docsdir PKG echo $HOME/.jex/docs/PKG\n"
|
" echo pkg_docsdir PKG echo $HOME/.jex/docs/PKG\n"
|
||||||
" echo pkg_tmpdir echo $HOME/.jex/tmp/realm-name-X.Y.Z\n"
|
" echo pkg_name name of current package\n"
|
||||||
" echo pkg_tmpdir PKG echo $HOME/.jex/tmp/PKG\n"
|
% " echo pkg_tmpdir echo $HOME/.jex/tmp/realm-name-X.Y.Z\n"
|
||||||
|
% " echo pkg_tmpdir PKG echo $HOME/.jex/tmp/PKG\n"
|
||||||
|
" echo pkg_type type of current package\n"
|
||||||
" echo deps list dependencies of current package\n"
|
" echo deps list dependencies of current package\n"
|
||||||
" echo serverpid [PORT] show the pid for the documentation server, if alive\n"
|
" echo serverpid [PORT] show the pid for the documentation server, if alive\n"
|
||||||
].
|
].
|
||||||
@@ -139,11 +140,12 @@ dispatch(["echo", "jexdir"]) -> echo(jexdir);
|
|||||||
dispatch(["echo", "devdir"]) -> echo(devdir);
|
dispatch(["echo", "devdir"]) -> echo(devdir);
|
||||||
dispatch(["echo", "docsdir"]) -> echo(docsdir);
|
dispatch(["echo", "docsdir"]) -> echo(docsdir);
|
||||||
dispatch(["echo", "tmpdir"]) -> echo(tmpdir);
|
dispatch(["echo", "tmpdir"]) -> echo(tmpdir);
|
||||||
dispatch(["echo", "pkgname"]) -> echo(pkgname);
|
|
||||||
dispatch(["echo", "pkg_devdir"]) -> echo(pkg_devdir);
|
dispatch(["echo", "pkg_devdir"]) -> echo(pkg_devdir);
|
||||||
dispatch(["echo", "pkg_devdir", PkgName]) -> echo({pkg_devdir, PkgName});
|
dispatch(["echo", "pkg_devdir", PkgName]) -> echo({pkg_devdir, PkgName});
|
||||||
dispatch(["echo", "pkg_docsdir"]) -> echo(pkg_docsdir);
|
dispatch(["echo", "pkg_docsdir"]) -> echo(pkg_docsdir);
|
||||||
dispatch(["echo", "pkg_docsdir", PkgName]) -> echo({pkg_docsdir, PkgName});
|
dispatch(["echo", "pkg_docsdir", PkgName]) -> echo({pkg_docsdir, PkgName});
|
||||||
|
dispatch(["echo", "pkg_name"]) -> echo(pkg_name);
|
||||||
|
dispatch(["echo", "pkg_type"]) -> echo(pkg_type);
|
||||||
dispatch(["echo", "deps"]) -> echo(deps);
|
dispatch(["echo", "deps"]) -> echo(deps);
|
||||||
dispatch(["echo", "serverpid"]) -> echo(serverpid);
|
dispatch(["echo", "serverpid"]) -> echo(serverpid);
|
||||||
dispatch(["echo", "serverpid", Port]) -> echo({serverpid, Port});
|
dispatch(["echo", "serverpid", Port]) -> echo({serverpid, Port});
|
||||||
@@ -210,6 +212,7 @@ cfg(safe) ->
|
|||||||
end.
|
end.
|
||||||
|
|
||||||
cfg2(Cfg) ->
|
cfg2(Cfg) ->
|
||||||
|
% see pkg_type/0, relies on this for validation
|
||||||
% allowed values:
|
% allowed values:
|
||||||
% - library
|
% - library
|
||||||
% - external
|
% - external
|
||||||
@@ -241,8 +244,6 @@ echo(docsdir) ->
|
|||||||
tell(info, "~ts", [docsdir()]);
|
tell(info, "~ts", [docsdir()]);
|
||||||
echo(tmpdir) ->
|
echo(tmpdir) ->
|
||||||
tell(info, "~ts", [tmpdir()]);
|
tell(info, "~ts", [tmpdir()]);
|
||||||
echo(pkgname) ->
|
|
||||||
tell(info, "~ts", [pkgname()]);
|
|
||||||
echo(pkg_devdir) ->
|
echo(pkg_devdir) ->
|
||||||
{_Exists, PkgDevDir} = pkg_devdir(),
|
{_Exists, PkgDevDir} = pkg_devdir(),
|
||||||
tell(info, "~ts", [PkgDevDir]);
|
tell(info, "~ts", [PkgDevDir]);
|
||||||
@@ -259,6 +260,8 @@ echo({pkg_docsdir, PkgName}) ->
|
|||||||
{exists, Dir} -> tell(info, "~ts", [Dir]);
|
{exists, Dir} -> tell(info, "~ts", [Dir]);
|
||||||
Error -> tell(error, "Error: ~tp", [Error])
|
Error -> tell(error, "Error: ~tp", [Error])
|
||||||
end;
|
end;
|
||||||
|
echo(pkg_name) ->
|
||||||
|
tell(info, "~ts", [pkg_name()]);
|
||||||
echo(pkg_tmpdir) ->
|
echo(pkg_tmpdir) ->
|
||||||
{_Exists, PkgTmpDir} = pkg_tmpdir(),
|
{_Exists, PkgTmpDir} = pkg_tmpdir(),
|
||||||
tell(info, "~ts", [PkgTmpDir]);
|
tell(info, "~ts", [PkgTmpDir]);
|
||||||
@@ -267,6 +270,13 @@ echo({pkg_tmpdir, PkgName}) ->
|
|||||||
{exists, Dir} -> tell(info, "~ts", [Dir]);
|
{exists, Dir} -> tell(info, "~ts", [Dir]);
|
||||||
Error -> tell(error, "Error: ~tp", [Error])
|
Error -> tell(error, "Error: ~tp", [Error])
|
||||||
end;
|
end;
|
||||||
|
echo(pkg_type) ->
|
||||||
|
case pkg_type() of
|
||||||
|
{ok, PkgType} ->
|
||||||
|
tell(info, "~tp", [PkgType]);
|
||||||
|
{error, Error} ->
|
||||||
|
error(Error)
|
||||||
|
end;
|
||||||
echo(deps) ->
|
echo(deps) ->
|
||||||
PrintDep = fun(Dep) -> tell(info, "~ts", [Dep]) end,
|
PrintDep = fun(Dep) -> tell(info, "~ts", [Dep]) end,
|
||||||
lists:foreach(PrintDep, deps());
|
lists:foreach(PrintDep, deps());
|
||||||
@@ -296,17 +306,10 @@ docsdir() ->
|
|||||||
tmpdir() ->
|
tmpdir() ->
|
||||||
filename:join(jexdir(), "tmp").
|
filename:join(jexdir(), "tmp").
|
||||||
|
|
||||||
pkgname() ->
|
|
||||||
{ok, Cfg} = cfg(),
|
|
||||||
Realm = proplists:get_value(realm, Cfg),
|
|
||||||
Name = proplists:get_value(name, Cfg),
|
|
||||||
Vsn = proplists:get_value(version, Cfg),
|
|
||||||
io_lib:format("~tp-~tp-~ts", [Realm, Name, Vsn]).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pkg_devdir() ->
|
pkg_devdir() ->
|
||||||
pkg_devdir(pkgname()).
|
pkg_devdir(pkg_name()).
|
||||||
|
|
||||||
pkg_devdir(Pkg) ->
|
pkg_devdir(Pkg) ->
|
||||||
Filename = filename:join(devdir(), Pkg),
|
Filename = filename:join(devdir(), Pkg),
|
||||||
@@ -316,8 +319,9 @@ pkg_devdir(Pkg) ->
|
|||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pkg_docsdir() ->
|
pkg_docsdir() ->
|
||||||
pkg_docsdir(pkgname()).
|
pkg_docsdir(pkg_name()).
|
||||||
|
|
||||||
pkg_docsdir(PkgName) ->
|
pkg_docsdir(PkgName) ->
|
||||||
Filename = filename:join([docsdir(), PkgName]),
|
Filename = filename:join([docsdir(), PkgName]),
|
||||||
@@ -328,8 +332,18 @@ pkg_docsdir(PkgName) ->
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pkg_name() ->
|
||||||
|
{ok, Cfg} = cfg(),
|
||||||
|
Realm = proplists:get_value(realm, Cfg),
|
||||||
|
Name = proplists:get_value(name, Cfg),
|
||||||
|
Vsn = proplists:get_value(version, Cfg),
|
||||||
|
io_lib:format("~tp-~tp-~ts", [Realm, Name, Vsn]).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pkg_tmpdir() ->
|
pkg_tmpdir() ->
|
||||||
pkg_tmpdir(pkgname()).
|
pkg_tmpdir(pkg_name()).
|
||||||
|
|
||||||
pkg_tmpdir(PkgName) ->
|
pkg_tmpdir(PkgName) ->
|
||||||
Filename = filename:join([tmpdir(), PkgName]),
|
Filename = filename:join([tmpdir(), PkgName]),
|
||||||
@@ -340,6 +354,21 @@ pkg_tmpdir(PkgName) ->
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-spec pkg_type() -> Result
|
||||||
|
when Result :: {ok, PkgType}
|
||||||
|
| {error, Reason :: term()},
|
||||||
|
PkgType :: library | external | extension.
|
||||||
|
|
||||||
|
pkg_type() ->
|
||||||
|
% cfg errors if package type is invalid
|
||||||
|
% see cfg2/1
|
||||||
|
case cfg() of
|
||||||
|
{ok, Cfg} -> {ok, proplists:get_value(type, Cfg)};
|
||||||
|
Error -> Error
|
||||||
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
deps() ->
|
deps() ->
|
||||||
{ok, Cfg} = cfg(),
|
{ok, Cfg} = cfg(),
|
||||||
case proplists:get_value(deps, Cfg) of
|
case proplists:get_value(deps, Cfg) of
|
||||||
@@ -375,6 +404,7 @@ init() ->
|
|||||||
%% jex build
|
%% jex build
|
||||||
%%-----------------------------------------------------------------------------
|
%%-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
% need to branch on if type is external
|
||||||
build(Opts) ->
|
build(Opts) ->
|
||||||
% flags if flag default
|
% flags if flag default
|
||||||
OptsConfig = [{["-w", "--weak"], {weak, weak}, {weak, strict}},
|
OptsConfig = [{["-w", "--weak"], {weak, weak}, {weak, strict}},
|
||||||
@@ -581,7 +611,7 @@ serverpid(Port) ->
|
|||||||
%%-----------------------------------------------------------------------------
|
%%-----------------------------------------------------------------------------
|
||||||
|
|
||||||
fulldist() ->
|
fulldist() ->
|
||||||
PkgName = pkgname(),
|
PkgName = pkg_name(),
|
||||||
PkgTmpDir =
|
PkgTmpDir =
|
||||||
case pkg_tmpdir() of
|
case pkg_tmpdir() of
|
||||||
{exists, D} ->
|
{exists, D} ->
|
||||||
|
|||||||
Reference in New Issue
Block a user