Namdak Tonpa 9 years ago
parent
commit
a5cd10f11d

+ 1 - 1
include/mad.hrl

@@ -1 +1 @@
--define(VERSION,"af2e1e").
+-define(VERSION,"c7506f").

BIN
mad


+ 1 - 1
priv/web/apps/sample/src/sample.erl

@@ -4,7 +4,7 @@
 -export([init/1, start/2, stop/1, main/1]).
 -export([init/1, start/2, stop/1, main/1]).
 -compile(export_all).
 -compile(export_all).
 
 
-main(A)    -> mad_repl:main(A,[]).
+main(A)    -> mad_repl:sh(A).
 start(_,_) -> supervisor:start_link({local,sample},sample,[]).
 start(_,_) -> supervisor:start_link({local,sample},sample,[]).
 stop(_)    -> ok.
 stop(_)    -> ok.
 init([])   -> case cowboy:start_http(http,3,port(),env()) of
 init([])   -> case cowboy:start_http(http,3,port(),env()) of

+ 5 - 4
src/mad.erl

@@ -6,13 +6,14 @@
 
 
 main([])          -> help();
 main([])          -> help();
 main(Params)      ->
 main(Params)      ->
-    {Other,FP}     = mad_utils:fold_params(Params),
+    {Other,F}      = mad_utils:fold_params(Params),
+    io:format("Params: ~p~n",[{Other,F}]),
     unknown(Other),
     unknown(Other),
     return(lists:any(fun(X) -> element(1,X) == error end,
     return(lists:any(fun(X) -> element(1,X) == error end,
            lists:flatten(
            lists:flatten(
            lists:foldl(
            lists:foldl(
         fun ({Name,Par},Errors) when length(Errors) > 0 -> [{error,Errors}];
         fun ({Name,Par},Errors) when length(Errors) > 0 -> [{error,Errors}];
-            ({Name,Par},Errors) -> lists:flatten([errors((profile()):Name(Par))|Errors]) end, [], FP)))).
+            ({Name,Par},Errors) -> lists:flatten([errors((profile()):Name(Par))|Errors]) end, [], F)))).
 
 
 deps(Params)      -> mad_deps:deps(Params).
 deps(Params)      -> mad_deps:deps(Params).
 compile(Params)   -> mad_compile:compile(Params).
 compile(Params)   -> mad_compile:compile(Params).
@@ -31,9 +32,9 @@ unknown(Other)    -> info("Unknown: ~p~n",[Other]), help().
 
 
 errors(false)     -> [];
 errors(false)     -> [];
 errors(true)      -> {error,unknown};
 errors(true)      -> {error,unknown};
-errors({ok,L})    -> info("OK:  ~tp~n",[L]), [];
 errors({error,L}) -> info("ERR: ~tp~n",[L]), {error,L};
 errors({error,L}) -> info("ERR: ~tp~n",[L]), {error,L};
-errors(X)         -> info("ERR: ~tp~n",[X]), {error,X}.
+errors({ok,L})    -> info("OK:  ~tp~n",[L]), [];
+errors(X)         -> info("RETURN: ~tp~n",[X]), {error,X}.
 
 
 return(true)      -> 1;
 return(true)      -> 1;
 return(false)     -> 0;
 return(false)     -> 0;

+ 1 - 0
src/mad_utils.erl

@@ -37,6 +37,7 @@ include(Dir) -> filename:join(Dir, "include").
 ebin(Dir) -> filename:join(Dir, "ebin").
 ebin(Dir) -> filename:join(Dir, "ebin").
 deps(File) -> get_value(deps, consult(File), []).
 deps(File) -> get_value(deps, consult(File), []).
 
 
+get_value(Key, Opts, undefined) -> get_value(Key, Opts, []);
 get_value(Key, Opts, Default) ->
 get_value(Key, Opts, Default) ->
     case lists:keyfind(Key, 1, Opts) of
     case lists:keyfind(Key, 1, Opts) of
         {Key, Value} ->
         {Key, Value} ->

+ 2 - 1
src/packaging/mad_bundle.erl

@@ -2,7 +2,8 @@
 -description("ESCRIPT bundles").
 -description("ESCRIPT bundles").
 -compile(export_all).
 -compile(export_all).
 
 
-main(App) ->
+main(N) ->
+    App = filename:basename(case N of [] -> mad_utils:cwd(); E -> E end),
     mad_plan:main([]),
     mad_plan:main([]),
     EmuArgs = "-noshell -noinput +pc unicode",
     EmuArgs = "-noshell -noinput +pc unicode",
     Files = static() ++ beams(fun filename:basename/1, fun read_file/1) ++ overlay(),
     Files = static() ++ beams(fun filename:basename/1, fun read_file/1) ++ overlay(),

+ 11 - 9
src/packaging/mad_release.erl

@@ -29,15 +29,17 @@ depot_release(Name) ->
     io:format("DEPOT Apps: ~p~n",[Files]),
     io:format("DEPOT Apps: ~p~n",[Files]),
     {ok,Name}.
     {ok,Name}.
 
 
-release([])              -> release(["script"]);
+release([])              -> io:format("REL1~n"),
+                            release(["script"]);
 release(["depot"])       -> release(["depot", "sample"]);
 release(["depot"])       -> release(["depot", "sample"]);
 release(["beam"])        -> release(["beam",  "sample"]);
 release(["beam"])        -> release(["beam",  "sample"]);
 release(["ling"])        -> release(["ling",  "sample"]);
 release(["ling"])        -> release(["ling",  "sample"]);
-release(["script"])      -> release(["script","sample"]);
-release([X])             -> release(["script", X]);
-
-release(["ling"|Name])   -> mad_ling:ling(Name);
-release(["script"|Name]) -> mad_bundle:main(filename:basename(case Name of [] -> mad_utils:cwd(); E -> E end));
-release(["depot"|Name])  -> mad_release:depot_release(Name);
-release(["beam" |Name])  -> mad_systools:beam_release(Name).
-
+release(["script"])      -> io:format("REL2~n"),
+                            release(["script","sample"]);
+release(["ling",N])      -> mad_ling:ling(N);
+release(["script",N])    -> io:format("REL3~n"),
+                            mad_bundle:main(N);
+release(["depot",N])     -> mad_release:depot_release(N);
+release(["beam",N])      -> mad_systools:beam_release(N);
+release([X])             -> io:format("REL5~n"),
+                            release(["script",X]).

+ 1 - 2
src/packaging/mad_systools.erl

@@ -34,9 +34,8 @@ release(Name) ->
                                               element(1,X) /= fs ],
                                               element(1,X) /= fs ],
     {{release,{Name,"1"},{erts,erlang:system_info(version)},NameVer},Sorted}.
     {{release,{Name,"1"},{erts,erlang:system_info(version)},NameVer},Sorted}.
 
 
-beam_release(Params) ->
+beam_release(N) ->
     mad_plan:main([]),
     mad_plan:main([]),
-    [N|_] = Params,
     Directories = mad_repl:wildcards(["{deps,apps}/*/ebin","ebin"]),
     Directories = mad_repl:wildcards(["{deps,apps}/*/ebin","ebin"]),
     code:add_paths(Directories),
     code:add_paths(Directories),
     {Release,Apps} = release(N),
     {Release,Apps} = release(N),