Skip to content

Commit b7117ea

Browse files
committed
feature #598 officially requiring php 7.1 (weaverryan)
This PR was squashed before being merged into the 1.0-dev branch. Discussion ---------- officially requiring php 7.1 Alternative to #597 Commits ------- ae55a7c removing code related to 7.1 support 6017db8 working around appveyor issue 3e80b94 using OutputFormatterStyle to format links instead of doing it ourselves 0f9c064 improving failure error message 26fed03 officially requiring php 7.1
2 parents c8b36ce + ae55a7c commit b7117ea

14 files changed

+46
-78
lines changed

.php_cs.dist

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ $finder = PhpCsFixer\Finder::create()
1313
->notName('*.tpl.php')
1414
;
1515

16-
if (\PHP_VERSION_ID < 70100) {
17-
// EntityRegenerator works only with PHP 7.1+
18-
$finder->notName('EntityRegenerator.php');
19-
}
20-
2116
return PhpCsFixer\Config::create()
2217
->setRules(array(
2318
'@Symfony' => true,

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ init:
2020
- SET COMPOSER_NO_INTERACTION=1
2121
- SET PHP=0 # This var is connected to PHP install cache
2222
- SET ANSICON=121x90 (121x90)
23+
- SET MAKER_DISABLE_FILE_LINKS=1
2324

2425
environment:
2526
TEST_DATABASE_DSN: mysql://root:[email protected]:3306/test_maker

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
],
1414
"minimum-stability": "dev",
1515
"require": {
16-
"php": "^7.0.8",
16+
"php": "^7.1.3",
1717
"doctrine/inflector": "^1.2",
1818
"nikic/php-parser": "^4.0",
1919
"symfony/config": "^3.4|^4.0|^5.0",

src/DependencyBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ final class DependencyBuilder
1616
private $dependencies = [];
1717
private $devDependencies = [];
1818

19-
private $minimumPHPVersion = 70000;
19+
private $minimumPHPVersion = 70100;
2020

2121
/**
2222
* Add a dependency that will be reported if the given class is missing.
@@ -44,7 +44,7 @@ public function addClassDependency(string $class, string $package, bool $require
4444

4545
public function requirePHP71()
4646
{
47-
$this->minimumPHPVersion = 70100;
47+
// no-op - MakerBundle now required PHP 7.1
4848
}
4949

5050
/**

src/Maker/MakeEntity.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,6 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
270270

271271
public function configureDependencies(DependencyBuilder $dependencies, InputInterface $input = null)
272272
{
273-
$dependencies->requirePHP71();
274-
275273
if (null !== $input && $input->getOption('api-resource')) {
276274
$dependencies->addClassDependency(
277275
ApiResource::class,

src/Maker/MakeUser.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,6 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
232232

233233
public function configureDependencies(DependencyBuilder $dependencies, InputInterface $input = null)
234234
{
235-
$dependencies->requirePHP71();
236-
237235
// checking for SecurityBundle guarantees security.yaml is present
238236
$dependencies->addClassDependency(
239237
SecurityBundle::class,

src/Test/MakerTestCase.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ protected function executeMakerCommand(MakerTestDetails $testDetails)
4545
$files = $testEnv->getGeneratedFilesFromOutputText();
4646

4747
foreach ($files as $file) {
48-
$this->assertTrue($testEnv->fileExists($file));
48+
$this->assertTrue($testEnv->fileExists($file), sprintf('The file "%s" does not exist after generation', $file));
4949

5050
if ('.php' === substr($file, -4)) {
5151
$csProcess = $testEnv->runPhpCSFixer($file);

src/Util/MakerFileLinkFormatter.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Symfony\Bundle\MakerBundle\Util;
1313

14+
use Symfony\Component\Console\Formatter\OutputFormatterStyle;
1415
use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
1516

1617
/**
@@ -40,14 +41,14 @@ public function makeLinkedPath(string $absolutePath, string $relativePath): stri
4041
return $relativePath;
4142
}
4243

43-
return $this->createLink(
44-
$relativePath,
45-
$formatted
46-
);
47-
}
44+
// workaround for difficulties parsing linked file paths in appveyor
45+
if (getenv('MAKER_DISABLE_FILE_LINKS')) {
46+
return $relativePath;
47+
}
4848

49-
private function createLink(string $text, string $href): string
50-
{
51-
return "\033]8;;{$href}\033\\{$text}\033]8;;\033\\";
49+
$outputFormatterStyle = new OutputFormatterStyle();
50+
$outputFormatterStyle->setHref($formatted);
51+
52+
return $outputFormatterStyle->apply($relativePath);
5253
}
5354
}

tests/FileManagerTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ public function getPathForTemplateTests()
189189

190190
public function testWithMakerFileLinkFormatter(): void
191191
{
192+
if (getenv('MAKER_DISABLE_FILE_LINKS')) {
193+
$this->markTestSkipped();
194+
}
195+
192196
$fileLinkFormatter = $this->createMock(FileLinkFormatter::class);
193197
$fileLinkFormatter
194198
->method('format')

tests/Maker/MakeEntityTest.php

Lines changed: 23 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ public function getTestDetails()
3030
])
3131
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntity')
3232
->configureDatabase()
33-
->updateSchemaAfterCommand()
34-
->setRequiredPhpVersion(70100),
33+
->updateSchemaAfterCommand(),
3534
];
3635

3736
yield 'entity_new_api_resource' => [MakerTestDetails::createTest(
@@ -48,7 +47,6 @@ public function getTestDetails()
4847
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntity')
4948
->configureDatabase()
5049
->updateSchemaAfterCommand()
51-
->setRequiredPhpVersion(70100)
5250
->assert(function (string $output, string $directory) {
5351
$this->assertFileExists($directory.'/src/Entity/User.php');
5452

@@ -79,8 +77,7 @@ public function getTestDetails()
7977
])
8078
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntity')
8179
->configureDatabase()
82-
->updateSchemaAfterCommand()
83-
->setRequiredPhpVersion(70100),
80+
->updateSchemaAfterCommand(),
8481
];
8582

8683
yield 'entity_updating' => [MakerTestDetails::createTest(
@@ -101,8 +98,7 @@ public function getTestDetails()
10198
])
10299
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityUpdate')
103100
->configureDatabase()
104-
->updateSchemaAfterCommand()
105-
->setRequiredPhpVersion(70100),
101+
->updateSchemaAfterCommand(),
106102
];
107103

108104
yield 'entity_many_to_one_simple_with_inverse' => [MakerTestDetails::createTest(
@@ -131,8 +127,7 @@ public function getTestDetails()
131127
])
132128
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityManyToOne')
133129
->configureDatabase()
134-
->updateSchemaAfterCommand()
135-
->setRequiredPhpVersion(70100),
130+
->updateSchemaAfterCommand(),
136131
];
137132

138133
yield 'entity_many_to_one_simple_no_inverse' => [MakerTestDetails::createTest(
@@ -157,8 +152,7 @@ public function getTestDetails()
157152
])
158153
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityManyToOneNoInverse')
159154
->configureDatabase()
160-
->updateSchemaAfterCommand()
161-
->setRequiredPhpVersion(70100),
155+
->updateSchemaAfterCommand(),
162156
];
163157

164158
yield 'entity_many_to_one_self_referencing' => [MakerTestDetails::createTest(
@@ -187,8 +181,7 @@ public function getTestDetails()
187181
])
188182
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntitySelfReferencing')
189183
->configureDatabase()
190-
->updateSchemaAfterCommand()
191-
->setRequiredPhpVersion(70100),
184+
->updateSchemaAfterCommand(),
192185
];
193186

194187
yield 'entity_exists_in_root' => [MakerTestDetails::createTest(
@@ -217,8 +210,7 @@ public function getTestDetails()
217210
])
218211
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityExistsInRoot')
219212
->configureDatabase()
220-
->updateSchemaAfterCommand()
221-
->setRequiredPhpVersion(70100),
213+
->updateSchemaAfterCommand(),
222214
];
223215

224216
yield 'entity_one_to_many_simple' => [MakerTestDetails::createTest(
@@ -245,8 +237,7 @@ public function getTestDetails()
245237
])
246238
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityOneToMany')
247239
->configureDatabase()
248-
->updateSchemaAfterCommand()
249-
->setRequiredPhpVersion(70100),
240+
->updateSchemaAfterCommand(),
250241
];
251242

252243
yield 'entity_many_to_many_simple' => [MakerTestDetails::createTest(
@@ -271,8 +262,7 @@ public function getTestDetails()
271262
])
272263
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityManyToMany')
273264
->configureDatabase()
274-
->updateSchemaAfterCommand()
275-
->setRequiredPhpVersion(70100),
265+
->updateSchemaAfterCommand(),
276266
];
277267

278268
yield 'entity_many_to_many_simple_in_custom_root_namespace' => [MakerTestDetails::createTest(
@@ -298,8 +288,7 @@ public function getTestDetails()
298288
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityManyToManyInCustomNamespace')
299289
->changeRootNamespace('Custom')
300290
->configureDatabase()
301-
->updateSchemaAfterCommand()
302-
->setRequiredPhpVersion(70100),
291+
->updateSchemaAfterCommand(),
303292
];
304293

305294
yield 'entity_one_to_one_simple' => [MakerTestDetails::createTest(
@@ -326,8 +315,7 @@ public function getTestDetails()
326315
])
327316
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityOneToOne')
328317
->configureDatabase()
329-
->updateSchemaAfterCommand()
330-
->setRequiredPhpVersion(70100),
318+
->updateSchemaAfterCommand(),
331319
];
332320

333321
yield 'entity_many_to_one_vendor_target' => [MakerTestDetails::createTest(
@@ -367,8 +355,7 @@ public function getTestDetails()
367355
$this->assertCount(1, $finder);
368356

369357
$this->assertNotContains('inversedBy', file_get_contents($directory.'/src/Entity/User.php'));
370-
})
371-
->setRequiredPhpVersion(70100),
358+
}),
372359
];
373360

374361
yield 'entity_many_to_many_vendor_target' => [MakerTestDetails::createTest(
@@ -400,8 +387,7 @@ public function getTestDetails()
400387
$this->assertNotContains('updated: vendor/', $output);
401388

402389
$this->assertNotContains('inversedBy', file_get_contents($directory.'/src/Entity/User.php'));
403-
})
404-
->setRequiredPhpVersion(70100),
390+
}),
405391
];
406392

407393
yield 'entity_one_to_one_vendor_target' => [MakerTestDetails::createTest(
@@ -435,8 +421,7 @@ public function getTestDetails()
435421
$this->assertNotContains('updated: vendor/', $output);
436422

437423
$this->assertNotContains('inversedBy', file_get_contents($directory.'/src/Entity/User.php'));
438-
})
439-
->setRequiredPhpVersion(70100),
424+
}),
440425
];
441426

442427
yield 'entity_regenerate' => [MakerTestDetails::createTest(
@@ -447,8 +432,7 @@ public function getTestDetails()
447432
])
448433
->setArgumentsString('--regenerate')
449434
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityRegenerate')
450-
->configureDatabase(true)
451-
->setRequiredPhpVersion(70100),
435+
->configureDatabase(true),
452436
];
453437

454438
yield 'entity_regenerate_embeddable_object' => [MakerTestDetails::createTest(
@@ -459,8 +443,7 @@ public function getTestDetails()
459443
])
460444
->setArgumentsString('--regenerate')
461445
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityRegenerateEmbeddableObject')
462-
->configureDatabase()
463-
->setRequiredPhpVersion(70100),
446+
->configureDatabase(),
464447
];
465448

466449
yield 'entity_regenerate_embeddable' => [MakerTestDetails::createTest(
@@ -471,8 +454,7 @@ public function getTestDetails()
471454
])
472455
->setArgumentsString('--regenerate --overwrite')
473456
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityRegenerateEmbedable')
474-
->configureDatabase()
475-
->setRequiredPhpVersion(70100),
457+
->configureDatabase(),
476458
];
477459

478460
yield 'entity_regenerate_overwrite' => [MakerTestDetails::createTest(
@@ -483,8 +465,7 @@ public function getTestDetails()
483465
])
484466
->setArgumentsString('--regenerate --overwrite')
485467
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityRegenerateOverwrite')
486-
->configureDatabase(false)
487-
->setRequiredPhpVersion(70100),
468+
->configureDatabase(false),
488469
];
489470

490471
yield 'entity_regenerate_xml' => [MakerTestDetails::createTest(
@@ -505,8 +486,7 @@ public function getTestDetails()
505486
"dir: '%kernel.project_dir%/src/Entity'",
506487
"dir: '%kernel.project_dir%/config/doctrine'"
507488
)
508-
->configureDatabase(false)
509-
->setRequiredPhpVersion(70100),
489+
->configureDatabase(false),
510490
];
511491

512492
yield 'entity_xml_mapping_error_existing' => [MakerTestDetails::createTest(
@@ -529,8 +509,7 @@ public function getTestDetails()
529509
->setCommandAllowedToFail(true)
530510
->assert(function (string $output, string $directory) {
531511
$this->assertStringContainsString('Only annotation mapping is supported', $output);
532-
})
533-
->setRequiredPhpVersion(70100),
512+
}),
534513
];
535514

536515
yield 'entity_xml_mapping_error_new_class' => [MakerTestDetails::createTest(
@@ -553,8 +532,7 @@ public function getTestDetails()
553532
->setCommandAllowedToFail(true)
554533
->assert(function (string $output, string $directory) {
555534
$this->assertStringContainsString('Only annotation mapping is supported', $output);
556-
})
557-
->setRequiredPhpVersion(70100),
535+
}),
558536
];
559537

560538
yield 'entity_updating_overwrite' => [MakerTestDetails::createTest(
@@ -572,8 +550,7 @@ public function getTestDetails()
572550
'',
573551
])
574552
->setArgumentsString('--overwrite')
575-
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityOverwrite')
576-
->setRequiredPhpVersion(70100),
553+
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntityOverwrite'),
577554
];
578555

579556
// see #192
@@ -587,8 +564,7 @@ public function getTestDetails()
587564
])
588565
->setFixtureFilesPath(__DIR__.'/../fixtures/MakeEntitySubNamespaceMatchingEntity')
589566
->configureDatabase()
590-
->updateSchemaAfterCommand()
591-
->setRequiredPhpVersion(70100),
567+
->updateSchemaAfterCommand(),
592568
];
593569
}
594570
}

0 commit comments

Comments
 (0)