@@ -4,14 +4,14 @@ SHELL=bash
44.PHONY : *
55
66CONTAINER_REGISTRY_REPO ="ghcr.io/wyrihaximusnet/php"
7- COMPOSER_SHOW_EXTENSION_LIST_PROD =$(shell composer show -t | grep -o "\-\-\(ext-\) .\+" | sort | uniq | cut -d- -f4- | tr -d '\n' | grep . | sed '/^$$/d' | xargs | sed -e 's/ /, /g' | tr -cd '[:alnum:],' | sed 's/.$$//')
8- COMPOSER_SHOW_EXTENSION_LIST_DEV =$(shell composer show -s | grep -o "\(ext-\) .\+" | sort | uniq | cut -d- -f2- | cut -d" " -f1 | xargs | sed -e 's/ /, /g' | tr -cd '[:alnum:],')
7+ COMPOSER_SHOW_EXTENSION_LIST_PROD =$(shell (((command -v composer >/dev/null 2>&1) && composer show -t --no-plugins) || docker run --rm -v " ` pwd ` : ` pwd ` " -w ` pwd ` ${CONTAINER_REGISTRY_REPO}:8.4-nts-alpine-slim-dev composer show -t --no-plugins) | grep -o "\-\-\(ext-\).\+" | sort | uniq | cut -d- -f4- | tr -d '\n' | grep . | sed '/^$$/d' | xargs | sed -e 's/ /, /g' | tr -cd '[:alnum:],' | sed 's/.$$//')
8+ COMPOSER_SHOW_EXTENSION_LIST_DEV =$(shell (((command -v composer >/dev/null 2>&1) && composer show -s --no-plugins) || docker run --rm -v " ` pwd ` : ` pwd ` " -w ` pwd ` ${CONTAINER_REGISTRY_REPO}:8.4-nts-alpine-slim-dev composer show -s --no-plugins) | grep -o "\(ext-\).\+" | sort | uniq | cut -d- -f2- | cut -d" " -f1 | xargs | sed -e 's/ /, /g' | tr -cd '[:alnum:],')
99COMPOSER_SHOW_EXTENSION_LIST =$(shell echo "${COMPOSER_SHOW_EXTENSION_LIST_PROD},${COMPOSER_SHOW_EXTENSION_LIST_DEV}")
1010SLIM_DOCKER_IMAGE =$(shell php -r 'echo count(array_intersect(["gd", "vips"], explode(",", "${COMPOSER_SHOW_EXTENSION_LIST}") )) > 0 ? "" : "-slim";')
1111NTS_OR_ZTS_DOCKER_IMAGE =$(shell php -r 'echo count(array_intersect(["parallel"], explode(",", "${COMPOSER_SHOW_EXTENSION_LIST}") )) > 0 ? "zts" : "nts";')
1212PHP_VERSION: =$(shell (((command -v docker >/dev/null 2>&1) && docker run --rm -v "` pwd ` :` pwd ` " ${CONTAINER_REGISTRY_REPO}:8.4-nts-alpine-slim php -r "echo json_decode(file_get_contents('` pwd ` /composer.json'), true)['config']['platform']['php'];") || echo "8.3") | php -r "echo str_replace('|', '.', explode('.', implode('|', explode('.', stream_get_contents(STDIN), 2)), 2)[0]);")
1313CONTAINER_NAME =$(shell echo "${CONTAINER_REGISTRY_REPO}:${PHP_VERSION}-${NTS_OR_ZTS_DOCKER_IMAGE}-alpine${SLIM_DOCKER_IMAGE}-dev")
14- COMPOSER_CACHE_DIR =$(shell composer config --global cache-dir -q || echo ${HOME}/.composer-php/cache)
14+ COMPOSER_CACHE_DIR =$(shell (command -v composer >/dev/null 2>&1) && composer config --global cache-dir -q || echo ${HOME}/.composer-php/cache)
1515COMPOSER_CONTAINER_CACHE_DIR =$(shell ((command -v docker >/dev/null 2>&1) && docker run --rm -it ${CONTAINER_NAME} composer config --global cache-dir -q) || echo ${HOME}/.composer-php/cache)
1616
1717ifneq ("$(wildcard /.you-are-in-a-wyrihaximus.net-php-docker-image) ","")
3838endif
3939
4040all : # # Runs everything ####
41- @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | grep -v " ####" | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1}' | xargs -o $(MAKE )
41+ @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | grep -v " ##*I*## " | grep -v " ## ##" | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1}' | xargs -o $(MAKE )
4242
4343on-install-or-update : # # Runs everything ####
4444 @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | grep -E " ##\*(I|ILH)\*##" | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1}' | xargs -o $(MAKE )
@@ -69,10 +69,10 @@ unit-testing-raw: ## Run tests ##*D*## ####
6969 php vendor/phpunit/phpunit/phpunit --colors=always -c ./etc/qa/phpunit.xml --coverage-text --coverage-html ./var/tests-unit-coverage-html --coverage-clover ./var/tests-unit-clover-coverage.xml
7070
7171mutation-testing : # # Run mutation testing ##*LCH*##
72- $(DOCKER_RUN ) vendor/bin/infection --ansi --log-verbosity=all --ignore-msi-with-no-mutations --threads=$(THREADS ) || (cat ./var/infection.log && false)
72+ $(DOCKER_RUN ) vendor/bin/infection --ansi --log-verbosity=all --ignore-msi-with-no-mutations --configuration=./etc/qa/infection.json5 -- threads=$(THREADS ) || (cat ./var/infection.log && false)
7373
7474mutation-testing-raw : # # Run mutation testing ####
75- vendor/bin/infection --ansi --log-verbosity=all --ignore-msi-with-no-mutations --threads=$(THREADS ) || (cat ./var/infection.log && false)
75+ vendor/bin/infection --ansi --log-verbosity=all --ignore-msi-with-no-mutations --configuration=./etc/qa/infection.json5 -- threads=$(THREADS ) || (cat ./var/infection.log && false)
7676
7777composer-require-checker : # # Ensure we require every package used in this package directly ##*C*##
7878 $(DOCKER_RUN ) vendor/bin/composer-require-checker --ignore-parse-errors --ansi -vvv --config-file=./etc/qa/composer-require-checker.json
@@ -118,3 +118,14 @@ task-list-ci-locked: ## CI: Generate a JSON array of jobs to run against the loc
118118task-list-ci-high : # # CI: Generate a JSON array of jobs to run against the highest dependencies on the primary threading target
119119 @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | grep -E " ##\*(H|LH|LCH|LC)\*##" | grep -v " ###" | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1}' | jq --raw-input --slurp -c ' split("\n")| .[0:-1]'
120120
121+
122+ # # Temporary set of migrations to get all my repos in shape
123+ php-migrations-move-infection : # ### Move infection.json.dist to etc/qa/infection.json5 ##*I*##
124+ ($( DOCKER_RUN) mv infection.json.dist etc/qa/infection.json5 || true)
125+
126+ php-migrations-remove-phpunit-config-dir-from-infection : # ### Drop XXX from etc/qa/infection.json5 ##*I*##
127+ ($( DOCKER_RUN) php -r ' $$infectionFile = "etc/qa/infection.json5"; if (!file_exists($$infectionFile)) {exit;} $$json = json_decode(file_get_contents($$infectionFile), true); if (!is_array($$json)) {exit;} if (!array_key_exists("phpUnit", $$json)) {exit;} unset($$json["phpUnit"]); file_put_contents($$infectionFile, json_encode($$json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\r\n");' || true)
128+
129+ php-migrations-create-empty-placeholder-old-infection-config-file-path : # ### Create empty infection.json.dist to fool Renovate ##*I*##
130+ ($( DOCKER_RUN) touch infection.json.dist || true)
131+
0 commit comments