Skip to content
Permalink
Browse files

deprecated not passing dash symbol (-) to STDIN commands

  • Loading branch information...
yceruto committed Sep 6, 2019
1 parent 9d472c7 commit 586f299ebd32c268ed3ec75e0596293ac8022354
@@ -207,12 +207,14 @@ Translation
-----------

* Deprecated support for using `null` as the locale in `Translator`.
* Deprecated accepting STDIN implicitly when using the `lint:xliff` command, use `lint:xliff -` (append a dash) instead to make it explicit.

TwigBridge
----------

* Deprecated to pass `$rootDir` and `$fileLinkFormatter` as 5th and 6th argument respectively to the
`DebugCommand::__construct()` method, swap the variables position.
* Deprecated accepting STDIN implicitly when using the `lint:twig` command, use `lint:twig -` (append a dash) instead to make it explicit.

TwigBundle
----------
@@ -326,3 +328,8 @@ WebServerBundle
---------------

* The bundle is deprecated and will be removed in 5.0.

Yaml
----

* Deprecated accepting STDIN implicitly when using the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit.
@@ -531,6 +531,7 @@ Translation
* The `MessageSelector`, `Interval` and `PluralizationRules` classes have been removed, use `IdentityTranslator` instead
* The `Translator::getFallbackLocales()` and `TranslationDataCollector::getFallbackLocales()` method are now internal
* The `Translator::transChoice()` method has been removed in favor of using `Translator::trans()` with "%count%" as the parameter driving plurals
* Removed support for implicit STDIN usage in the `lint:xliff` command, use `lint:xliff -` (append a dash) instead to make it explicit.

TwigBundle
----------
@@ -548,6 +549,7 @@ TwigBridge
* removed the `$requestStack` and `$requestContext` arguments of the
`HttpFoundationExtension`, pass a `Symfony\Component\HttpFoundation\UrlHelper`
instance as the only argument instead
* Removed support for implicit STDIN usage in the `lint:twig` command, use `lint:twig -` (append a dash) instead to make it explicit.

Validator
--------
@@ -653,6 +655,7 @@ Yaml

* The parser is now stricter and will throw a `ParseException` when a
mapping is found inside a multi-line string.
* Removed support for implicit STDIN usage in the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit.

WebProfilerBundle
-----------------
@@ -8,6 +8,7 @@ CHANGELOG
* deprecated to pass `$rootDir` and `$fileLinkFormatter` as 5th and 6th argument respectively to the
`DebugCommand::__construct()` method, swap the variables position.
* the `LintCommand` lints all the templates stored in all configured Twig paths if none argument is provided
* deprecated accepting STDIN implicitly when using the `lint:twig` command, use `lint:twig -` (append a dash) instead to make it explicit.

4.3.0
-----
@@ -50,7 +50,7 @@ protected function configure()
$this
->setDescription('Lints a template and outputs encountered errors')
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
->addArgument('filename', InputArgument::IS_ARRAY)
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
->setHelp(<<<'EOF'
The <info>%command.name%</info> command lints a template and outputs to STDOUT
the first encountered syntax error.
@@ -77,15 +77,15 @@ protected function execute(InputInterface $input, OutputInterface $output)
{
$io = new SymfonyStyle($input, $output);
$filenames = $input->getArgument('filename');
$hasStdin = '-' === ($filenames[0] ?? '');
if (0 === \count($filenames)) {
if (0 === ftell(STDIN)) {
$template = '';
while (!feof(STDIN)) {
$template .= fread(STDIN, 1024);
if ($hasStdin || 0 === \count($filenames)) {
if ($hasStdin || 0 === ftell(STDIN)) { // remove 0 === ftell(STDIN) check in 5.0
if (!$hasStdin) {
@trigger_error('Calling to the "lint:twig" command providing pipe file content to STDIN without passing the dash symbol "-" explicitly is deprecated since Symfony 4.4.', E_USER_DEPRECATED);
}
return $this->display($input, $output, $io, [$this->validate($template, uniqid('sf_', true))]);
return $this->display($input, $output, $io, [$this->validate($this->getStdin(), uniqid('sf_', true))]);
}
$loader = $this->twig->getLoader();
@@ -107,6 +107,16 @@ protected function execute(InputInterface $input, OutputInterface $output)
return $this->display($input, $output, $io, $filesInfo);
}
private function getStdin(): string
{
$template = '';
while (!feof(STDIN)) {
$template .= fread(STDIN, 1024);
}
return $template;
}
private function getFilesInfo(array $filenames)
{
$filesInfo = [];
@@ -5,6 +5,7 @@ CHANGELOG
-----

* deprecated support for using `null` as the locale in `Translator`
* deprecated accepting STDIN implicitly when using the `lint:xliff` command, use `lint:xliff -` (append a dash) instead to make it explicit.

4.3.0
-----
@@ -53,7 +53,7 @@ protected function configure()
{
$this
->setDescription('Lints a XLIFF file and outputs encountered errors')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file or a directory or STDIN')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
->setHelp(<<<EOF
The <info>%command.name%</info> command lints a XLIFF file and outputs to STDOUT
@@ -83,13 +83,18 @@ protected function execute(InputInterface $input, OutputInterface $output)
$filenames = (array) $input->getArgument('filename');
$this->format = $input->getOption('format');
$this->displayCorrectFiles = $output->isVerbose();
$hasStdin = '-' === ($filenames[0] ?? '');
if (0 === \count($filenames)) {
if (!$stdin = $this->getStdin()) {
if ($hasStdin || 0 === \count($filenames)) {
if (!$hasStdin && 0 !== ftell(STDIN)) { // remove 0 !== ftell(STDIN) check in 5.0
throw new RuntimeException('Please provide a filename or pipe file content to STDIN.');
}
return $this->display($io, [$this->validate($stdin)]);
if (!$hasStdin) {
@trigger_error('Calling to the "lint:xliff" command providing pipe file content to STDIN without passing the dash symbol "-" explicitly is deprecated since Symfony 4.4.', E_USER_DEPRECATED);
}
return $this->display($io, [$this->validate($this->getStdin())]);
}
$filesInfo = [];
@@ -223,18 +228,14 @@ private function getFiles(string $fileOrDirectory)
}
}
private function getStdin(): ?string
private function getStdin(): string
{
if (0 !== ftell(STDIN)) {
return null;
}
$inputs = '';
$xliff = '';
while (!feof(STDIN)) {
$inputs .= fread(STDIN, 1024);
$xliff .= fread(STDIN, 1024);
}
return $inputs;
return $xliff;
}
private function getDirectoryIterator(string $directory)
@@ -5,6 +5,7 @@ CHANGELOG
-----

* Added support to dump `null` as `~` by using the `Yaml::DUMP_NULL_AS_TILDE` flag.
* deprecated accepting STDIN implicitly when using the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit.

4.3.0
-----
@@ -54,7 +54,7 @@ protected function configure()
{
$this
->setDescription('Lints a file and outputs encountered errors')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file or a directory or STDIN')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
->addOption('parse-tags', null, InputOption::VALUE_NONE, 'Parse custom tags')
->setHelp(<<<EOF
@@ -86,13 +86,18 @@ protected function execute(InputInterface $input, OutputInterface $output)
$this->format = $input->getOption('format');
$this->displayCorrectFiles = $output->isVerbose();
$flags = $input->getOption('parse-tags') ? Yaml::PARSE_CUSTOM_TAGS : 0;
$hasStdin = '-' === ($filenames[0] ?? '');
if (0 === \count($filenames)) {
if (!$stdin = $this->getStdin()) {
if ($hasStdin || 0 === \count($filenames)) {
if (!$hasStdin && 0 !== ftell(STDIN)) { // remove 0 !== ftell(STDIN) check in 5.0
throw new RuntimeException('Please provide a filename or pipe file content to STDIN.');
}
return $this->display($io, [$this->validate($stdin, $flags)]);
if (!$hasStdin) {
@trigger_error('Calling to the "lint:yaml" command providing pipe file content to STDIN without passing the dash symbol "-" explicitly is deprecated since Symfony 4.4.', E_USER_DEPRECATED);
}
return $this->display($io, [$this->validate($this->getStdin(), $flags)]);
}
$filesInfo = [];
@@ -199,18 +204,14 @@ private function getFiles(string $fileOrDirectory)
}
}
private function getStdin(): ?string
private function getStdin(): string
{
if (0 !== ftell(STDIN)) {
return null;
}
$inputs = '';
$yaml = '';
while (!feof(STDIN)) {
$inputs .= fread(STDIN, 1024);
$yaml .= fread(STDIN, 1024);
}
return $inputs;
return $yaml;
}
private function getParser()

0 comments on commit 586f299

Please sign in to comment.
You can’t perform that action at this time.