Browse Source

Make symlink after cloning a dep

Sina Samavati 11 years ago
parent
commit
8f2a6665d7
3 changed files with 5 additions and 2 deletions
  1. 2 0
      src/mad.erl
  2. 2 2
      src/mad_compile.erl
  3. 1 0
      src/mad_deps.erl

+ 2 - 0
src/mad.erl

@@ -26,6 +26,8 @@ main(Args) ->
             ok;
         Deps ->
             mad_utils:exec("mkdir", ["-p", mad_deps:path()]),
+            mad_utils:exec("rm", ["-rf", "deps"]),
+            mad_utils:exec("mkdir", ["-p", "deps"]),
             mad_deps:clone(Deps)
     end.
 

+ 2 - 2
src/mad_compile.erl

@@ -77,6 +77,7 @@ app(Dir) ->
 
 compile_fun(SrcDir, IncDir, EbinDir, Opts) ->
     fun(F) ->
+            code:add_path(EbinDir),
             F1 = filename:join(SrcDir, F),
             case is_app_src(F1) of
                 false ->
@@ -86,8 +87,7 @@ compile_fun(SrcDir, IncDir, EbinDir, Opts) ->
                     AppFile = filename:join(EbinDir, app_src_to_app(F1)),
                     io:format("Writing ~s~n", [AppFile]),
                     mad_utils:exec("cp", [F1, AppFile])
-            end,
-            code:add_path(EbinDir)
+            end
     end.
 
 erl_files(Dir) ->

+ 1 - 0
src/mad_deps.erl

@@ -62,6 +62,7 @@ clone_dep(Dep) ->
     ok = file:set_cwd(Cwd),
 
     put(DepName, cloned),
+    file:make_symlink(DepPath, filename:join([Cwd, "deps", Name])),
 
     %% check dependencies of the dependency
     DepPath = path(DepName),