defmodule Mix.Tasks.Githooks.Hexup do use Mix.Task @shortdoc "Install a githook to run mix hex.publish on a new release" def run([]), do: run([""]) def run([passphrase]) do filename = ".git/hooks/post-commit" content = """ #!/bin/bash MESSAGE=$(git log --format=%B -n 1 HEAD) VERSION=$(echo $MESSAGE | grep "v[0-9]\\{1,\\}\\.[0-9]\\{1,\\}\\.[0-9]\\{1,\\}") if [ "$VERSION" != "" ]; then echo "=================" echo "HEX PUBLISH $VERSION" echo "=================" mix test && \ mix version.tag && \ mix hex.publish <