@@ -5,14 +5,14 @@ SHELL=bash
55
66DOCKER_AVAILABLE =$(shell ((command -v docker >/dev/null 2>&1) && echo 0 || echo 1))
77CONTAINER_REGISTRY_REPO ="ghcr.io/wyrihaximusnet/php"
8- 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/.$$//')
9- 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:],')
8+ COMPOSER_SHOW_EXTENSION_LIST_PROD =$(shell (((command -v composer >/dev/null 2>&1) && composer show -t --no-plugins 2>/dev/null ) || 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/.$$//')
9+ COMPOSER_SHOW_EXTENSION_LIST_DEV =$(shell (((command -v composer >/dev/null 2>&1) && composer show -s --no-plugins 2>/dev/null ) || 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:],')
1010COMPOSER_SHOW_EXTENSION_LIST =$(shell echo "${COMPOSER_SHOW_EXTENSION_LIST_PROD},${COMPOSER_SHOW_EXTENSION_LIST_DEV}")
1111SLIM_DOCKER_IMAGE =$(shell php -r 'echo count(array_intersect(["gd", "vips"], explode(",", "${COMPOSER_SHOW_EXTENSION_LIST}") )) > 0 ? "" : "-slim";')
1212NTS_OR_ZTS_DOCKER_IMAGE =$(shell php -r 'echo count(array_intersect(["parallel"], explode(",", "${COMPOSER_SHOW_EXTENSION_LIST}") )) > 0 ? "zts" : "nts";')
1313PHP_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]);")
1414CONTAINER_NAME =$(shell echo "${CONTAINER_REGISTRY_REPO}:${PHP_VERSION}-${NTS_OR_ZTS_DOCKER_IMAGE}-alpine${SLIM_DOCKER_IMAGE}-dev")
15- COMPOSER_CACHE_DIR =$(shell (command -v composer >/dev/null 2>&1) && composer config --global cache-dir -q || echo ${HOME}/.composer-php/cache)
15+ COMPOSER_CACHE_DIR =$(shell (command -v composer >/dev/null 2>&1) && composer config --global cache-dir -q 2>/dev/null || echo ${HOME}/.composer-php/cache)
1616COMPOSER_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)
1717
1818ifneq ("$(wildcard /.you-are-in-a-wyrihaximus.net-php-docker-image) ","")
4646all : # # Runs everything ####
4747 $(DOCKER_RUN ) make all-raw
4848all-raw : # # The real runs everything, but due to sponge it has to be ran inside DOCKER_RUN ##U##
49- (( shell command - v sponge >/ dev / null 2 >& 1 ) && (sh - c '$(shell printf " % s % s" $( MAKE) $(shell cat $(MAKEFILE_LIST) | grep - E '^[a - zA - Z 0 - 9 _ - ] +: . *? ## . * $$ ' | grep - v "## * I * ##" | grep - v "####" | grep - v "##U##" | awk 'BEGIN {FS = " : . *? ## "}; {printf " % s\n" , $$ 1 }' | sponge | tr '\r\n' '_') | tr '_' ' ')') || (grep - E '^[a - zA - Z 0 - 9 _ - ] +: . *? ## . * $$ ' $(MAKEFILE_LIST) | grep - v "## * I * ##" | grep - v "####" | grep - v "##U##" | awk 'BEGIN {FS = " : . *? ## "}; {printf " % s\n" , $$ 1 }' | xargs - o $(MAKE )) )
49+ $( MAKE ) syntax-php composer-normalize rector-upgrade cs-fix cs stan unit-testing mutation-testing composer-require-checker composer-unused backward-compatibility-check # # Count: 11
5050
5151
5252# # Temporary set of migrations to get all my repos in shape
@@ -264,13 +264,13 @@ migrations-renovate-point-at-correct-config: #### Ensure .github/renovate.json p
264264
265265# # Our default jobs
266266
267- on-install-or-update : # # Runs everything ####
268- (( shell command - v sponge >/ dev/ null 2 >& 1 ) && (sh - c '$(shell printf "% s % s" $(MAKE) $(shell cat $(MAKEFILE_LIST) | grep - E '^[a- zA- Z0 - 9 _- ]+: .*? ## .* $$ ' | grep - E "##\* (I| ILH)\* ##" | awk 'BEGIN {FS = ": .*? ## "}; {printf "% s\n", $$ 1 }' | sponge | tr '\r\n' '_') | tr '_' ' ')') || (grep - E '^[a- zA- Z0 - 9 _- ]+: .*? ## .* $$ ' $(MAKEFILE_LIST) | grep - E "##\* (I| ILH)\* ##" | awk 'BEGIN {FS = ": .*? ## "}; {printf "% s\n", $$ 1 }' | xargs - o $(MAKE)) )
267+ on-install-or-update : # # Tasks, like migrations, that specifically have be run after composer install or update. These will also run by self hosted Renovate ####
268+ $(MAKE) migrations-git-enforce-gitattributes-contents migrations-git-make-sure-gitignore-exists migrations-git-make-sure-gitignore-ignores-var migrations-git-make-sure-gitignore-excludes-var-gitkeep migrations-php-make-sure-var-exists migrations-php-make-sure-var-gitkeep-exists migrations-php-make-sure-etc-exists migrations-php-make-sure-etc-ci-exists migrations-php-make-sure-etc-qa-exists migrations-php-move-psalm-xml-config-to-etc migrations-php-remove-psalm-xml-config migrations-php-remove-old-phpunit-xml-dist-config migrations-php-remove-old-phpunit-xml-config migrations-php-ensure-etc-ci-markdown-link-checker-json-exists migrations-php-move-infection-config-to-etc migrations-php-infection-create-config-if-not-exists migrations-php-remove-phpunit-config-dir-from-infection migrations-php-fix-logs-relative-paths-for-infection migrations-php-infection-ensure-log-text-has-the-correct-path migrations-php-infection-ensure-log-summary-has-the-correct-path migrations-php-infection-ensure-log-json-has-the-correct-path migrations-php-infection-ensure-log-per-mutator-has-the-correct-path migrations-php-add-github-true-to-for-infection migrations-php-set-phpunit-ensure-config-file-exists migrations-php-set-phpunit-xsd-path-to-local migrations-php-move-phpstan migrations-php-set-phpstan-ensure-config-file-exists migrations-php-set-phpstan-uncomment-parameters migrations-php-set-phpstan-add-parameters-if-it-isnt-present-in-the-config-file migrations-php-set-phpstan-paths-in-config migrations-php-set-phpstan-level-max-in-config migrations-php-set-phpstan-resolve-ergebnis-noExtends-classesAllowedToBeExtended migrations-php-set-phpstan-drop-checkGenericClassInNonGenericObjectType migrations-php-phpstan-add-prefix-for-anything-that-starts-with-vendor-in-a-list migrations-php-set-phpstan-drop-include-test-utilities-rules migrations-php-set-phpstan-drop-include-async-test-utilities-rules migrations-php-set-rector-create-config-if-not-exists migrations-php-composer-unused-create-config-if-not-exists migrations-php-composer-unused-drop-commented-out-line-scattered-across-my-repos migrations-php-move-phpcs migrations-php-move-phpcs-not-dist migrations-php-set-phpcs-ensure-config-file-exists migrations-php-phpcs-make-basepath-is-correct-relatively migrations-php-phpcs-make-cache-is-correct-relatively migrations-php-phpcs-make-sure-config-has-correct-relative-path-for-etc migrations-php-phpcs-make-sure-etc-has-no-trailing-slash migrations-php-phpcs-make-sure-config-has-correct-relative-path-for-src migrations-php-phpcs-make-sure-src-has-no-trailing-slash migrations-php-phpcs-make-sure-config-has-correct-relative-path-for-tests migrations-php-phpcs-make-sure-tests-has-no-trailing-slash migrations-php-phpcs-make-sure-etc-is-ran-through migrations-php-move-composer-require-checker migrations-php-composer-require-checker-create-config-if-not-exists migrations-php-make-sure-github-exists migrations-github-codeowners migrations-php-make-sure-github-workflows-exists migrations-github-actions-remove-composer-diff migrations-github-actions-remove-markdown-check-links migrations-github-actions-remove-markdown-craft-release migrations-github-actions-remove-set-milestone-on-pr migrations-github-actions-move-ci migrations-github-actions-remove-ci-if-its-old-style-php-ci-workflow migrations-github-actions-create-ci-if-not-exists migrations-github-actions-move-release-management migrations-github-actions-fix-management-in-release-management-referenced-workflow-file migrations-github-actions-create-release-management-if-not-exists migrations-renovate-remove-dependabot-config migrations-renovate-move-config migrations-renovate-create-config-if-not-exists migrations-renovate-point-at-correct-config syntax-php composer-normalize rector-upgrade cs-fix ## Count: 74
269269
270270syntax-php : # # Lint PHP syntax ##*ILH*##
271271 $(DOCKER_RUN ) vendor/bin/parallel-lint --exclude vendor .
272272
273- composer-normalize : # ## Normalize composer.json ##*I*##
273+ composer-normalize : # # Normalize composer.json ##*I*##
274274 $(DOCKER_RUN ) composer normalize
275275 $(DOCKER_RUN ) COMPOSER_DISABLE_NETWORK=1 composer update --lock --no-scripts || $(DOCKER_RUN ) composer update --lock --no-scripts
276276
@@ -327,17 +327,17 @@ help: ## Show this help ####
327327 @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | grep -v " ##U##" | sort | awk ' BEGIN {FS = ":.*?## "}; {printf " \033[32m%-32s\033[0m %s\n", $$1, $$2}' | tr -d ' #'
328328
329329task-list-ci-all : # # CI: Generate a JSON array of jobs to run on all variations
330- @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$ ' $( MAKEFILE_LIST ) | grep -E " ##\*A\*## " | grep -v " ##U## " | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1} ' | jq --raw-input --slurp -c ' split("\n")| .[0:-1] '
330+ $( MAKE ) syntax-php cs stan unit-testing mutation-testing composer-require-checker composer-unused backward-compatibility-check # # Count: 8
331331
332332task-list-ci-dos : # # CI: Generate a JSON array of jobs to run Directly on the OS variations
333- @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$ ' $( MAKEFILE_LIST ) | grep -E " ##\*D\*## " | grep -v " ##U## " | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1} ' | jq --raw-input --slurp -c ' split("\n")| .[0:-1] '
333+ $( MAKE ) unit-testing-raw # # Count: 1
334334
335335task-list-ci-low : # # CI: Generate a JSON array of jobs to run against the lowest dependencies on the primary threading target
336- @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$ ' $( MAKEFILE_LIST ) | grep -E " ##\*(L|LC|LCH|LH)\*## " | grep -v " ### " | grep -v " ##U## " | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1} ' | jq --raw-input --slurp -c ' split("\n")| .[0:-1] '
336+ $( MAKE ) syntax-php cs stan mutation-testing # # Count: 4
337337
338338task-list-ci-locked : # # CI: Generate a JSON array of jobs to run against the locked dependencies on the primary threading target
339- @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$ ' $( MAKEFILE_LIST ) | grep -E " ##\*(C|LC|LCH|CH)\*## " | grep -v " ### " | grep -v " ##U## " | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1} ' | jq --raw-input --slurp -c ' split("\n")| .[0:-1] '
339+ $( MAKE ) cs stan mutation-testing composer-require-checker composer-unused backward-compatibility-check # # Count: 6
340340
341341task-list-ci-high : # # CI: Generate a JSON array of jobs to run against the highest dependencies on the primary threading target
342- @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$ ' $( MAKEFILE_LIST ) | grep -E " ##\*(H|LH|LCH|LC)\*## " | grep -v " ### " | grep -v " ##U## " | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "%s\n", $$1} ' | jq --raw-input --slurp -c ' split("\n")| .[0:-1] '
342+ $( MAKE ) syntax-php cs stan mutation-testing # # Count: 4
343343
0 commit comments