File: /var/www/zaklada/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/page-builders/Makefile
# Tutorial: http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/
# Docs: https://www.gnu.org/software/make/
# Help
.PHONY: help
help:
$(info Run `make setup` to configure the Git Hooks and install the dependencies`)
$(info Run `make install` to install the dependencies)
$(info Run `make install-prod` to install the dependencies in production mode)
$(info - Run `make composer-install` to only install Composer dependencies)
$(info - Run `make composer-install-prod` to only install Composer dependencies in production mode)
$(info - Run `make npm-install` to only install Node dependencies)
$(info - Run `make npm-install-prod` to only install Node dependencies in production mode)
$(info Run `make tests` to run all tests)
$(info - Run `make jest` to run only Jest tests)
$(info - Run `make phpunit` to run only PhpUnit tests)
$(info Run `make dev` to bundle WebPack modules in development mode)
$(info Run `make prod` to bundle WebPack modules in production mode)
# Setup
.PHONY: setup githooks
setup:: githooks
setup:: install
githooks:
ifdef CI
$(info Skipping Git Hooks in CI)
else ifdef OS
cp .githooks/* .git/hooks/
$(info Looks like you are on Windows... files copied.)
else
@find .git/hooks -type l -exec rm {} \;
@find .githooks -type f -exec ln -sf ../../{} .git/hooks/ \;
$(info Git Hooks installed)
endif
# Install
.PHONY: install
install: composer-install
install: npm-install
install-prod: composer-install-prod
install-prod: npm-install-prod
# Build
.PHONY: dev prod
dev prod: npm-install
@npm run build:$@
$(info WebPack modules bundled)
# Tests
.PHONY: tests
tests:: jest
tests:: phpunit
# Git Hooks
.PHONY: precommit
precommit:: validate-composer
precommit:: validate-npm
precommit:: dupes
precommit:: compatibility
# precommit
.PHONY: dupes compatibility validate-composer validate-npm
dupes: composer-install
./.make/check-duplicates.sh
compatibility: composer-install
./.make/check-compatibility.sh
validate-composer: composer-install
./.make/check-composer.sh
validate-npm: npm-install
./.make/check-npm.sh
# Dependency managers
## Composer
.PHONY: composer-install
composer.lock: composer-install
@touch $@
vendor/autoload.php: composer-install
@touch $@
composer-install:
$(info Installing Composer dependencies)
@composer install
composer-install-prod:
$(info Installing Composer dependencies)
@composer --no-dev install
## NPM
.PHONY: npm-install
package.json: npm-install
@touch $@
package-lock.json: npm-install
@touch $@
npm-install:
$(info Installing Node dependencies)
@npm install
npm-install-prod:
$(info Installing Node dependencies)
@npm --prod install
# Tests
.PHONY: jest phpunit
jest: npm-install
$(info Running Jest)
@npm run test
phpunit: composer-install
$(info Running PhpUnit)
@vendor/bin/phpunit --fail-on-warning
# Use the following if the phpunit.xml is on a different location
# @vendor/bin/phpunit --fail-on-warning --configuration tests/phpunit/phpunit.xml