homebrew-core/Formula/consul-template.rb
ilovezfs 7e5dc2dc5c consul-template 0.18.0-rc1 (devel) (#7049)
patch Makefile not to use Docker for devel and head
2016-11-18 11:40:34 +00:00

108 lines
3.1 KiB
Ruby

require "language/go"
class ConsulTemplate < Formula
desc "Generic template rendering and notifications with Consul"
homepage "https://github.com/hashicorp/consul-template"
url "https://github.com/hashicorp/consul-template.git",
:tag => "v0.16.0",
:revision => "efa462daa2b961bff683677146713f4008555fba"
bottle do
cellar :any_skip_relocation
sha256 "4a5ed83931505027e4d40f774fb791254e26a8fa232b8932a54cc77665962d38" => :sierra
sha256 "fd8408ce1b01c0fd07047013a2b658e6ff792c88aad842cf9d978cb90d456eb2" => :el_capitan
sha256 "844950502c5edb1f0b9797f3dc4d92241616982bfdf272e92c5c42883e53a6c4" => :yosemite
end
devel do
url "https://github.com/hashicorp/consul-template.git",
:tag => "v0.18.0-rc1",
:revision => "933192dc0b6bb642af2549848e0681670550e095"
version "0.18.0-rc1"
# Upstream issue "Request: Makefile target that doesn't use docker"
# Reported 18 Nov 2016 https://github.com/hashicorp/consul-template/issues/793
patch :DATA
end
head do
url "https://github.com/hashicorp/consul-template.git"
patch :DATA
end
depends_on "go" => :build
go_resource "github.com/mitchellh/gox" do
url "https://github.com/mitchellh/gox.git",
:revision => "c9740af9c6574448fd48eb30a71f964014c7a837"
end
# gox dependency
go_resource "github.com/mitchellh/iochan" do
url "https://github.com/mitchellh/iochan.git",
:revision => "87b45ffd0e9581375c491fef3d32130bb15c5bd7"
end
def install
ENV["GOPATH"] = buildpath
dir = buildpath/"src/github.com/hashicorp/consul-template"
dir.install buildpath.children
Language::Go.stage_deps resources, buildpath/"src"
ENV.prepend_create_path "PATH", buildpath/"bin"
cd("src/github.com/mitchellh/gox") { system "go", "install" }
cd dir do
system "make", "dev"
system "make", "test"
end
bin.install "bin/consul-template"
end
test do
(testpath/"template").write <<-EOS.undent
{{"homebrew" | toTitle}}
EOS
system bin/"consul-template", "-once", "-template", "template:test-result"
assert_equal "Homebrew", (testpath/"test-result").read.chomp
end
end
__END__
diff --git a/Makefile b/Makefile
index 4d5304c..917fb7b 100644
--- a/Makefile
+++ b/Makefile
@@ -35,19 +35,16 @@ GOFILES = $(shell go list $(TEST) | grep -v /vendor/)
# environment variables.
bin:
@echo "==> Building ${PROJECT}..."
- @docker run \
- --rm \
- --env="VERSION=${VERSION}" \
- --env="PROJECT=${PROJECT}" \
- --env="OWNER=${OWNER}" \
- --env="NAME=${NAME}" \
- --env="XC_OS=${XC_OS}" \
- --env="XC_ARCH=${XC_ARCH}" \
- --env="XC_EXCLUDE=${XC_EXCLUDE}" \
- --env="DIST=${DIST}" \
- --workdir="/go/src/${PROJECT}" \
- --volume="${CURRENT_DIR}:/go/src/${PROJECT}" \
- "golang:${GOVERSION}" /bin/sh -c "scripts/compile.sh"
+ env \
+ VERSION="${VERSION}" \
+ PROJECT="${PROJECT}" \
+ OWNER="${OWNER}" \
+ NAME="${NAME}" \
+ XC_OS="${XC_OS}" \
+ XC_ARCH="${XC_ARCH}" \
+ XC_EXCLUDE="${XC_EXCLUDE}" \
+ DIST="${DIST}" \
+ sh -c "'${CURDIR}/scripts/compile.sh'"
# bootstrap installs the necessary go tools for development or build
bootstrap: