Skip to content

Instantly share code, notes, and snippets.

@barrucadu
Created July 3, 2019 11:21
Show Gist options
  • Save barrucadu/95f0d63015c79c9a6129c36b8d15ac97 to your computer and use it in GitHub Desktop.
Save barrucadu/95f0d63015c79c9a6129c36b8d15ac97 to your computer and use it in GitHub Desktop.
diff --git a/Makefile b/Makefile
index ce97448..406bd72 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
-GOVUK_ROOT_DIR ?= "${HOME}/govuk"
+GOVUK_ROOT_DIR ?= $(HOME)/govuk
+GOVUK_DOCKER_DIR ?= $(GOVUK_ROOT_DIR)/govuk-docker
+GOVUK_DOCKER ?= $(GOVUK_DOCKER_DIR)/bin/govuk-docker
# This is a Makefile best practice to say that these are not file
# names. For example, if you were to create a file called "clean",
@@ -10,7 +12,7 @@ GOVUK_ROOT_DIR ?= "${HOME}/govuk"
# make: `clean' is up to date.
.PHONY: clone pull clean test
-APPS ?= $(shell ls services/*/Makefile | xargs -L 1 dirname | xargs -L 1 basename)
+APPS ?= $(shell ls ${GOVUK_DOCKER_DIR}/services/*/Makefile | xargs -L 1 dirname | xargs -L 1 basename)
default:
@echo "Run 'make APP-NAME' to set up an app and its dependencies."
@@ -40,9 +42,9 @@ test:
#
# The 'services/%/Makefile' bit is to double-check that this is a git
# repository, as all of our apps have a Makefile.
-../%: services/%/Makefile
+$(GOVUK_ROOT_DIR)/%: $(GOVUK_DOCKER_DIR)/services/%/Makefile
if [ ! -d "${GOVUK_ROOT_DIR}/$*" ]; then \
echo "$*" && git clone "[email protected]:alphagov/$*.git" "${GOVUK_ROOT_DIR}/$*"; \
fi
-include $(shell ls services/*/Makefile)
+include $(shell ls ${GOVUK_DOCKER_DIR}/services/*/Makefile)
diff --git a/services/asset-manager/Makefile b/services/asset-manager/Makefile
index ec0c084..7c9f7b3 100644
--- a/services/asset-manager/Makefile
+++ b/services/asset-manager/Makefile
@@ -1,4 +1,4 @@
-asset-manager: ../asset-manager
- bin/govuk-docker compose run asset-manager-default bundle
- bin/govuk-docker compose run asset-manager-default sh -c 'rake db:migrate 2>/dev/null || rake db:setup'
- bin/govuk-docker compose run asset-manager-default rails runner 'User.first || User.create'
+asset-manager: $(GOVUK_ROOT_DIR)/asset-manager
+ $(GOVUK_DOCKER) compose run asset-manager-default bundle
+ $(GOVUK_DOCKER) compose run asset-manager-default sh -c 'rake db:migrate 2>/dev/null || rake db:setup'
+ $(GOVUK_DOCKER) compose run asset-manager-default rails runner 'User.first || User.create'
diff --git a/services/content-publisher/Makefile b/services/content-publisher/Makefile
index b705d51..233241c 100644
--- a/services/content-publisher/Makefile
+++ b/services/content-publisher/Makefile
@@ -1,4 +1,4 @@
-content-publisher: ../content-publisher asset-manager publishing-api
- bin/govuk-docker compose run content-publisher-default bundle
- bin/govuk-docker compose run content-publisher-default sh -c 'rake db:migrate 2>/dev/null || rake db:setup'
- bin/govuk-docker compose run content-publisher-default yarn
+content-publisher: $(GOVUK_ROOT_DIR)/content-publisher asset-manager publishing-api
+ $(GOVUK_DOCKER) compose run content-publisher-default bundle
+ $(GOVUK_DOCKER) compose run content-publisher-default sh -c 'rake db:migrate 2>/dev/null || rake db:setup'
+ $(GOVUK_DOCKER) compose run content-publisher-default yarn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment