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
Mix.Project
itself provides access to all project keywords defined in mix.exs
using its config/0
(api doc) function. For concise access it might be wrapped into a function:
@version Mix.Project.config[:version] def version(), do: @version
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With