anchor.diff:                           "Gives a long name to the node."},
                           {sname, undefined, "sname", atom,
                            "Gives a short name to the node."},
  +                        {setcookie, undefined, "setcookie", atom,
  +                         "Sets the cookie if the node is distributed."},
                           {script_file, undefined, "script", string,
                            "Path to an escript file to run before "
                            "starting the project apps. Defaults to "
  
positive.code:         {undefined, undefined} ->
              ok;
          {Name, undefined} ->
              check_epmd(net_kernel:start([Name, longnames]));
          {undefined, SName} ->
              check_epmd(net_kernel:start([SName, shortnames]));
          {_, _} ->
              ?ABORT("Cannot have both short and long node names defined", [])
      end.
  
negative.code:            "Verify that epmd is running and try again.",[]);
  check_epmd(_) ->
      ok.
  
  setup_cookie(Opts) ->
      case {node(), proplists:get_value(setcookie, Opts, nocookie)} of
          {'nonode@nohost', _} -> nocookie;
          {_, nocookie} -> nocookie;
          {Node, Name} -> erlang:set_cookie(Node, Name)
      end.
  
  
  find_apps_to_boot(State) ->
      %% Try the shell_apps option
  