Packages
version_tasks
0.10.21
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.29
0.10.28
0.10.27
0.10.26
0.10.25
0.10.24
0.10.23
0.10.22
0.10.21
0.10.20
0.10.19
0.10.18
0.10.17
0.10.16
0.10.15
0.10.14
0.10.13
0.10.12
0.10.11
0.10.10
0.10.9
0.10.8
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.3
0.3.1
0.2.6
A suite of mix tasks for managing your libs version numbers with git and hex
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/githooks/hexup.ex
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
if [ "$(MIX_QUIET=true mix version.is_release)" != "" ]; then
echo "================="
echo "HEX PUBLISH $VERSION"
echo "================="
mix test && \
mix version.tag && \
mix hex.publish <<EOF
#{passphrase}
Y
EOF
else
echo "Continue making the app awesome."
fi
"""
File.write!(filename, content)
:ok = File.chmod(filename, 0o755)
IO.puts "Installed #{filename}"
IO.puts "to automatically 'mix test && mix version.tag && mix hex.publish'"
IO.puts "after a 'mix version.up'"
filename
end
end