defmodule Mix.Tasks.Nbx do @shortdoc "Prints Nebulex help information" @moduledoc """ Prints Nebulex tasks and their information. mix nbx """ use Mix.Task alias Mix.Tasks.Help @doc false def run(args) do {_opts, args} = OptionParser.parse!(args, strict: []) case args do [] -> general() _ -> Mix.raise("Invalid arguments, expected: mix nbx") end end defp general do _ = Application.ensure_all_started(:nebulex) Mix.shell().info("Nebulex v#{Application.spec(:nebulex, :vsn)}") Mix.shell().info("In-Process and Distributed Cache Toolkit for Elixir.") Mix.shell().info( "Easily craft and deploy distributed cache topologies and cache usage patterns." ) Mix.shell().info("\nAvailable tasks:\n") Help.run(["--search", "nbx."]) end end