Search code examples
elixirerlang-otp

Access project version within elixir application


I have an elixir project with a defined version. How can I access this from within the running application.

in mix.exs

  def project do
    [app: :my_app,
     version: "0.0.1"]
  end

I would like to be access this version number in the application so I can add it to the returned message. I looking for something in the env hash like the following

__ENV__.version
# => 0.0.1

Solution

  • Here's a similar approach to retrieve the version string. It also relies on the :application module, but is maybe a bit more straightforward:

    {:ok, vsn} = :application.get_key(:my_app, :vsn)
    List.to_string(vsn)