summaryrefslogtreecommitdiff
path: root/deps/mochiweb/scripts/new_mochiweb.erl
blob: ed1147a78fa63d2c5d0719939c7fa70d8df6a91d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env escript
%% -*- mode: erlang -*-
-export([main/1]).

%% External API

main([Name]) ->
    main([Name, "."]);
main([Name, Dest]) ->
    ensure(),
    DestDir = filename:absname(Dest),
    case code:which(mochiweb_skel) of
        non_existing ->
            io:format("mochiweb not compiled, running make~n"),
            os:cmd("(cd \"" ++ filename:dirname(escript:script_name())
                   ++ "/..\"; make)"),
            ensure(),
            code:rehash();
        _ ->
            ok
    end,
    ok = mochiweb_skel:skelcopy(DestDir, Name);
main(_) ->
    usage().

%% Internal API

ensure() ->
    code:add_patha(filename:join(filename:dirname(escript:script_name()),
                                 "../ebin")).

usage() ->
    io:format("usage: ~s name [destdir]~n",
              [filename:basename(escript:script_name())]),
    halt(1).