Blob Blame History Raw
all: grafana-vendor-$(VER).tar.gz \
     grafana-vendor-$(VER).tar.gz.manifest \
     grafana-webpack-$(VER).tar.gz \
     grafana-webpack-$(VER).tar.gz.manifest

grafana-$(VER).tar.gz grafana-$(VER):
	wget https://github.com/grafana/grafana/archive/v$(VER)/grafana-$(VER).tar.gz
	tar xfz grafana-$(VER).tar.gz

grafana-vendor-$(VER).tar.gz: grafana-$(VER).tar.gz
	cd grafana-$(VER) && go mod vendor -v
	tar cfz $@ grafana-$(VER)/vendor

grafana-vendor-$(VER).tar.gz.manifest: grafana-$(VER).tar.gz
	awk '$$2~/^v/ && $$4 != "indirect" {print "Provides: bundled(golang(" $$1 ")) = " substr($$2, 2)}' grafana-$(VER)/go.mod | \
	sed -E 's/=(.*)-(.*)-(.*)/=\1-\2.\3/g' > $@

grafana-webpack-$(VER).tar.gz: grafana-$(VER).tar.gz
	cd grafana-$(VER) && yarn install --pure-lockfile && yarn run build
	cd grafana-$(VER) && \
		mkdir plugins-bundled/external && yarn run plugins:build-bundled && \
		for plugin in plugins-bundled/internal/*; do mv $$plugin $$plugin.tmp; mv $$plugin.tmp/dist $$plugin; rm -rf $$plugin.tmp; done && \
		rm plugins-bundled/README.md plugins-bundled/.gitignore plugins-bundled/external.json
	tar cfz $@ grafana-$(VER)/public/build grafana-$(VER)/public/views grafana-$(VER)/plugins-bundled

grafana-webpack-$(VER).tar.gz.manifest: grafana-$(VER).tar.gz
	./create_webpack_manifest.py grafana-$(VER)/ > $@

clean:
	rm -rf *.tar.gz grafana-*/