anchor.diff:  %% @spec do_task(Task, Args) -> ok
   %% @end
   %%--------------------------------------------------------------------
  -do_task(Task, Args) when is_atom(Task) ->
  -    do_task(sinan, Task, Args).
  +do_task(Task, StartDir, Args) when is_atom(Task) ->
  +    do_task(sinan, StartDir, Task, Args).
   
   %%--------------------------------------------------------------------
   %% @doc
  
positive.code: %%% @author Eric Merritt <cyberlync@gmail.com>
  %%% @doc
  %%%  The module provides a simple api for the sinan system.
  %%% @end
  %%% @copyright (C) 2007, Erlware
  %%% Created :  8 Dec 2007 by Eric Merritt <cyberlync@gmail.com>
  
negative.code: %%--------------------------------------------------------------------
  %% @doc
  %%  Run the build task. {@link sin_erl_builder}
  %% @spec build(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  build(StartDir) ->
      build(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  Run the build with the specified args. {@link sin_erl_builder}
  %% @spec build(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  build(StartDir, Args) ->
      do_task(build, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  Run the analyze task. {@link sin_analyze}
  %% @spec analyze(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  analyze(StartDir) ->
      analyze(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  Run the analyze task. {@link sin_analyze}
  %% @spec analyze(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  analyze(StartDir, Args) ->
      do_task(analyze, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the doc task. {@link sin_edoc}
  %% @spec doc(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  doc(StartDir) ->
      doc(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the doc task. {@link sin_edoc}
  %% @spec doc(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  doc(StartDir, Args) ->
      do_task(doc, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the shell task. {@link sin_shell}
  %% @spec shell(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  shell(StartDir) ->
      shell(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the shell task. {@link sin_shell}
  %% @spec shell(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  shell(StartDir, Args) ->
     do_task(shell, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  Run the gen task. {@link sin_gen}
  %% @spec gen(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  gen(StartDir) ->
      gen(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  Run the gen task. {@link sin_gen}
  %% @spec gen(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  gen(StartDir, Args) ->
      do_task(singen, gen, StartDir, Args).
  
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the clean task. {@link sin_clean}
  %% @spec clean(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  clean(StartDir) ->
      clean(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the clean task. {@link sin_clean}
  %% @spec clean(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  clean(StartDir, Args) ->
      do_task(clean, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the help task. {@link sin_help}
  %% @spec help(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  help(StartDir) ->
      help(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the help task. {@link sin_help}
  %% @spec help(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  help(StartDir, Args) ->
      do_task(sinhelp, help, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the depends task. {@link sin_depends}
  %% @spec depends(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  depends(StartDir) ->
      depends(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the depends task. {@link sin_depends}
  %% @spec depends(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  depends(StartDir, Args) ->
      do_task(depends, StartDir, Args).
  
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the test task. {@link sin_test}
  %% @spec test(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  test(StartDir) ->
      test(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the test task. {@link sin_test}
  %% @spec test(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  test(StartDir, Args) ->
      do_task(test, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the release task. {@link sin_release_builder}
  %% @spec release(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  release(StartDir) ->
      release(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the release task. {@link sin_release_builder}
  %% @spec release(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  release(StartDir, Args) ->
      do_task(release, StartDir, Args).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the dist task. {@link sin_dist_builder}
  %% @spec dist(StartDir::startdir()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  dist(StartDir) ->
      dist(StartDir, []).
  
  %%--------------------------------------------------------------------
  %% @doc
  %%  run the dist task. {@link sin_dist_builder}
  %% @spec dist(StartDir::startdir(), Args::args()) -> ok
  %% @end
  %%--------------------------------------------------------------------
  dist(StartDir, Args) ->
      do_task(dist, StartDir, Args).
  
  
  %%--------------------------------------------------------------------
  