diff options
author | Jonas Bernoulli <jonas@bernoul.li> | 2018-03-22 23:57:18 +0100 |
---|---|---|
committer | Jonas Bernoulli <jonas@bernoul.li> | 2018-03-22 23:57:18 +0100 |
commit | ff3e96929d4532e33422a5980a6e3ca9f2fcf032 (patch) | |
tree | 7ff10d14586476a2dd41f965249b0f5bee9c9055 /Makefile | |
parent | 22a581d4b32d8eb3d9647c13bc30900cde3ae191 (diff) |
make: Refactor manual publishing
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 45 |
1 files changed, 27 insertions, 18 deletions
@@ -7,6 +7,8 @@ ELCS = $(ELS:.el=.elc) DEPS = dash +VERSION ?= $(shell test -e $(TOP).git && git describe --tags --abbrev=0 | cut -c2-) + EMACS ?= emacs EMACS_ARGS ?= EMACS_ARGS += --eval '(setq with-editor-emacsclient-executable nil)' @@ -38,10 +40,10 @@ help: $(info make html-dir - generate html manual directory) $(info make pdf - generate pdf manual) $(info make authors - generate AUTHORS.md) - $(info make preview - preview html manual) - $(info make publish - publish html manual) + $(info make publish - publish snapshot manuals) + $(info make release - publish release manuals) $(info make clean - remove most generated files) - @printf "\n" + @printf "$(VERSION)\n" lisp: $(ELCS) loaddefs @@ -108,28 +110,35 @@ html-dir: $(PKG).texi @texi2pdf --clean $< > /dev/null DOMAIN ?= magit.vc -CFRONT_DIST ?= E2LUHBKU1FBV02 PUBLISH_PATH ?= /manual/ -PUBLISH_BUCKET ?= s3://$(DOMAIN) -PREVIEW_BUCKET ?= s3://preview.$(DOMAIN) -PUBLISH_TARGET ?= $(PUBLISH_BUCKET)$(PUBLISH_PATH) -PREVIEW_TARGET ?= $(PREVIEW_BUCKET)$(PUBLISH_PATH) +RELEASE_PATH ?= /manual/$(VERSION)/ -preview: html html-dir pdf - @aws s3 cp $(PKG).html $(PREVIEW_TARGET) - @aws s3 cp $(PKG).pdf $(PREVIEW_TARGET) - @aws s3 sync --delete $(PKG) $(PREVIEW_TARGET)$(PKG)/ +S3_BUCKET ?= s3://$(DOMAIN) +PUBLISH_TARGET = $(S3_BUCKET)$(PUBLISH_PATH) +RELEASE_TARGET = $(S3_BUCKET)$(RELEASE_PATH) + +CFRONT_DIST ?= E2LUHBKU1FBV02 +CFRONT_PATHS = $(PKG).html $(PKG).pdf $(PKG)/* + +comma := , +empty := +space := $(empty) $(empty) publish: html html-dir pdf @aws s3 cp $(PKG).html $(PUBLISH_TARGET) - @aws s3 cp $(PKG).pdf $(PUBLISH_TARGET) + @aws s3 cp $(PKG).pdf $(PUBLISH_TARGET) @aws s3 sync --delete $(PKG) $(PUBLISH_TARGET)$(PKG)/ @printf "Generating CDN invalidation\n" - @aws cloudfront create-invalidation \ - --distribution-id $(CFRONT_DIST) --paths "\ -/manual/$(PKG).html,\ -/manual/$(PKG).pdf,\ -/manual/$(PKG)/*" > /dev/null + @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST) --paths \ + "$(subst $(space),$(comma),$(addprefix $(PUBLISH_PATH),$(CFRONT_PATHS)))" > /dev/null + +release: html html-dir pdf + @aws s3 cp $(PKG).html $(RELEASE_TARGET) + @aws s3 cp $(PKG).pdf $(RELEASE_TARGET) + @aws s3 sync --delete $(PKG) $(RELEASE_TARGET)$(PKG)/ + @printf "Generating CDN invalidation\n" + @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST) --paths \ + "$(subst $(space),$(comma),$(addprefix $(RELEASE_PATH),$(CFRONT_PATHS)))" > /dev/null CLEAN = $(ELCS) $(PKG)-autoloads.el $(PKG).info dir CLEAN += $(PKG) $(PKG).html $(PKG).pdf |