Skip to content

Commit

Permalink
skilld-docker-container: Windows support, issue skilld-labs#18
Browse files Browse the repository at this point in the history
  • Loading branch information
pabloguerino committed Mar 22, 2017
1 parent 3c569d1 commit b80d3bf
Showing 1 changed file with 38 additions and 25 deletions.
63 changes: 38 additions & 25 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
# Read project name from .env file

SYSTEM=$(shell uname)

ifeq ($(SYSTEM),Windows)
WINDOWS=1
COMPOSE_ARGS="-d"
$(shell cp -n .env.default .env)
$(shell cp -n ./src/docker/docker-compose.override.yml.default ./src/docker/docker-compose.override.yml)
else
COMPOSE_ARGS=""
WINDOWS=0
$(shell cp -n \.env.default \.env)
$(shell cp -n \.\/src\/docker\/docker-compose\.override\.yml\.default \.\/src\/docker\/docker-compose\.override\.yml)
endif

include .env

all: | include net build install info
Expand All @@ -20,25 +33,25 @@ install:
docker-compose pull
@echo "Build and run containers..."
docker-compose up -d
docker-compose exec php apk add --no-cache git
docker-compose exec -T php composer global require --prefer-dist "hirak/prestissimo:^0.3"
docker-compose exec $(ARGS) php apk add --no-cache git
docker-compose exec $(ARGS) -T php composer global require --prefer-dist "hirak/prestissimo:^0.3"
make reinstall

reinstall:
cp src/drush_make/*.make.yml build/; \
docker-compose exec php time drush make profile.make.yml --concurrency=$(shell nproc) --prepare-install --overwrite -y; \
docker-compose exec $(ARGS) php time drush make profile.make.yml --concurrency=$(shell nproc) --prepare-install --overwrite -y; \
rm build/*.make.yml
docker-compose exec -T php composer config repositories.drupal composer https://packages.drupal.org/8
docker-compose exec -T php time composer require -o --update-no-dev --no-suggest $(COMPOSER_REQUIRE)
docker-compose exec $(ARGS) -T php composer config repositories.drupal composer https://packages.drupal.org/8
docker-compose exec $(ARGS) -T php time composer require -o --update-no-dev --no-suggest $(COMPOSER_REQUIRE)
make -s front
make -s si

si:
ifeq ($(PROJECT_INSTALL), config)
-docker-compose exec -T php time drush si config_installer --db-url=mysql://d8:d8@mysql/d8 --account-pass=admin -y config_installer_sync_configure_form.sync_directory=sync
-docker-compose exec $(ARGS) -T php time drush si config_installer --db-url=mysql://d8:d8@mysql/d8 --account-pass=admin -y config_installer_sync_configure_form.sync_directory=sync
else
docker-compose exec -T php drush si $(PROFILE_NAME) --db-url=mysql://d8:d8@mysql/d8 --account-pass=admin -y --site-name="$(SITE_NAME)"
docker-compose exec php ash -c "drush locale-check && drush locale-update"
docker-compose exec $(ARGS) -T php drush si $(PROFILE_NAME) --db-url=mysql://d8:d8@mysql/d8 --account-pass=admin -y --site-name="$(SITE_NAME)"
docker-compose exec $(ARGS) php ash -c "drush locale-check && drush locale-update"
endif
make -s chown
make -s info
Expand All @@ -56,12 +69,12 @@ endif

chown:
# Use this goal to set permissions in docker container
docker-compose exec php /bin/sh -c "chown $(shell id -u):$(shell id -g) /var/www/html -R"
docker-compose exec $(ARGS) php /bin/sh -c "chown $(shell id -u):$(shell id -g) /var/www/html -R"
# Need this to fix files folder
docker-compose exec php /bin/sh -c "chown www-data: /var/www/html/sites/default/files -R"
docker-compose exec $(ARGS) php /bin/sh -c "chown www-data: /var/www/html/sites/default/files -R"

exec:
docker-compose exec php ash
docker-compose exec $(ARGS) php ash

clean: info
@echo "Removing networks for $(COMPOSE_PROJECT_NAME)"
Expand All @@ -79,34 +92,34 @@ endif
front:
@echo "Building front tasks..."
docker run --rm -v $(shell pwd)/src/themes/$(THEME_NAME):/work skilldlabs/frontend:zen; \
docker-compose exec php rm -rf themes/custom/$(THEME_NAME)/node_modules
docker-compose exec $(ARGS) php rm -rf themes/custom/$(THEME_NAME)/node_modules
make -s chown

iprange:
$(shell grep -q -F 'IPRANGE=' .env || echo "\nIPRANGE=$(shell docker network inspect $(COMPOSE_PROJECT_NAME)_front --format '{{(index .IPAM.Config 0).Subnet}}')" >> .env)

devel:
@echo "Setting up permissions ..."
docker-compose exec php find sites/default -type d -exec chmod 777 {} \;
docker-compose exec php find sites/default -type f -exec chmod 666 {} \;
docker-compose exec $(ARGS) php find sites/default -type d -exec chmod 777 {} \;
docker-compose exec $(ARGS) php find sites/default -type f -exec chmod 666 {} \;

@echo "Setting up settings.yml ..."
docker-compose exec php cp sites/default/default.services.yml sites/default/services.yml
docker-compose exec $(ARGS) php cp sites/default/default.services.yml sites/default/services.yml

@echo "Setting up settings.local.yml ..."
docker-compose exec php cp sites/example.settings.local.php sites/default/settings.local.php
docker-compose exec $(ARGS) php cp sites/example.settings.local.php sites/default/settings.local.php
@echo "Setting up kint ..."
-docker-compose exec php composer require drupal/devel
-docker-compose exec php drush en devel devel_generate kint -y
-docker-compose exec php drush pm-uninstall dynamic_page_cache internal_page_cache -y
-docker-compose exec $(ARGS) php composer require drupal/devel
-docker-compose exec $(ARGS) php drush en devel devel_generate kint -y
-docker-compose exec $(ARGS) php drush pm-uninstall dynamic_page_cache internal_page_cache -y

@echo "Setting up Twig in debug mode ..."
docker-compose exec php sed -i "s:debug\: false:debug\: true:g" sites/default/services.yml
docker-compose exec php sed -i "s:auto_reload\: null:auto_reload\: false:g" sites/default/services.yml
docker-compose exec php sed -i "s:cache\: true:cache\: false:g" sites/default/services.yml
docker-compose exec $(ARGS) php sed -i "s:debug\: false:debug\: true:g" sites/default/services.yml
docker-compose exec $(ARGS) php sed -i "s:auto_reload\: null:auto_reload\: false:g" sites/default/services.yml
docker-compose exec $(ARGS) php sed -i "s:cache\: true:cache\: false:g" sites/default/services.yml

@echo "Finishing: clean up / cache rebuild ..."
-docker-compose exec php drush cr
-docker-compose exec $(ARGS) php drush cr
@make -s chown

phpcs:
Expand All @@ -118,8 +131,8 @@ phpcbf:
docker run --rm -v $(shell pwd)/src/$(PROFILE_NAME):/work skilldlabs/docker-phpcs-drupal phpcbf --standard=DrupalPractice --extensions=php,module,inc,install,test,profile,theme,info .

cex:
docker-compose exec php ash -c "drush cex -y"
docker-compose exec $(ARGS) php ash -c "drush cex -y"
ifneq ($(PROJECT_INSTALL), config)
rm -rf config/sync/*
cp -R build/$(shell docker-compose exec php drush ev 'echo substr(\Drupal::service("config.storage.sync")->getFilePath("drush"), 0, -10);')/* config/sync
cp -R build/$(shell docker-compose exec $(ARGS) php drush ev 'echo substr(\Drupal::service("config.storage.sync")->getFilePath("drush"), 0, -10);')/* config/sync
endif

0 comments on commit b80d3bf

Please sign in to comment.