defmodule Mix.Tasks.Fernet.Release do @moduledoc """ Release the latest version of FernetEx mix fernet.release """ use Mix.Task alias Mix.Project @shortdoc "Update readme, tag, and release to hex" def run(_args) do version = Keyword.get(Project.config(), :version) if Mix.shell().yes?("Release fernetex #{version}") do Mix.shell().info("Releasing #{version}") readme = EEx.eval_file("README.md.eex", version: version) :ok = File.write!("README.md", readme) 0 = Mix.shell().cmd("git commit -am 'Release #{version}'") 0 = Mix.shell().cmd("git tag #{version}") 0 = Mix.shell().cmd("git push --all") 0 = Mix.shell().cmd("git push --tags") Mix.Task.run("hex.publish") end end end