 
   defp run_alias([h | t], alias_args, _res) when is_binary(h) do
     [task | args] = OptionParser.split(h)
-    res = Mix.Task.run task, join_args(args, alias_args, t)
+    res = Mix.Task.run(task, join_args(args, alias_args, t))
     run_alias(t, alias_args, res)
   end
 

  @doc false
  defmacro __using__(_opts) do
    quote do
      Enum.each Mix.Task.supported_attributes(),
        &Module.register_attribute(__MODULE__, &1, persist: true)
      @behaviour Mix.Task
    end
  end

    # Get all dependency configuration but not the deps path
    # as we leave the control of the deps path still to the
    # umbrella child.
    config = Mix.Project.deps_config() |> Keyword.delete(:deps_path)

    for %Mix.Dep{app: app, opts: opts} <- Mix.Dep.Umbrella.cached() do
      Mix.Project.in_project(app, opts[:path], config, fun)
    end
  end
