.PHONY: install docker-up setup-script npm-build vendorize localdev-setup clean
SHELL := /bin/bash

install: localdev-setup docker-up setup-script npm-build vendorize
	echo "Install complete!! Run `make setup-hosted-conn` if you would like to blow away and auto-setup your Hosted connection in the plugin."

docker-up:
	echo "Starting WordPress and WordPress database"
	cd ~/dev/localdev && docker compose up -d --build woocommerce

setup-script:
	echo "Setting up WordPress and installing AC for WooCommerce extension"
	cd ~/dev/localdev && docker compose exec woocommerce-workspace bin/setup_local

npm-build:
	npm install

# Useful for reloading autoload files
autoload:
	composer dump-autoload

vendorize:
	# Run composer install within the docker container, as well as other custom logic in our vendorize script
	cd ~/dev/localdev && docker compose exec woocommerce-workspace /srv/dev/activecampaign-for-woocommerce/bin/vendorize

localdev-setup:
	echo "Applying needed variables to localdev/.env if they're not already there (or if they're commented out)"
	- cat ~/dev/localdev/.env | grep -v '#' | grep LOCAL_DOMAIN_PROTOCOL ||  echo "LOCAL_DOMAIN_PROTOCOL=https://" >> ~/dev/localdev/.env
	- cat ~/dev/localdev/.env | grep -v '#' | grep WOOCOMMERCE_MYSQL_CONTAINER ||  echo "WOOCOMMERCE_MYSQL_CONTAINER=woocommerce-mysql" >> ~/dev/localdev/.env
	- cat ~/dev/localdev/.env | grep -v '#' | grep WOOCOMMERCE_MYSQL_EXTERNAL_PORT ||  echo "WOOCOMMERCE_MYSQL_EXTERNAL_PORT=33067" >> ~/dev/localdev/.env

setup-hosted-conn:
	./setup_hosted_conn.sh

lint:
	vendor/bin/phpcs -s --ignore=*/ac_vendor/*,*/vendor/*,*/wp-content/* .	

clean:
	rm -rf ~/dev/wordpress-for-woocommerce
