Skip to content

Commit

Permalink
Start from the scratch
Browse files Browse the repository at this point in the history
  • Loading branch information
subuk committed Aug 31, 2019
1 parent 876795e commit 1887a2d
Show file tree
Hide file tree
Showing 1,271 changed files with 1,673 additions and 165,778 deletions.
2 changes: 0 additions & 2 deletions .dockerignore

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -6,7 +6,7 @@
/images/ /images/
/*.db /*.db
/coverage*.out /coverage*.out
/src/vmango/web/assets.go /web/assets_generated.go
/dockerfile.build.* /dockerfile.build.*
/rpm/vmango.spec /rpm/vmango.spec
/rpm/*.tar.gz /rpm/*.tar.gz
Expand Down
124 changes: 0 additions & 124 deletions Jenkinsfile

This file was deleted.

21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

117 changes: 49 additions & 68 deletions Makefile
@@ -1,85 +1,66 @@
GOPATH = $(CURDIR)/vendor:$(CURDIR) export GOFLAGS=-mod=vendor
GO = GOPATH=$(GOPATH) go export GOBIN=$(PWD)/bin/
TAR = tar GO = go
NAME = vmango
SOURCES = $(shell find src/ -name *.go) src/vmango/web/assets.go
ASSETS = $(shell find templates/ static/)
TARBALL_SOURCES = $(SOURCES) $(ASSETS) vendor/src/ docs/ debian/ *.dist.* Makefile
.PHONY = clean test show-coverage-html show-coverage-text
PACKAGES = $(shell cd src/vmango; find . -type d|sed 's,^./,,' | sed 's,/,@,g' |sed '/^\.$$/d')
TEST_ARGS = -race -tags "unit"
test_coverage_targets = $(addprefix test-coverage-, $(PACKAGES))
EXTRA_ASSETS_FLAGS =
VERSION = $(shell git describe --tags)
DESTDIR =
INSTALL = install INSTALL = install
GO_SOURCES = $(shell find . -name '*.go')
ASSETS_SOURCES = $(shell find templates static)
UNAME_S := $(shell uname -s)
TARBALL_SOURCES = $(GO_SOURCES) Makefile README.md vmango.dist.conf vmango.service vendor/


default: bin/vmango RPM_NAME = vmango

VERSION = 0.8.0
.PHONY: dependencies RELEASE = 1
vendorize-dependencies:
$(GO) get -d -t vmango/...
$(GO) get -d github.com/jteeuwen/go-bindata/...
$(GO) get -d github.com/stretchr/testify
python make-vendor-json.py
find vendor/ -name .git -type d |xargs rm -rf

vendor/bin/go-bindata:
$(GO) build -o vendor/bin/go-bindata github.com/jteeuwen/go-bindata/go-bindata

src/vmango/web/assets.go: vendor/bin/go-bindata $(ASSETS)
vendor/bin/go-bindata $(EXTRA_ASSETS_FLAGS) -o src/vmango/web/assets.go -pkg web static/... templates/...


bin/vmango: $(SOURCES) BUILD_LDFLAGS = -X subuk/vmango/web.AppVersion=$(VERSION)
$(GO) build -ldflags "-X main.VERSION=${VERSION}" -o bin/vmango vmango


test-coverage-%: ifeq ($(UNAME_S),Darwin)
$(GO) test $(TEST_ARGS) -coverprofile=coverage.$*.out --run=. vmango/$(shell echo $* | sed 's,@,/,g') TAR = gtar
else
TAR = tar
endif


test-coverage: $(test_coverage_targets) DESTDIR =

PREFIX = /usr
test: lint bin/vmango CONF_DIR = $(DESTDIR)/etc
$(GO) test $(TEST_ARGS) vmango/... BIN_DIR = $(DESTDIR)/$(PREFIX)/bin

show-coverage-html:
$(GO) tool cover -html=coverage.out


show-coverage-text: default: bin/vmango
$(GO) tool cover -func=coverage.out


lint: bin/vmango: $(GO_SOURCES) web/assets_generated.go Makefile
$(GO) vet vmango/... $(GO) build -ldflags='$(BUILD_LDFLAGS)' -o bin/vmango


install: bin/vmango .PHONY: vendor
mkdir -p $(DESTDIR)/usr/bin vendor:
mkdir -p $(DESTDIR)/etc/vmango $(GO) mod tidy -v
$(INSTALL) -m 0755 -o root bin/vmango $(DESTDIR)/usr/bin/vmango $(GO) mod vendor -v
$(INSTALL) -m 0644 -o root vmango.dist.conf $(DESTDIR)/etc/vmango/vmango.conf
$(INSTALL) -m 0644 -o root vm.dist.xml.in $(DESTDIR)/etc/vmango/vm.xml.in
$(INSTALL) -m 0644 -o root volume.dist.xml.in $(DESTDIR)/etc/vmango/volume.xml.in


tarball: $(NAME)-$(VERSION).tar.gz test:
$(NAME)-$(VERSION).tar.gz: $(TARBALL_SOURCES) go test vmango/...
$(TAR) --transform "s,^,$(NAME)-$(VERSION)/," -czf $(NAME)-$(VERSION).tar.gz $(TARBALL_SOURCES)


package-debian-8-x64: bin/go-bindata:
$(MAKE) -C deb TARGET_DISTRO=debian-8-x64 $(GO) install github.com/go-bindata/go-bindata/...


package-debian-9-x64: web/assets_generated.go: bin/go-bindata $(ASSETS_SOURCES)
$(MAKE) -C deb TARGET_DISTRO=debian-9-x64 bin/go-bindata $(ASSETS_FLAGS) -o web/assets_generated.go -pkg web static/... templates/...


package-ubuntu-trusty-x64: install: bin/vmango vmango.dist.conf
$(MAKE) -C deb TARGET_DISTRO=ubuntu-trusty-x64 $(INSTALL) -d -m 0755 $(CONF_DIR)
$(INSTALL) -d -m 0755 $(BIN_DIR)
$(INSTALL) -m 0755 bin/vmango $(BIN_DIR)/
$(INSTALL) -m 0644 vmango.dist.conf $(CONF_DIR)/vmango.conf


package-ubuntu-xenial-x64: .PHONY: spec
$(MAKE) -C deb TARGET_DISTRO=ubuntu-xenial-x64 spec: $(RPM_NAME).spec.in
sed -e "s/@@_VERSION_@@/$(VERSION)/g" -e "s/@@_RELEASE_@@/$(RELEASE)/g" $(RPM_NAME).spec.in > $(RPM_NAME).spec


package-centos-7-x64: .PHONY: apparchive
$(MAKE) -C rpm TARGET_DISTRO=centos-7-x64-epel apparchive: $(TARBALL_SOURCES) RELEASE_BUILD_COMMIT.txt
$(TAR) --transform "s,,$(RPM_NAME)-$(VERSION)/," -czf $(RPM_NAME)-$(VERSION).tar.gz $^


package-all: package-debian-9-x64 package-debian-8-x64 package-ubuntu-trusty-x64 package-ubuntu-xenial-x64 package-centos-7-x64 .PHONY: rpm
rpm: spec apparchive
./build-rpm.sh centos-7 $(RPM_NAME).spec


clean: clean:
rm -rf bin/ pkg/ vendor/pkg/ vendor/bin pkg/ src/vmango/web/assets.go dockerfile.build.* vmango-*.tar.gz rm -rf web/assets_generated.go result/ bin/ $(RPM_NAME).spec $(RPM_NAME)-*.tar.gz
rm -f $(NAME)-$(VERSION).tar.gz $(GO) clean -testcache
make -C docs clean

0 comments on commit 1887a2d

Please sign in to comment.