Commit Graph

1028 Commits

Author SHA1 Message Date
Fabien Potencier
1677d9cddb minor #24073 [Console] Fix BC break in console.command.ids parameter (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix BC break in console.command.ids parameter

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/flex/issues/142#issuecomment-326029873
| License       | MIT
| Doc PR        | n/a

To make command services lazy loaded when their name is known, we need to exclude them from [runtime registration of other (non lazy-loadable) command services](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Console/Application.php#L176).
We also need to have them in the `console.command.ids` parameter in order to [not register them by convention](https://github.com/symfony/symfony/blob/3.4/src/Symfony/Component/HttpKernel/Bundle/Bundle.php#L188).
It is managed using `false` as values instead of ids for the parameter, [excluding false values from runtime registration](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Console/Application.php#L177). Problem is that it makes FrameworkBundle's 3.3 Application incompatible with Console 3.4+ given the check for `false` is missing.

This PR fixes it using another parameter referencing ids of command services which can be lazy loaded.
I would be happy to not add the parameter if someone has a suggestion that allows to do so.

Commits
-------

99e95c3d2d Fix BC break in console.command.ids parameter
2017-09-08 09:59:15 -07:00
Yonel Ceruto
47b1106868 Do not display short exception trace for built-in console exceptions 2017-09-07 11:50:16 -04:00
Nicolas Grekas
8015ad60cc Fix merge 2017-09-06 21:47:44 +02:00
Nicolas Grekas
e565c6de00 Merge branch '3.3' into 3.4
* 3.3:
  [travis] fix minor php7.0 version
  [travis] add ldap.so for php70
  [HttpFoundation] Fix logic when JsonSerializable is missing
  [travis] update to trusty
  Don't use return on Assert::markTestSkipped.
  Create directories recursively in the PHPUnit bridge
  [Dotenv] Add a BC break note
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 21:03:12 +02:00
Nicolas Grekas
87b3b1a685 Merge branch '2.8' into 3.3
* 2.8:
  [travis] update to trusty
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 18:40:18 +02:00
Nicolas Grekas
c3f14708f4 Merge branch '2.7' into 2.8
* 2.7:
  [travis] update to trusty
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 18:32:38 +02:00
Robin Chalas
2ba5005830 Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args 2017-09-04 22:36:37 +02:00
Robin Chalas
b2e1415cab feature #21414 [Console] Display file and line on Exception (arno14)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Display file and line on Exception

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes/no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

When an exception occured:
If you have not set a verbose mode when running the command, you don't have information about the file and the line on which the exception occured.
So you must run a second time the command but the exception may not occured this time (if based on some databases datas which have changed) and it's a waste of time if you process is very long and the exception occured at the end.

The feature #21003 solve the problem if you are in a standard Symfony edition, if you leave the default settings and if you are in dev mode

Commits
-------

484d278 [Console] Display file and line on Exception
2017-09-03 17:31:40 +02:00
Arnaud
484d278f50 [Console] Display file and line on Exception 2017-09-03 17:13:41 +02:00
Robin Chalas
99e95c3d2d Fix BC break in console.command.ids parameter 2017-09-03 16:34:48 +02:00
Christian Flothmann
c708d02299 Merge branch '3.3' into 3.4
* 3.3:
  Fixed the escaping of back slashes and << in console output
  bumped Symfony version to 2.8.28
  updated VERSION for 2.8.27
  updated CHANGELOG for 2.8.27
  bumped Symfony version to 2.7.35
  updated VERSION for 2.7.34
  update CONTRIBUTORS for 2.7.34
  updated CHANGELOG for 2.7.34
2017-08-31 11:02:44 +02:00
Christian Flothmann
ad78743f1a Merge branch '2.8' into 3.3
* 2.8:
  Fixed the escaping of back slashes and << in console output
  bumped Symfony version to 2.8.28
  updated VERSION for 2.8.27
  updated CHANGELOG for 2.8.27
  bumped Symfony version to 2.7.35
  updated VERSION for 2.7.34
  update CONTRIBUTORS for 2.7.34
  updated CHANGELOG for 2.7.34
2017-08-31 10:38:26 +02:00
Christian Flothmann
3956469e16 Merge branch '2.7' into 2.8
* 2.7:
  Fixed the escaping of back slashes and << in console output
  bumped Symfony version to 2.7.35
  updated VERSION for 2.7.34
  update CONTRIBUTORS for 2.7.34
  updated CHANGELOG for 2.7.34
2017-08-31 10:36:47 +02:00
Fabien Potencier
2e111b3cca Merge branch '3.3' into 3.4
* 3.3: (27 commits)
  Always require symfony/polyfill-apcu to provide APCuIterator everywhere
  bumped Symfony version to 3.3.9
  updated VERSION for 3.3.8
  updated CHANGELOG for 3.3.8
  [DI] Fix tracking env var placeholders nested in object graphs
  bumped Symfony version to 3.3.8
  updated VERSION for 3.3.7
  updated CHANGELOG for 3.3.7
  [DI] Fix tracking env vars when merging configs (bis)
  removed obsolete comment
  install PHPUnit 6 on PHP 7.2
  [Cache] Use zend.detect_unicode instead of zend.multibyte
  Fix case sensitive typo in use class name
  [VarDumper] Enhance docblock to tell about AbstractDumper::dumpLine(-1)
  [Debug] Remove false-positive check in DebugClassLoader
  [Validator] Fix use of GroupSequenceProvider in child classes
  Change number PHPDoc type to int|float
  [Cache] Workaround zend.detect_unicode + zend.multibyte
  [VarDumper] Strengthen dumped JS
  [VarDumper] Strengthen dumped JS
  ...
2017-08-29 14:00:42 -07:00
Javier Eguiluz
d5cb1fe711 Fixed the escaping of back slashes and << in console output 2017-08-29 13:47:44 -07:00
Nicolas Grekas
eda7d42955 [Console] Add protected static $defaultName to set the default name of a Command 2017-08-24 16:43:56 +02:00
Shawn Iwinski
94d55ca0de [Console] Require PHP 7 for ApplicationTest 2017-08-23 17:44:44 -04:00
Robin Chalas
5d9ae6b56f [Console] Allow commands to provide a default name for compile time registration 2017-08-16 21:44:58 +02:00
Nicolas Grekas
aef502b1a2 Merge branch '3.3' into 3.4
* 3.3:
  Update JsonBundleReader.php
  [HttpKernel] Clean test directory on tear down
  [Console] Remove useless http-kernel dev dep
  Fix testHtml method with regexp
  Fixed some param/return annotations in PHPDOC blocks.
  [Workflow] fixed InvalidDefinitionException message for StateMachineValidator
2017-08-15 15:32:22 +02:00
Robin Chalas
8cbf094702 [Console] Remove useless http-kernel dev dep 2017-08-15 11:15:06 +02:00
Thanos Polymeneas
04df2832ab [Console] Added a case-insensitive fallback for console command names 2017-08-12 10:14:42 +02:00
Fabien Potencier
a1faaa1221 Merge branch '3.3' into 3.4
* 3.3:
  fixed CS
  [2.8] Modify 2.8 upgrade doc - key option is deprecated.
  [DebugBundle] Reword an outdated comment about var dumper wiring
  [DI] Fix some docblocks
  [DI] Fix some docblocks
  Fixed the exception page design in responsive mode
  [Console] Log exit codes as debug messages instead of errors
  Fixed UPGRADE-4.0 about Container::set
  Ignore memcached missing key error on dession destroy
  bumped Symfony version to 3.2.14
  updated VERSION for 3.2.13
  updated CHANGELOG for 3.2.13
2017-08-10 09:07:17 +02:00
Harold Iedema
cadbed301f [Console] Log exit codes as debug messages instead of errors 2017-08-08 12:48:54 +02:00
Jérémy Derussé
67ecc71364
Deprecate Filesystem/LockHandler 2017-07-31 11:53:49 +02:00
Nicolas Grekas
45a3ab9ed4 Merge branch '3.3' into 3.4
* 3.3:
  fixed CS
  Remove unused constant
  fix merge
  [Form] Add notice to upgrade to PHP v7.0.8+
  Fix passing options with defaultCommand
2017-07-29 23:28:14 +02:00
Nicolas Grekas
75c3ecaa0f Merge branch '3.2' into 3.3
* 3.2:
  Remove unused constant
  Fix passing options with defaultCommand
2017-07-29 23:27:59 +02:00
Nicolas Grekas
8c8958ec7d Merge branch '2.8' into 3.2
* 2.8:
  Remove unused constant
  Fix passing options with defaultCommand
2017-07-29 23:27:41 +02:00
Nicolas Grekas
359e2d9a3d Merge branch '2.7' into 2.8
* 2.7:
  Remove unused constant
  Fix passing options with defaultCommand
2017-07-29 23:26:04 +02:00
Fabien Potencier
8f5141d4f7 bug #22244 [Console] Fix passing options with defaultCommand (Jakub Sacha)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix passing options with defaultCommand

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Seems like overwriting input for the default command is not needed (anymore?). I don't know where the removed comment comes from originally.

Use case: i want to call default command and use options at the same time:
app/console --abc=true

Commits
-------

761de99552 Fix passing options with defaultCommand
2017-07-29 09:58:31 +02:00
Fabien Potencier
e02ba32ea3 minor #23556 [Console] Fix registering lazy command services with autoconfigure enabled (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] Fix registering lazy command services with autoconfigure enabled

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

For
```yaml
_defaults:
    autoconfigure: true

App\:
    resource: '../../src/*'

App\Command\FooCommand:
    tags:
        - { name: console.command, command: foo }
```

Before you get the following error:
> Missing "command" attribute on tag "console.command" for service "App\Command\FooCommand"

Now the command is lazy.

----
Btw, @Tobion's https://github.com/symfony/symfony/pull/22734#discussion_r127410411
> Wouldn't it be more straightforward if aliases are just the additional tags using the command attribute as well?
Then there is no need for an alias property at all and this strange condition doesn't apply either.

Partially addressed here by removing the need for repeating the `command` attribute on each `console.command` tag
```yaml
# before
tags:
    - { name: console.command, command: foo }
    - { name: console.command, command: foo, alias: foobar }

# after
tags:
    - { name: console.command, command: foo }
    - { name: console.command, alias: foobar }
```

Tobias proposal:

```yaml
tags:
    - { name: console.command, command: app:my-command }
    - { name: console.command, command: app:my-alias }
```

I wanted to propose exactly the same at first, but finally found more clear to add a specific attribute for aliases, especially because relying on the order on which tags are defined sounds less good to me. Please tell me about your preference.

(And sorry for the noise around this feature, I want to polish it for 3.4)

Commits
-------

8a71aa31bb Fix registering lazy command services with autoconfigure enabled
2017-07-20 20:08:38 +02:00
Robin Chalas
8a71aa31bb Fix registering lazy command services with autoconfigure enabled 2017-07-19 11:10:41 +02:00
Maxime Steinhausser
9b40b4af65 [Console] Add a factory command loader for standalone application with lazy-loading needs 2017-07-15 10:43:17 +02:00
Robin Chalas
7f97519624 Add support for command lazy-loading 2017-07-12 11:59:19 +02:00
Fabien Potencier
d43355c6d8 Merge branch '3.3' into 3.4
* 3.3:
  [Console] Fix descriptor tests
  [Dotenv] parse concatenated variable values
2017-07-03 16:31:36 +03:00
Robin Chalas
3ddb6e6aad [Console] Fix descriptor tests 2017-07-03 15:19:36 +02:00
Fabien Potencier
886df9969a Merge branch '3.3' into 3.4
* 3.3:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Cache] fix cleanup of expired items for PdoAdapter
  [Dotenv] clean up before running assertions
  [Console] fix description of INF default values
  parse escaped quotes in unquoted env var values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  [FrameworkBundle] Display a proper warning on cache:clear without the --no-warmup option
  [Security] Fix Firewall ExceptionListener priority
  Identify tty tests in Component/Process
  [Workflow] Added more events to the announce function
  [Validator] Remove property path suggestion for using the Expression validator
  [WebProfilerBundle] Fix css trick used for offsetting html anchor from fixed header
  [Security] Fix annotation
2017-07-03 11:12:16 +03:00
Fabien Potencier
9260a7ba03 Merge branch '3.2' into 3.3
* 3.2:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Cache] fix cleanup of expired items for PdoAdapter
  [Console] fix description of INF default values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  Identify tty tests in Component/Process
  [Workflow] Added more events to the announce function
  [Validator] Remove property path suggestion for using the Expression validator
  [WebProfilerBundle] Fix css trick used for offsetting html anchor from fixed header
  [Security] Fix annotation
2017-07-03 11:12:02 +03:00
Fabien Potencier
d051ef42b3 Merge branch '2.8' into 3.2
* 2.8:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Console] fix description of INF default values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  Identify tty tests in Component/Process
  [Security] Fix annotation
2017-07-03 11:06:20 +03:00
Fabien Potencier
2f8eeed5df Merge branch '2.7' into 2.8
* 2.7:
  Misspelled word
  Display a better error design when the toolbar cannot be displayed
  do not validate empty values
  [Console] fix description of INF default values
  [PropertyAccess] Fix TypeError discard
  [Validator] Throw exception on Comparison constraints null options
  Identify tty tests in Component/Process
  [Security] Fix annotation
2017-07-03 11:04:30 +03:00
Christian Flothmann
d8ba440def [Console] fix description of INF default values 2017-07-01 11:26:27 +02:00
Nicolas Grekas
3aa8861a42 [Process] Deprecate ProcessBuilder 2017-06-09 15:37:35 +02:00
Nicolas Grekas
0057459882 Merge branch '2.7' into 2.8
* 2.7:
  CS: adjust chaining indentation
2017-06-02 16:36:56 +02:00
Nicolas Grekas
4ad0dbf584 Merge branch '3.2' into 3.3
* 3.2:
  Fix optional cache warmers are always instantiated whereas they should be lazy-loaded
  add some \ on PHP_VERSION_ID for 2.8
  [PropertyInfo][DoctrineBridge] The bigint Doctrine's type must be converted to string
2017-06-02 11:51:43 +02:00
Nicolas Grekas
fe4d885c4c Merge branch '2.8' into 3.2
* 2.8:
  Fix optional cache warmers are always instantiated whereas they should be lazy-loaded
  add some \ on PHP_VERSION_ID for 2.8
  [PropertyInfo][DoctrineBridge] The bigint Doctrine's type must be converted to string
2017-06-02 11:43:35 +02:00
Vincent AUBERT
7f4824c987 add some \ on PHP_VERSION_ID for 2.8 2017-06-02 07:32:06 +02:00
Dariusz
8c3c0fe65e CS: adjust chaining indentation 2017-05-31 11:30:46 +02:00
Fabien Potencier
daac6dbb41 Merge branch '3.2' into 3.3
* 3.2:
  [Console] ChoiceQuestion must have choices
  [Filesystem] improve error handling in lock()
  [FrameworkBundle][Console] Fix the override of a command registered by the kernel
2017-05-28 07:08:56 -07:00
Fabien Potencier
46fc4c4ae6 Merge branch '2.8' into 3.2
* 2.8:
  [Console] ChoiceQuestion must have choices
  [Filesystem] improve error handling in lock()
  [FrameworkBundle][Console] Fix the override of a command registered by the kernel
2017-05-28 07:08:39 -07:00
Fabien Potencier
44cf367497 Merge branch '2.7' into 2.8
* 2.7:
  [Console] ChoiceQuestion must have choices
  [Filesystem] improve error handling in lock()
  [FrameworkBundle][Console] Fix the override of a command registered by the kernel
2017-05-28 07:07:33 -07:00
Fabien Potencier
20485d1f9b bug #22847 [Console] ChoiceQuestion must have choices (ro0NL)
This PR was squashed before being merged into the 2.7 branch (closes #22847).

Discussion
----------

[Console] ChoiceQuestion must have choices

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #22842
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

<!--
![image](https://cloud.githubusercontent.com/assets/1047696/26301309/1bfa52ca-3ee1-11e7-883b-f627f16e9d2f.png)
-->

Commits
-------

96e307fd5c [Console] ChoiceQuestion must have choices
2017-05-28 06:43:15 -07:00
Roland Franssen
96e307fd5c [Console] ChoiceQuestion must have choices 2017-05-28 06:43:13 -07:00
Nicolas Grekas
bb84872e6d Merge branch '3.2' into 3.3
* 3.2:
  typo
  [Console] Fix tests
  [Console] Fixed different behaviour of key and value user inputs in multiple choice question
  [Cache] Dont use pipelining with RedisCluster
  [Yaml] fix colon without space deprecation
  [Intl] Fix intl tests for PHP < 5.5.10
2017-05-28 12:56:20 +02:00
Maxime Steinhausser
01ca241744 [Console] Fix tests 2017-05-27 23:29:56 +02:00
Fabien Potencier
706ac18d38 Merge branch '2.8' into 3.2
* 2.8:
  [Console] Fixed different behaviour of key and value user inputs in multiple choice question
  [Intl] Fix intl tests for PHP < 5.5.10
2017-05-27 10:24:21 -07:00
Fabien Potencier
2663293522 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Fixed different behaviour of key and value user inputs in multiple choice question
  [Intl] Fix intl tests for PHP < 5.5.10
2017-05-27 10:24:13 -07:00
borNfreee
2861bd7b01 [Console] Fixed different behaviour of key and value user inputs in multiple choice question 2017-05-27 07:10:26 -07:00
Nicolas Grekas
af4ec231b0 Merge branch '3.2'
* 3.2:
  Fix errors not rethrown even if not handled by console.error listeners
  [VarDumper] Fix dumping of non-nested stubs
  [Security] Avoid unnecessary route lookup for empty logout path
  respect inline level when dumping objects as maps
  Test case for not in-lined map-objects
2017-05-15 14:04:53 +02:00
Nicolas Grekas
5857e7c4e1 Merge branch '2.8' into 3.2
* 2.8:
  Fix errors not rethrown even if not handled by console.error listeners
  [VarDumper] Fix dumping of non-nested stubs
  [Security] Avoid unnecessary route lookup for empty logout path
2017-05-15 14:02:31 +02:00
Nicolas Grekas
6ef78ec553 Merge branch '2.7' into 2.8
* 2.7:
  Fix errors not rethrown even if not handled by console.error listeners
  [VarDumper] Fix dumping of non-nested stubs
  [Security] Avoid unnecessary route lookup for empty logout path
2017-05-15 13:59:37 +02:00
Robin Chalas
75f098fcb8 Fix errors not rethrown even if not handled by console.error listeners 2017-05-11 16:06:19 +02:00
Robin Chalas
6c1b384b75 Avoid reflection-based registration for command public services 2017-04-29 11:46:23 +02:00
Nicolas Grekas
8701cae777 Merge branch '3.2'
* 3.2:
  Fixed the flickering when loading complex profiler panels
  [Console] Fix bar width with multilines ProgressBar's format
  [DI] Add missing check in PhpDumper
  [Serializer] XmlEncoder: fix negative int and large numbers handling
  [Console] Fix dispatching throwables from ConsoleEvents::COMMAND
2017-04-25 21:46:15 -04:00
Nicolas Grekas
8a8d92d793 Merge branch '2.8' into 3.2
* 2.8:
  Fixed the flickering when loading complex profiler panels
  [DI] Add missing check in PhpDumper
  [Serializer] XmlEncoder: fix negative int and large numbers handling
  [Console] Fix dispatching throwables from ConsoleEvents::COMMAND
2017-04-25 21:39:17 -04:00
Nicolas Grekas
3adff11d72 Merge branch '2.7' into 2.8
* 2.7:
  [DI] Add missing check in PhpDumper
  [Serializer] XmlEncoder: fix negative int and large numbers handling
  [Console] Fix dispatching throwables from ConsoleEvents::COMMAND
2017-04-25 21:38:53 -04:00
Nicolas Grekas
a7c67c9ab2 [Console] Review console.ERROR related behavior 2017-04-25 10:16:45 -04:00
Fabien Potencier
2145f56920 bug #21958 [Console] Fix bar width with multilines ProgressBar's format (maidmaid)
This PR was squashed before being merged into the 3.2 branch (closes #21958).

Discussion
----------

[Console] Fix bar width with multilines ProgressBar's format

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

The bar width is badly recalculated when we use multilines (``\n``) and bar placeholer (``%bar%``) in ProgressBar's format. The bar width is reduced because multilines is considered as a big oneline. This PR fixes this.

Commits
-------

3d58ab5bad [Console] Fix bar width with multilines ProgressBar's format
2017-04-25 10:15:10 -04:00
Dany Maillard
3d58ab5bad [Console] Fix bar width with multilines ProgressBar's format 2017-04-25 10:15:09 -04:00
Fabien Potencier
9c0067b19f bug #22322 [Console] Fix fatal error when logging console.error without command (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Fix fatal error when logging console.error without command

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #22449
| License       | MIT
| Doc PR        | n/a

Happens now that the console.error event is dispatched on command not found, I  ran into using `server:run` on 3.3 without `web-server-bundle` enabled:

> PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function getName() on null

In this case, this first tries to cast the event input as string (less good than when the command name is available, there're extra quotes around the command name) and, if can't be casted, uses a generic message.

Commits
-------

97129fc611 Fix fatal error when logging console.error without a command
2017-04-19 17:40:30 -06:00
Nicolas Grekas
6d6b04ae97 [Console] Fix dispatching throwables from ConsoleEvents::COMMAND 2017-04-14 21:35:59 +02:00
Robin Chalas
cd4a01c247 Don't create unused aliases for public command 2017-04-13 18:59:03 +02:00
Nicolas Grekas
cd06c1297b Revert "minor #22039 Skip abstract definitions in compiler passes (chalasr)"
This reverts commit 207d068a40, reversing
changes made to 4836007172.
2017-04-13 10:36:10 +02:00
Christian Flothmann
3792ee6c93 fail when detecting risky tests 2017-04-12 09:39:27 +02:00
Nicolas Grekas
6491fd5854 Merge branch '3.2'
* 3.2:
  Allow terminal dimensions to be set to 0 (unbounded)
  [Cache] Remove exception false-positive from FilesystemAdapterTrait
  fix risky tests
  fix risky tests
  [Yaml] release memory after parsing
  [HttpFoundation] Fix and test status codes according to IANA's data
  Add `use_strict_mode` in validOptions for session
  [Console] Inherit phpdoc from OutputFormatterInterface
2017-04-11 20:40:10 +02:00
Craig Duncan
4c1b001891 Allow terminal dimensions to be set to 0 (unbounded) 2017-04-11 16:41:42 +01:00
Christian Flothmann
86b685f617 fix risky tests 2017-04-11 11:19:47 +02:00
Jakub Sacha
761de99552 Fix passing options with defaultCommand 2017-04-07 23:55:19 +02:00
Robin Chalas
97129fc611 Fix fatal error when logging console.error without a command 2017-04-06 21:41:52 +02:00
Fabien Potencier
54495b2bd6 feature #22181 [Console] Allow to catch CommandNotFoundException (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Allow to catch CommandNotFoundException

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/22144#issuecomment-289200937
| License       | MIT
| Doc PR        | n/a

Basically reverts #22144, making the command argument optional in console.error event instead, so that `CommandNotFoundException` can be handled as any other console error.

Commits
-------

b21ce850e7 [Console] Allow to catch CommandNotFoundException
2017-04-05 08:05:16 -07:00
Fabien Potencier
6e54cdf855 bug #22261 [Console] Give errors back to error handler if not handled by console.error listeners (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Give errors back to error handler if not handled by console.error listeners

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #22259
| License       | MIT
| Doc PR        | n/a

Re-throws errors if `ConsoleErrorEvent::markErrorAsHandled()` hasn't been called so that they can reach the global error handler, fixing the BC break.

Commits
-------

5a5bf54d37 [Console] Give errors back to error handlers if not handled by console.error listeners
2017-04-04 08:00:37 -07:00
Fabien Potencier
e47a50b7b2 Merge branch '3.2'
* 3.2:
  [Console] Fix render exception test
  [Workflow] fix risky tests
2017-04-04 07:34:05 -07:00
Roland Franssen
6b71722392 [Console] Fix render exception test 2017-04-04 07:33:42 -07:00
Robin Chalas
5a5bf54d37 [Console] Give errors back to error handlers if not handled by console.error listeners 2017-04-04 10:56:16 +02:00
Nicolas Grekas
22bb403c20 Merge branch '3.2'
* 3.2:
  [DI] Autowiring and factories are incompatible with each others
  [DI] Don't use auto-registered services to populate type-candidates
  Lighten tests output by removing composer suggestions
  support nullable array or collection
  Complete the injection of the expression in all syntax errors
  CS: Remove invisible chars
  Disable resource tracking if the config component is missing
  [EventDispatcher] Remove unneded count()
  Fix tests expecting a valid date
  Avoid forcing to define the choices_as_values option when using choice_loader
  add expression text to SyntaxError
  [Console] Fix table cell styling
  [Console] Revised exception rendering
  Fix @param in PHPDoc
  [WebProfilerBundle] Normalize whitespace in exceptions passed in headers
  Disable color support detection for tests
  [Form] Improve the exceptions when trying to get the data in a PRE_SET_DATA listener and the data has not already been set
2017-04-04 09:47:41 +02:00
Nicolas Grekas
ccbbff2328 Merge branch '2.8' into 3.2
* 2.8:
  [DI] Autowiring and factories are incompatible with each others
  [DI] Don't use auto-registered services to populate type-candidates
  Lighten tests output by removing composer suggestions
  support nullable array or collection
  Complete the injection of the expression in all syntax errors
  CS: Remove invisible chars
  Disable resource tracking if the config component is missing
  [EventDispatcher] Remove unneded count()
  Fix tests expecting a valid date
  Avoid forcing to define the choices_as_values option when using choice_loader
  add expression text to SyntaxError
  [Console] Fix table cell styling
  [Console] Revised exception rendering
  [WebProfilerBundle] Normalize whitespace in exceptions passed in headers
  Disable color support detection for tests
  [Form] Improve the exceptions when trying to get the data in a PRE_SET_DATA listener and the data has not already been set
2017-04-04 09:26:27 +02:00
Nicolas Grekas
d49005a651 Merge branch '2.7' into 2.8
* 2.7:
  Lighten tests output by removing composer suggestions
  CS: Remove invisible chars
  Disable resource tracking if the config component is missing
  [EventDispatcher] Remove unneded count()
  Fix tests expecting a valid date
  [Console] Fix table cell styling
  [Console] Revised exception rendering
  [WebProfilerBundle] Normalize whitespace in exceptions passed in headers
  Disable color support detection for tests
  [Form] Improve the exceptions when trying to get the data in a PRE_SET_DATA listener and the data has not already been set
2017-04-03 22:37:06 +02:00
Roland Franssen
53ecf8393e [Console] Fix table cell styling 2017-03-30 10:19:40 +02:00
Robin Chalas
b21ce850e7 [Console] Allow to catch CommandNotFoundException 2017-03-29 21:37:27 +02:00
Roland Franssen
17f1f079b2 [Console] Revised exception rendering 2017-03-29 07:27:03 +02:00
Nicolas Grekas
d5af0da0a7 Merge branch '3.2'
* 3.2:
  [Console] Fix test
  [HttpKernel] Fix test
  Remove port from default host in server:status command
  [Console] Escape exception messages
2017-03-27 16:51:00 +02:00
Nicolas Grekas
56d476942c Merge branch '2.8' into 3.2
* 2.8:
  [HttpKernel] Fix test
  Remove port from default host in server:status command
  [Console] Escape exception messages
2017-03-27 16:49:31 +02:00
Nicolas Grekas
a0e654d981 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Fix test
  Remove port from default host in server:status command
  [Console] Escape exception messages
2017-03-27 16:49:15 +02:00
Nicolas Grekas
e9c3df6c94 [Console] Fix test 2017-03-27 16:36:46 +02:00
Robin Chalas
cb1348231a [Console] Escape exception messages 2017-03-25 13:51:36 +01:00
Robin Chalas
ea84aa1868 Fix tests 2017-03-23 10:34:23 +01:00
Fabien Potencier
ba4d6bce29 feature #18140 [Console] Add console.ERROR event and deprecate console.EXCEPTION (wouterj)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Console] Add console.ERROR event and deprecate console.EXCEPTION

| Q | A |
| --- | --- |
| Branch | master |
| Bug fix? | yes |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | yes |
| Tests pass? | yes |
| Fixed tickets | - |
| License | MIT |
| Doc PR | todo |
## The Problem

The current `console.EXCEPTION` event is only dispatched for exceptions during the execution of `Command#execute()`. All other exceptions (e.g. the ones thrown by listeners to events) are catched by the `try ... catch` loop in `Application#doRunCommand()`. This means that there is _no way to override exception handling_.
## The Solution

This PR adds a `console.ERROR` event which has the same scope as the default `try ... catch` loop. This allows to customize all exception handling.

In order to keep BC, a new event was created and `console.EXCEPTION` was deprecated.

Commits
-------

c02a4c9857 Added a console.ERROR event
2017-03-22 16:10:45 -07:00
Nicolas Grekas
4927993835 Merge branch '3.2'
* 3.2:
  Fixed pathinfo calculation for requests starting with a question mark.
  [HttpFoundation] Fix missing handling of for/host/proto info from "Forwarded" header
  [Validator] Add object handling of invalid constraints in Composite
  [WebProfilerBundle] Remove uneeded directive in the form collector styles
  removed usage of $that
  HttpCache: New test for revalidating responses with an expired TTL
  [Serializer] [XML] Ignore Process Instruction
  [Security] simplify the SwitchUserListenerTest
  Revert "bug #21841 [Console] Do not squash input changes made from console.command event (chalasr)"
  [HttpFoundation] Fix Request::getHost() when having several hosts in X_FORWARDED_HOST
2017-03-22 22:42:42 +01:00
Fabien Potencier
0a17358abf feature #19887 Sort alternatives alphabetically when a command is not found (javiereguiluz)
This PR was squashed before being merged into the 3.3-dev branch (closes #19887).

Discussion
----------

Sort alternatives alphabetically when a command is not found

| Q | A |
| --- | --- |
| Branch? | master |
| Bug fix? | no |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #10893 |
| License | MIT |
| Doc PR | - |

Commits
-------

ba6c9464ea Sort commands like a human would do
f04b1bd72f Sort alternatives alphabetically when a command is not found
2017-03-22 14:10:51 -07:00
Fabien Potencier
04fcac74b1 Merge branch '2.8' into 3.2
* 2.8:
  [HttpFoundation] Fix missing handling of for/host/proto info from "Forwarded" header
  [Validator] Add object handling of invalid constraints in Composite
  [WebProfilerBundle] Remove uneeded directive in the form collector styles
  Revert "bug #21841 [Console] Do not squash input changes made from console.command event (chalasr)"
  [HttpFoundation] Fix Request::getHost() when having several hosts in X_FORWARDED_HOST
2017-03-22 13:31:03 -07:00
Fabien Potencier
5f9d941365 bug #22027 Revert "bug #21841 [Console] Do not squash input changes made from console.command event (chalasr)" (chalasr)
This PR was merged into the 2.8 branch.

Discussion
----------

Revert "bug #21841 [Console] Do not squash input changes made from console.command event (chalasr)"

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #21953, https://github.com/symfony/symfony/issues/22050
| License       | MIT
| Doc PR        | n/a

A bit frustrated to revert this change since the BC break report lacks of information, making us unable to reproduce nor to look at improving the situation.
I'm going to re-propose this on master, covering the BC break that is identified, fixed and tested using the changes made in #21953. That will let the choice for the reporter to upgrade using the 1 required LOC.

Commits
-------

5af47c40dc Revert "bug #21841 [Console] Do not squash input changes made from console.command event (chalasr)"
2017-03-22 13:13:18 -07:00
Roland Franssen
d5a7608036 [Console] Exclude empty namespaces in text descriptor 2017-03-22 19:41:00 +01:00