anchor.diff:  
   %% API
   -export([main/0,
  -	 run_sinan/0,
  -	 run_sinan/1,
  +         run_sinan/0,
  +         run_sinan/1,
            do_task/3]).
   
   -export_type([args/0,
  -	      task_name/0]).
  +              task_name/0]).
   
   -include_lib("eunit/include/eunit.hrl").
   -include("internal.hrl").
  
positive.code: 
  -spec do_build(term(), [string()]) -> sin_config:config().
  do_build(Options, [Target | Rest]) ->
      do_task(list_to_atom(Target),
  	    find_start_dir(Options),
  	    setup_config_overrides(Options, Rest));
  do_build(Options, []) ->
      do_build(Options, ["build"]).
  
  
negative.code: run_sinan(Args) ->
      case getopt:parse(option_spec_list(), Args) of
          {ok, {Options, NonOptArgs}} ->
              do_build(Options, NonOptArgs);
          {error, {Reason, Data}} ->
              io:format("Error: ~s ~p~n~n", [Reason, Data]),
              usage(),
              {error, failed}
      end.
  
  %%====================================================================
  