Current section
Files
Jump to
Current section
Files
lib/mix/tasks/semver.ex
defmodule Mix.Tasks.Semver do
@moduledoc """
The semver mix task: `mix semver`
"""
use Mix.Task
@semver_line_rx ~r/version: "(\d+)\.(\d+)\.(\d+)(-.*)?",/
@shortdoc "Default task will report the semantic version."
def run(_) do
{:ok, data} = File.read("mix.exs")
[semver_line | _] = Regex.run(@semver_line_rx, data)
semver =
semver_line
|> String.replace("version: ", "")
|> String.replace("\"", "")
|> String.replace(",", "")
|> Version.parse!()
IO.puts("Current Version: #{semver}")
:ok
end
end