wexample-wex-addon-dev-php 12.6.0__tar.gz → 12.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/PKG-INFO +14 -14
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/README.md +8 -8
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/pyproject.toml +6 -6
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/resources/docker/Dockerfile.roave +7 -2
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/docker/docker-compose.yml +5 -1
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/docker-compose.yml +1 -1
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml +1 -1
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.dev +2 -2
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.release +6 -6
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/workdir/php_package_workdir.py +13 -3
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/workdir/php_symfony_workdir.py +26 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/config_value/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/config_value/php_package_readme_config_value.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/const/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/const/tags.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/deployment/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/deployment/step/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/deployment/step/symfony_env_local_deployment_step.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/file/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/file/php_composer_json_file.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/formatter/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/formatter/php_code_formatter.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/php_addon_manager.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/py.typed +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/resources/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/resources/design_rules/php_code.md +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/resources/writing_rules/php_code.md +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/commands/service/refresh_lock.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/composer/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/web.ini +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/frankenphp/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/app_service.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/migrate.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/disable.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/enable.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/refresh_lock.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/laravel/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/ai/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/ai/shared/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/ai/shared/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/ai/shared/php.j2 +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/Caddyfile +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/php/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/samples/php/web.ini +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/php/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/phpmyadmin/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/agent.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/app_service.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/deploy.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/watch.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/translate.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/entity.md +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/env.build +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/symfony/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/replace.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose-cli.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/local/wp-cli/.gitkeep +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/services/wordpress/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/workdir/php_packages_suite_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/src/wexample_wex_addon_dev_php/workdir/php_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/tests/.gitkeep +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/tests/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/tests/workdir/test_php_package_workdir.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: wexample-wex-addon-dev-php
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.7.1
|
|
4
4
|
Summary: Extends wex with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers
|
|
5
5
|
Author-Email: weeger <contact@wexample.com>
|
|
6
6
|
License: MIT
|
|
@@ -11,11 +11,11 @@ Project-URL: homepage, https://github.com/wexample/python-wex-dev-python
|
|
|
11
11
|
Requires-Python: >=3.10
|
|
12
12
|
Requires-Dist: attrs>=23.1.0
|
|
13
13
|
Requires-Dist: cattrs>=23.1.0
|
|
14
|
-
Requires-Dist: wexample-filestate-php>=6.
|
|
15
|
-
Requires-Dist: wexample-filestate-symfony>=2.
|
|
16
|
-
Requires-Dist: wexample-wex-addon-ai>=
|
|
17
|
-
Requires-Dist: wexample-wex-addon-app>=
|
|
18
|
-
Requires-Dist: wexample-wex-addon-dev-javascript>=8.
|
|
14
|
+
Requires-Dist: wexample-filestate-php>=6.5.0
|
|
15
|
+
Requires-Dist: wexample-filestate-symfony>=2.1.0
|
|
16
|
+
Requires-Dist: wexample-wex-addon-ai>=18.2.0
|
|
17
|
+
Requires-Dist: wexample-wex-addon-app>=33.1.0
|
|
18
|
+
Requires-Dist: wexample-wex-addon-dev-javascript>=8.3.0
|
|
19
19
|
Provides-Extra: dev
|
|
20
20
|
Requires-Dist: pytest; extra == "dev"
|
|
21
21
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
|
|
|
23
23
|
|
|
24
24
|
# wex_addon_dev_php
|
|
25
25
|
|
|
26
|
-
Version: 12.
|
|
26
|
+
Version: 12.7.1
|
|
27
27
|
|
|
28
28
|
`wex_addon_dev_php` extends the wex CLI with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers. It is aimed at PHP developers who manage their apps through wex and need framework-aware automation — dependency wiring, migration runs, lock-file refreshes — executed directly inside the running service containers. The addon registers four workdir types (`php`, `php-package`, `php-packages-suite`, `php-symfony`) and contributes its commands through the standard `PhpAddonManager` plugin point.
|
|
29
29
|
|
|
@@ -195,7 +195,7 @@ Services live under `src/wexample_wex_addon_dev_php/services/`. Each service has
|
|
|
195
195
|
|
|
196
196
|
#### php
|
|
197
197
|
|
|
198
|
-
Defined in src/wexample_wex_addon_dev_php/services/php/service.yml and src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml. The base PHP service: runs `dunglas/frankenphp:php8.
|
|
198
|
+
Defined in src/wexample_wex_addon_dev_php/services/php/service.yml and src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml. The base PHP service: runs `dunglas/frankenphp:1.13.0-php8.5.11`, mounts the app at `/var/www/html`, and binds a `Caddyfile` and a `web.ini` from the runtime config. The `laravel` and `symfony` containers extend this compose service definition. Sample files for the Caddyfile (serving from `public/`, `php_server` directive) and `web.ini` (upload limits, memory limit) are shipped in `services/php/samples/`.
|
|
199
199
|
|
|
200
200
|
#### frankenphp
|
|
201
201
|
|
|
@@ -203,7 +203,7 @@ Defined in src/wexample_wex_addon_dev_php/services/frankenphp/service.yml. A sta
|
|
|
203
203
|
|
|
204
204
|
#### composer
|
|
205
205
|
|
|
206
|
-
Defined in src/wexample_wex_addon_dev_php/services/composer/service.yml. A dedicated Composer container (`composer:
|
|
206
|
+
Defined in src/wexample_wex_addon_dev_php/services/composer/service.yml. A dedicated Composer container (`composer:2.9.7`) that mounts the app at `/var/www/html` and stays alive via `tail -f /dev/null`. Its PHP is the image's, not the app's, so it runs with `COMPOSER_IGNORE_PLATFORM_REQS=1`: extensions such as `intl` are the app container's to have. Its commands are the generic lock-management routines that Laravel and Symfony both call.
|
|
207
207
|
|
|
208
208
|
#### laravel
|
|
209
209
|
|
|
@@ -273,11 +273,11 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
273
273
|
|
|
274
274
|
- attrs: >=23.1.0
|
|
275
275
|
- cattrs: >=23.1.0
|
|
276
|
-
- wexample-filestate-php: >=6.
|
|
277
|
-
- wexample-filestate-symfony: >=2.
|
|
278
|
-
- wexample-wex-addon-ai: >=
|
|
279
|
-
- wexample-wex-addon-app: >=
|
|
280
|
-
- wexample-wex-addon-dev-javascript: >=8.
|
|
276
|
+
- wexample-filestate-php: >=6.5.0
|
|
277
|
+
- wexample-filestate-symfony: >=2.1.0
|
|
278
|
+
- wexample-wex-addon-ai: >=18.2.0
|
|
279
|
+
- wexample-wex-addon-app: >=33.1.0
|
|
280
|
+
- wexample-wex-addon-dev-javascript: >=8.3.0
|
|
281
281
|
|
|
282
282
|
## Versioning & Compatibility Policy
|
|
283
283
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# wex_addon_dev_php
|
|
2
2
|
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.7.1
|
|
4
4
|
|
|
5
5
|
`wex_addon_dev_php` extends the wex CLI with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers. It is aimed at PHP developers who manage their apps through wex and need framework-aware automation — dependency wiring, migration runs, lock-file refreshes — executed directly inside the running service containers. The addon registers four workdir types (`php`, `php-package`, `php-packages-suite`, `php-symfony`) and contributes its commands through the standard `PhpAddonManager` plugin point.
|
|
6
6
|
|
|
@@ -172,7 +172,7 @@ Services live under `src/wexample_wex_addon_dev_php/services/`. Each service has
|
|
|
172
172
|
|
|
173
173
|
#### php
|
|
174
174
|
|
|
175
|
-
Defined in src/wexample_wex_addon_dev_php/services/php/service.yml and src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml. The base PHP service: runs `dunglas/frankenphp:php8.
|
|
175
|
+
Defined in src/wexample_wex_addon_dev_php/services/php/service.yml and src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml. The base PHP service: runs `dunglas/frankenphp:1.13.0-php8.5.11`, mounts the app at `/var/www/html`, and binds a `Caddyfile` and a `web.ini` from the runtime config. The `laravel` and `symfony` containers extend this compose service definition. Sample files for the Caddyfile (serving from `public/`, `php_server` directive) and `web.ini` (upload limits, memory limit) are shipped in `services/php/samples/`.
|
|
176
176
|
|
|
177
177
|
#### frankenphp
|
|
178
178
|
|
|
@@ -180,7 +180,7 @@ Defined in src/wexample_wex_addon_dev_php/services/frankenphp/service.yml. A sta
|
|
|
180
180
|
|
|
181
181
|
#### composer
|
|
182
182
|
|
|
183
|
-
Defined in src/wexample_wex_addon_dev_php/services/composer/service.yml. A dedicated Composer container (`composer:
|
|
183
|
+
Defined in src/wexample_wex_addon_dev_php/services/composer/service.yml. A dedicated Composer container (`composer:2.9.7`) that mounts the app at `/var/www/html` and stays alive via `tail -f /dev/null`. Its PHP is the image's, not the app's, so it runs with `COMPOSER_IGNORE_PLATFORM_REQS=1`: extensions such as `intl` are the app container's to have. Its commands are the generic lock-management routines that Laravel and Symfony both call.
|
|
184
184
|
|
|
185
185
|
#### laravel
|
|
186
186
|
|
|
@@ -250,11 +250,11 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
250
250
|
|
|
251
251
|
- attrs: >=23.1.0
|
|
252
252
|
- cattrs: >=23.1.0
|
|
253
|
-
- wexample-filestate-php: >=6.
|
|
254
|
-
- wexample-filestate-symfony: >=2.
|
|
255
|
-
- wexample-wex-addon-ai: >=
|
|
256
|
-
- wexample-wex-addon-app: >=
|
|
257
|
-
- wexample-wex-addon-dev-javascript: >=8.
|
|
253
|
+
- wexample-filestate-php: >=6.5.0
|
|
254
|
+
- wexample-filestate-symfony: >=2.1.0
|
|
255
|
+
- wexample-wex-addon-ai: >=18.2.0
|
|
256
|
+
- wexample-wex-addon-app: >=33.1.0
|
|
257
|
+
- wexample-wex-addon-dev-javascript: >=8.3.0
|
|
258
258
|
|
|
259
259
|
## Versioning & Compatibility Policy
|
|
260
260
|
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "wexample-wex-addon-dev-php"
|
|
9
|
-
version = "12.
|
|
9
|
+
version = "12.7.1"
|
|
10
10
|
description = "Extends wex with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers"
|
|
11
11
|
authors = [
|
|
12
12
|
{ name = "weeger", email = "contact@wexample.com" },
|
|
@@ -20,11 +20,11 @@ classifiers = [
|
|
|
20
20
|
dependencies = [
|
|
21
21
|
"attrs>=23.1.0",
|
|
22
22
|
"cattrs>=23.1.0",
|
|
23
|
-
"wexample-filestate-php>=6.
|
|
24
|
-
"wexample-filestate-symfony>=2.
|
|
25
|
-
"wexample-wex-addon-ai>=
|
|
26
|
-
"wexample-wex-addon-app>=
|
|
27
|
-
"wexample-wex-addon-dev-javascript>=8.
|
|
23
|
+
"wexample-filestate-php>=6.5.0",
|
|
24
|
+
"wexample-filestate-symfony>=2.1.0",
|
|
25
|
+
"wexample-wex-addon-ai>=18.2.0",
|
|
26
|
+
"wexample-wex-addon-app>=33.1.0",
|
|
27
|
+
"wexample-wex-addon-dev-javascript>=8.3.0",
|
|
28
28
|
]
|
|
29
29
|
|
|
30
30
|
[project.readme]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
FROM php:8.5-cli
|
|
1
|
+
FROM php:8.5.11-cli
|
|
2
2
|
|
|
3
3
|
RUN apt-get update && apt-get install -y \
|
|
4
4
|
git \
|
|
@@ -6,7 +6,12 @@ RUN apt-get update && apt-get install -y \
|
|
|
6
6
|
libicu-dev \
|
|
7
7
|
libzip-dev \
|
|
8
8
|
libpng-dev \
|
|
9
|
+
libjpeg62-turbo-dev \
|
|
10
|
+
libwebp-dev \
|
|
9
11
|
&& rm -rf /var/lib/apt/lists/* \
|
|
12
|
+
# GD as the applications have it: a package writing a thumbnail as WebP
|
|
13
|
+
# from an uploaded JPEG fails here otherwise, and nowhere else.
|
|
14
|
+
&& docker-php-ext-configure gd --with-jpeg --with-webp \
|
|
10
15
|
&& docker-php-ext-install bcmath gd intl zip \
|
|
11
16
|
# A test suite compiling a Symfony container outgrows the CLI's 128M.
|
|
12
17
|
&& echo 'memory_limit=1G' > /usr/local/etc/php/conf.d/memory.ini
|
|
@@ -19,7 +24,7 @@ RUN git config --system --add safe.directory '*'
|
|
|
19
24
|
RUN groupadd -g 1000 appuser && \
|
|
20
25
|
useradd -m -u 1000 -g 1000 -s /bin/bash appuser
|
|
21
26
|
|
|
22
|
-
COPY --from=composer:
|
|
27
|
+
COPY --from=composer:2.9.7 /usr/bin/composer /usr/bin/composer
|
|
23
28
|
|
|
24
29
|
USER appuser
|
|
25
30
|
RUN composer global require roave/backward-compatibility-check
|
|
@@ -2,11 +2,15 @@ services:
|
|
|
2
2
|
composer:
|
|
3
3
|
restart: unless-stopped
|
|
4
4
|
container_name: ${APP_PROJECT_NAME}_composer
|
|
5
|
-
image: composer:
|
|
5
|
+
image: composer:2.9.7
|
|
6
6
|
working_dir: /var/www/html
|
|
7
7
|
command: tail -f /dev/null
|
|
8
8
|
environment:
|
|
9
9
|
COMPOSER_ALLOW_SUPERUSER: "1"
|
|
10
|
+
# This PHP is the composer image's, not the app's: its extensions and version
|
|
11
|
+
# say nothing about what the app runs on (intl, pdo_pgsql… live in the app
|
|
12
|
+
# container). Platform requirements are the app container's to check.
|
|
13
|
+
COMPOSER_IGNORE_PLATFORM_REQS: "1"
|
|
10
14
|
volumes:
|
|
11
15
|
- ${APP_PATH}:/var/www/html
|
|
12
16
|
extends:
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
# containers (see the composer and node services), so nothing here needs to
|
|
3
3
|
# know how the app is built.
|
|
4
4
|
|
|
5
|
-
FROM dunglas/frankenphp:php8.
|
|
5
|
+
FROM dunglas/frankenphp:1.13.0-php8.5.11
|
|
6
6
|
|
|
7
|
-
RUN install-php-extensions pdo_pgsql intl
|
|
7
|
+
RUN install-php-extensions pdo_pgsql intl gd
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
# .wex/docker/env.build lets that kernel boot without any deployment secret;
|
|
7
7
|
# the database is never queried.
|
|
8
8
|
|
|
9
|
-
FROM dunglas/frankenphp:php8.
|
|
9
|
+
FROM dunglas/frankenphp:1.13.0-php8.5.11 AS build
|
|
10
10
|
|
|
11
|
-
RUN install-php-extensions pdo_pgsql intl zip
|
|
11
|
+
RUN install-php-extensions pdo_pgsql intl zip gd
|
|
12
12
|
|
|
13
|
-
RUN curl -fsSL https://deb.nodesource.com/
|
|
13
|
+
RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \
|
|
14
14
|
&& apt-get install -y --no-install-recommends nodejs git unzip \
|
|
15
15
|
&& npm install -g yarn \
|
|
16
16
|
&& rm -rf /var/lib/apt/lists/*
|
|
17
17
|
|
|
18
|
-
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
|
18
|
+
COPY --from=composer:2.9.7 /usr/bin/composer /usr/bin/composer
|
|
19
19
|
|
|
20
20
|
WORKDIR /var/www/html
|
|
21
21
|
|
|
@@ -35,9 +35,9 @@ RUN cp .wex/docker/env.build .env \
|
|
|
35
35
|
&& php bin/console cache:warmup \
|
|
36
36
|
&& rm -rf node_modules
|
|
37
37
|
|
|
38
|
-
FROM dunglas/frankenphp:php8.
|
|
38
|
+
FROM dunglas/frankenphp:1.13.0-php8.5.11
|
|
39
39
|
|
|
40
|
-
RUN install-php-extensions pdo_pgsql intl opcache
|
|
40
|
+
RUN install-php-extensions pdo_pgsql intl opcache gd
|
|
41
41
|
|
|
42
42
|
WORKDIR /var/www/html
|
|
43
43
|
|
|
@@ -195,8 +195,10 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
|
|
|
195
195
|
php is not on the host, and neither are the dependencies: a package's
|
|
196
196
|
vendor/ lives in a Docker volume of its own, mounted where the tests
|
|
197
197
|
expect it, so the host keeps no copy of it for an editor to index. The
|
|
198
|
-
volume is refilled
|
|
199
|
-
|
|
198
|
+
volume is refilled when any composer.json of the suite changed since —
|
|
199
|
+
the siblings' too, since a path dependency gaining a requirement leaves
|
|
200
|
+
this package's own manifest untouched and its vendor/ short of it. No
|
|
201
|
+
lock is written, the package's own being left as it is.
|
|
200
202
|
|
|
201
203
|
The packages' directory is mounted whole: the local siblings are linked
|
|
202
204
|
into vendor/ by relative paths (composer path repositories). Run as the
|
|
@@ -216,6 +218,11 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
|
|
|
216
218
|
vendor_volume = f"wex-php-vendor-{path.name}-{path_hash}"
|
|
217
219
|
cache_volume = "wex-php-composer-cache"
|
|
218
220
|
|
|
221
|
+
# The tests run as the user and write in the package (a test kernel's
|
|
222
|
+
# var/cache…): what an earlier run as root left there is handed back first.
|
|
223
|
+
if os.geteuid() == 0:
|
|
224
|
+
self.restore_real_user_ownership()
|
|
225
|
+
|
|
219
226
|
# The mount point: Docker would create it as root otherwise. Created by
|
|
220
227
|
# the user already when wex itself does not run as root.
|
|
221
228
|
vendor_dir = path / "vendor"
|
|
@@ -239,7 +246,10 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
|
|
|
239
246
|
package_dir = f"{packages_dir}/{path.name}"
|
|
240
247
|
script = (
|
|
241
248
|
"set -e; "
|
|
242
|
-
|
|
249
|
+
# Every manifest of the mounted suite, not just this package's:
|
|
250
|
+
# the siblings are path dependencies, and what they require lands
|
|
251
|
+
# in this vendor/ without their change showing here.
|
|
252
|
+
'sum=$(cat composer.json ../*/composer.json | sha1sum | cut -d" " -f1); '
|
|
243
253
|
'if [ "$(cat vendor/.wex-composer-json 2>/dev/null)" != "$sum" ]; then '
|
|
244
254
|
"composer config --global lock false; "
|
|
245
255
|
"composer update --no-interaction --no-progress --no-scripts; "
|
|
@@ -94,6 +94,8 @@ class PhpSymfonyWorkdir(PhpWorkdir):
|
|
|
94
94
|
|
|
95
95
|
raw_value = super().prepare_value(raw_value=raw_value)
|
|
96
96
|
|
|
97
|
+
self._require_symfony_acolyte(raw_value)
|
|
98
|
+
|
|
97
99
|
# Declared statically rather than left to the inherited recursive
|
|
98
100
|
# filter, because `sidecar_of` resolves its primary by the identity of
|
|
99
101
|
# the very dict declaring it.
|
|
@@ -860,3 +862,27 @@ class PhpSymfonyWorkdir(PhpWorkdir):
|
|
|
860
862
|
install = manifest.get("extra", {}).get("install", {})
|
|
861
863
|
if install:
|
|
862
864
|
yield name, directory, install
|
|
865
|
+
|
|
866
|
+
def _require_symfony_acolyte(self, raw_value: DictConfig) -> None:
|
|
867
|
+
"""Make the app's composer.json require the package its content rules call.
|
|
868
|
+
|
|
869
|
+
The Symfony content options (`entity_extend` and siblings) are answered by a
|
|
870
|
+
console command shipped in a Composer package. Declaring the rules without the
|
|
871
|
+
package let rectification crash on any app that had not added it by hand — and
|
|
872
|
+
a local symlink under `vendor/` was no proof of it: without the requirement
|
|
873
|
+
Composer neither autoloads the package nor the app registers its bundle.
|
|
874
|
+
|
|
875
|
+
Only the requirement is written, and only when absent. The bundle still has to be
|
|
876
|
+
listed in `config/bundles.php`, which is PHP and not a structured file.
|
|
877
|
+
"""
|
|
878
|
+
from wexample_filestate_symfony.const.symfony import (
|
|
879
|
+
SYMFONY_ACOLYTE_CONSTRAINT,
|
|
880
|
+
SYMFONY_ACOLYTE_PACKAGE,
|
|
881
|
+
)
|
|
882
|
+
|
|
883
|
+
for child in raw_value["children"]:
|
|
884
|
+
if isinstance(child, dict) and child.get("name") == "composer.json":
|
|
885
|
+
child.setdefault("should_contain_keys", {})[
|
|
886
|
+
f"require.{SYMFONY_ACOLYTE_PACKAGE}"
|
|
887
|
+
] = SYMFONY_ACOLYTE_CONSTRAINT
|
|
888
|
+
return
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wexample_wex_addon_dev_php-12.6.0 → wexample_wex_addon_dev_php-12.7.1}/tests/workdir/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|