rector/config/set/downgrade-php74.php

36 lines
2.6 KiB
PHP
Raw Normal View History

<?php
declare (strict_types=1);
namespace RectorPrefix20210808;
[CI] add demo for build php 7.1 version (#4447) * Renamed option to --exclude-path * Exclude /**/tests/ by default * Inverted order of downgrade * Fixed verb * Use sed to replace string * Simplified message * Use PHP version with "." * Completed PHP versions to downgrade * Execute Rector with --target-php-version * Added quotes to array keys * Allow to print command to output * Execute script within workflow * If rector fails, already exit 1 * Ignore PHP constraint * Removed --dry-run and errors for testing * Don't print command * Run downgraded for ALL sets * Include downgrade sets for testing * Run all sets in a command each * Added the target PHP version in each downgrade set * Use a rector config file to pass exclude paths * Exclude everything under /tests/ * Removed --dry-run * Set unneeded transformations in false * Exclude /ci/ * Exclude /compiler/ * Exclude DoctrineProvider * Exclude classes for dependency-injection * Exclude classes for http-kernel * Exclude classes for symfony string * Use cut instead of aws For if the path has a space * Calculate package execution order * Downgrade packages on required order * Consider the set to check package dependents * Store packages_to_downgrade_by_set * Store package_dependents["$package|$set"] * Fixed converting from string to array * Fixed converting string to array * Fixed char * Simplified counter * Fixed string to array * Fixed var * Fixed getting dependents * Fixed checking if dependent packages downgraded * rector/rector has no dependents * Simplified downgraded_packages * Ignore dependent package on itself * If circular dependencies, make the process fail * Uncommented executing rector * Exclude /stubs * Calculate circular reference packages * Break circular references * Uncommented rector call * Do downgrade ContainerBuilder * Added expression-language as dep for PROD * [ci-review] Generate Rector & Nodes documentation * [ci-review] Apply coding standards * [ci-review] Rector Rectify * Obtain "rector/rector" from composer * Removed commented code * Don't do platform check for Composer v2 * Moved comment up * [ci-review] Rector Rectify * [ci-review] Rector Rectify * Must dump autload to remove platform_check.php * [ci-review] Rector Rectify * [ci-review] Rector Rectify * Copied file from master * Use new convention (70000) for PHP versions (7.0) * Fixed cs * Fixed PHPStan * Added "create-config" command - Initial commit * [ci-review] Rector Rectify * Moved rector config under custom folder * Use predefined rector configs instead of injecting --set * Created rector config files * Use array of rector configs, even if only 1 is used * Require once config file * Fixed exclude paths * Execute only last rector config (containing many sets) * Exclude file that makes process fail * Removed --dry-run * Use existing option name * Handle GROUP_RECTOR_CONFIGS in circular packages * Changing PHP_VERSION_ID does not work, so commented rule * Bug fixed => uncommented using rector * Renamed NoParticularNodeRule to ForbiddenNodeRule * [ci-review] Rector Rectify * Fixed PHP version constants * Added (failing) test * Fixed issue for nullable scalars * Can't run Rector with --set through CLI, removed * Added (failing) test * Fixed issue for __construct * Fixed constant name * Added (failing) test for self * Added another (failing) test * Fixed not adding "\" before "static", "self", etc * [ci-review] Rector Rectify * Skip downgrading CouchbaseBucketAdapter * Renamed var * Added (failing) test * Fixed interface and abstract class issue * [ci-review] Rector Rectify * Fixed PHPStan error * Create artifact of downgraded code * Added missing spaces for args * Use 4 spaces for consistency * Ignore build folder in rector-php71.zip * Switch to setup-php@v2 * Added (failing) test * Issue is on calling method, not on constructor * Implemented fix * Renamed test * Added further tests * [ci-review] Rector Rectify * Fixed PHPStan * Fixed PHPStan * Added (failing) test * Fixed issue on new Class('foo', ) * Execute tests * No need for quotes * Made the artifact contain the folder, not a .zip * Removed /compiler folder (it's been deleted?) * Do upload the artifact as a .zip (too slow otherwise) * Remove all tests, also from under vendor/ * Upgraded zip action version * Change Composer's PHP requirement to 7.1 * Try exclude tests under vendor/ * Renamed artifact * Try exclude tests under vendor/ * Updated test (to fail) * If the float has no ".", add ".0" at the end * Must remove deps before "composer require php" * Replaced call to phpstan * Cannot run PHPStan on 7.1, just run Rector * Change Composer's PHP requirement to 7.1 * Remove DEV dependencies * Require Symfony Polyfill libraries * Rector without DEV needs phpstan.neon removed * Run PHPStan * Added paths to analyze * Access PHPStan config from file * Fixed relative paths * Override the artifact with downgraded Composer too * Uncommented scanDirectories * Include tests/ in artifact * Exclude */tests/* * Ignore utils/phpstan-extensions * PHPUnit is installed in DEV, can't use it in PROD * "nette/application" is on DEV, may not exist on PROD * [ci-review] Rector Rectify * [ci-review] Rector Rectify * Improved comment after rectify * Fixed previous messed-up merge * Removed 1st slash * Downgrade all dependencies together * Replace the composer.json file * Can't have more than 1 path to downgrade * No need to change PHP requirement to 7.1 anymore * Remove DEV dependencies before replacing composer.json * Changed order of commands * No need for --ignore-platform-req=php * Add all Symfony polyfill libraries * Require Symfony polyfill libraries earlier on * Test removing `ignoreErrors` from PHPStan * Remove ignored errors which do not apply * Fixed the list of `excludes_analyse` * Removed commented code * Fixed PHPStan config * Only analyze the target PHP version if GROUP_RECTOR_CONFIGS * Simplified script: just analyze target PHP version * Renamed downgrade sets * Removed unneeded create-config command * Removed call to deleted class * Dropped ChangePhpVersionInPlatformCheckRector * Must remove phpstan-for-rector.neon from PROD * Do not execute --dry-run, it returns error * Publish downgraded code to remote repository * Removed commented code * Standardized script code * Initialize variables in script * No need to initialize vars * Remove the zip, do not copy to target repo * Remove .git before deploying to target repo * Copy files to rector-downgrade/ * Use branch "main" * Copy also hidden files * Remove docker publish image workflow * Trigger own tests workflow * Include "lowest" * Run PHPStan instead of PHPUnit * Run PHPStan in new temp directory * Execute in same item * "../" for --config doesn't work for PHPStan * Added bare run test * Added tests for PHP 7.2 * Added test * Run with php * Replaced namespace * Added PHPUnit test for PHP 7.1 * Use PHP 7.1-compatible version of "doctrine/orm" * Can't skip downgrading doctrine-annotation-generated * Removed commented items * Renamed test workflow * Added comments on code * Run all tests, not just 1 * Downgrade package from v3.1 to v3.0.7 * Run existing tests * Revert tests * [ci-review] Rector Rectify Co-authored-by: Leonardo Losoviz <leo@getpop.org> Co-authored-by: rector-bot <tomas@getrector.org>
2021-01-25 19:25:21 +00:00
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp74\Rector\Array_\DowngradeArraySpreadRector;
use Rector\DowngradePhp74\Rector\ArrowFunction\ArrowFunctionToAnonymousFunctionRector;
use Rector\DowngradePhp74\Rector\ClassMethod\DowngradeContravariantArgumentTypeRector;
use Rector\DowngradePhp74\Rector\ClassMethod\DowngradeCovariantReturnTypeRector;
use Rector\DowngradePhp74\Rector\ClassMethod\DowngradeSelfTypeDeclarationRector;
use Rector\DowngradePhp74\Rector\Coalesce\DowngradeNullCoalescingOperatorRector;
use Rector\DowngradePhp74\Rector\FuncCall\DowngradeArrayMergeCallWithoutArgumentsRector;
use Rector\DowngradePhp74\Rector\FuncCall\DowngradeStripTagsCallWithArrayRector;
use Rector\DowngradePhp74\Rector\Identical\DowngradeFreadFwriteFalsyToNegationRector;
use Rector\DowngradePhp74\Rector\LNumber\DowngradeNumericLiteralSeparatorRector;
use Rector\DowngradePhp74\Rector\Property\DowngradeTypedPropertyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$parameters = $containerConfigurator->parameters();
$parameters->set(\Rector\Core\Configuration\Option::PHP_VERSION_FEATURES, \Rector\Core\ValueObject\PhpVersion::PHP_73);
$services = $containerConfigurator->services();
$services->set(\Rector\DowngradePhp74\Rector\Property\DowngradeTypedPropertyRector::class);
$services->set(\Rector\DowngradePhp74\Rector\ArrowFunction\ArrowFunctionToAnonymousFunctionRector::class);
$services->set(\Rector\DowngradePhp74\Rector\ClassMethod\DowngradeCovariantReturnTypeRector::class);
$services->set(\Rector\DowngradePhp74\Rector\ClassMethod\DowngradeContravariantArgumentTypeRector::class);
$services->set(\Rector\DowngradePhp74\Rector\Coalesce\DowngradeNullCoalescingOperatorRector::class);
$services->set(\Rector\DowngradePhp74\Rector\LNumber\DowngradeNumericLiteralSeparatorRector::class);
$services->set(\Rector\DowngradePhp74\Rector\FuncCall\DowngradeStripTagsCallWithArrayRector::class);
$services->set(\Rector\DowngradePhp74\Rector\Array_\DowngradeArraySpreadRector::class);
$services->set(\Rector\DowngradePhp74\Rector\FuncCall\DowngradeArrayMergeCallWithoutArgumentsRector::class);
$services->set(\Rector\DowngradePhp74\Rector\Identical\DowngradeFreadFwriteFalsyToNegationRector::class);
$services->set(\Rector\DowngradePhp74\Rector\ClassMethod\DowngradeSelfTypeDeclarationRector::class);
};