NAME=sour.is-paste
VERSION:=$(shell ./inc_version.sh -p $(shell git describe --tags `git rev-list --tags --max-count=1`)|cut -b2-)
DATE:=$(shell date -u +%FT%TZ)

REPO_HOST="xuu@kapha"
ANSIBLE_HOST="kapha"
REPO_PATH="/opt/web/pub/sour.is/debian/"

all: build copy tag

clean:
	rm -r BUILD/*

tag:
	git tag -a -m "release version $(VERSION)" "v$(VERSION)"
	git push --tags

build:
	export BUILD="BUILD/$(NAME)_$(VERSION)"; \
	rm -rf ./$${BUILD}; \
	cp -r ROOT "$${BUILD}"; \
	sed -i'.tmp' "s_Version:.*_Version: $(VERSION)_" "$${BUILD}/DEBIAN/control"

	export DATE=`date -u +%FT%TZ`; \
    export BUILD="BUILD/$(NAME)_$(VERSION)"; \
    env GOOS=linux GOARCH=amd64 go build -v -o $${BUILD}/opt/sour.is/bin/paste \
                -ldflags "-X main.AppVersion=$(VERSION) -X main.AppBuild=$(DATE)"\
        sour.is/x/paste/cmd/paste && \
	dpkg -b $${BUILD}

copy:
	export BUILD="BUILD/$(NAME)_$(VERSION)"; \
	scp "$${BUILD}.deb" $(REPO_HOST):$(REPO_PATH); \
	ssh $(REPO_HOST) -- $(REPO_PATH)scan.sh "$(REPO_PATH)$(NAME)_$(VERSION).deb";

deploy:
	ansible $(ANSIBLE_HOST) -u xuu -b -m apt -a "name=sour.is-paste update_cache=yes state=latest"

.PHONY: clean tag build copy deploy
