Commit Graph

382 Commits

Author SHA1 Message Date
Maxime Steinhausser
7091fb4df5 Remove PHP < 7.1.3 code 2017-05-22 08:50:05 +02:00
Nicolas Grekas
9190e108c1 [Config] Fix resource tracking with new GlobResource 2017-05-03 15:21:08 +02:00
Nicolas Grekas
46fc0b9363 Merge branch '3.2'
* 3.2:
  add changelog for the DUMP_OBJECT_AS_MAP flag
  Relax some mocks
2017-04-12 22:43:31 +02:00
Fabien Potencier
aeb9bffa8f added a more specialized exception for a better error message 2017-04-11 13:45:43 -07:00
Nicolas Grekas
080cb5b5c2 Merge branch '3.2'
* 3.2:
  [FrameworkBundle] Update console fixtures after #22217
  Allow Upper Case property names
  fix some risky tests
  bumped Symfony version to 2.7.27
  updated VERSION for 2.7.26
  update CONTRIBUTORS for 2.7.26
  updated CHANGELOG for 2.7.26
2017-04-04 20:59:08 +02:00
Fabien Potencier
ff286d6da9 Merge branch '2.8' into 3.2
* 2.8:
  Allow Upper Case property names
  fix some risky tests
  bumped Symfony version to 2.7.27
  updated VERSION for 2.7.26
  update CONTRIBUTORS for 2.7.26
  updated CHANGELOG for 2.7.26
2017-04-04 08:30:56 -07:00
Fabien Potencier
945fee14db Merge branch '2.7' into 2.8
* 2.7:
  fix some risky tests
  bumped Symfony version to 2.7.27
  updated VERSION for 2.7.26
  update CONTRIBUTORS for 2.7.26
  updated CHANGELOG for 2.7.26
2017-04-04 08:24:26 -07:00
Christian Flothmann
fffcd247b2 fix some risky tests 2017-04-04 16:55:33 +02:00
Nicolas Grekas
114d62c847 [travis] Master fixes for HHVM 3.18LTS 2017-03-07 20:35:42 +01:00
Javier Eguiluz
3a589df5cb Added a castToArray() config helper 2017-03-06 08:50:45 -08:00
Maxime Steinhausser
5a24ee2da1 [Config][FrameworkBundle] Lazy load resource checkers 2017-02-28 18:07:25 +01:00
Deamon
bce445f452 Move ConfigCachePass from FrameworkBundle to Config 2017-02-28 08:42:35 +01:00
Nicolas Grekas
e28f6b44e5 Merge branch '3.2'
* 3.2:
  Refactored other PHPUnit method calls to work with namespaced PHPUnit 6
  Refactored other PHPUnit method calls to work with namespaced PHPUnit 6
  Further refactorings to PHPUnit namespaces
  resolve parameters in definition classes
2017-02-21 11:07:34 +01:00
Nicolas Grekas
5fc3589381 Merge branch '2.8' into 3.2
* 2.8:
  Refactored other PHPUnit method calls to work with namespaced PHPUnit 6
  Further refactorings to PHPUnit namespaces
  resolve parameters in definition classes
2017-02-21 10:12:04 +01:00
Peter Rehm
dbe8898644 Refactored other PHPUnit method calls to work with namespaced PHPUnit 6 2017-02-21 10:00:26 +01:00
Nicolas Grekas
13fff761a7 Merge branch '2.7' into 2.8
* 2.7:
  Further refactorings to PHPUnit namespaces
  resolve parameters in definition classes
2017-02-21 09:33:48 +01:00
Peter Rehm
de8106fea6 Further refactorings to PHPUnit namespaces 2017-02-21 09:32:25 +01:00
Peter Rehm
b84eb86655 Updated to PHPUnit namespaces 2017-02-20 14:56:45 +01:00
Nicolas Grekas
56642c4b3d Merge branch '3.2'
* 3.2:
  Updated PHPUnit namespaces
  Add missing conflict rules for phpunit
2017-02-20 14:49:17 +01:00
Peter Rehm
c2e80e3b8b Updated PHPUnit namespaces 2017-02-20 14:34:33 +01:00
Nicolas Grekas
2f20a6ceea Merge branch '3.2'
* 3.2:
  Updated PHPUnit namespaces
2017-02-20 13:38:57 +01:00
Nicolas Grekas
95f30de91d Merge branch '2.8' into 3.2
* 2.8:
  Updated PHPUnit namespaces
2017-02-20 13:38:41 +01:00
Peter Rehm
205ced409b Updated PHPUnit namespaces 2017-02-20 13:35:43 +01:00
Nicolas Grekas
7a618fbd5f Merge branch '3.2'
* 3.2:
  Fix typo in process error message
  Update to PHPUnit namespaces
  Minor typo fix messsagesData -> messagesData
  remove translation data collector when not usable
2017-02-18 18:35:19 +01:00
Nicolas Grekas
66cad2e4c5 Merge branch '2.8' into 3.2
* 2.8:
  Update to PHPUnit namespaces
  Minor typo fix messsagesData -> messagesData
  remove translation data collector when not usable
2017-02-18 18:28:00 +01:00
Nicolas Grekas
33bae93a44 Merge branch '2.7' into 2.8
* 2.7:
  Update to PHPUnit namespaces
  remove translation data collector when not usable
2017-02-18 18:06:33 +01:00
Peter Rehm
ddd2dff9b2 Update to PHPUnit namespaces 2017-02-18 08:02:39 -08:00
Nicolas Grekas
db995dfaf8 Merge branch '3.2'
* 3.2: (27 commits)
  Improve tracking of environment variables in the case of private services
  [DI] Align AutowirePass with 2.8
  property constraints can be added in child classes
  added test for staticClassLoader in LazyLoadingMetadatafactory
  fixed PHPUnit setUp and tearDown method visibility
  spelling fixes
  Readd Symfony version status in the toolbar
  [Security] LdapUserProvider should not throw an exception if the UID key does not exist in an LDAP entry
  make sure that null can be the invalid value
  [VarDumper] Improve dump of AMQP* Object
  Fix annotations cache folder path
  [FrameworkBundle] Wire ArrayCache for annotation reader at bootstrap
  Ignore missing 'debug.file_link_formatter' service in Debug bundle
  [VarDumper] Fixed dumping of terminated generator
  bumped Symfony version to 3.2.4
  updated VERSION for 3.2.3
  updated CHANGELOG for 3.2.3
  bumped Symfony version to 2.8.18
  updated VERSION for 2.8.17
  updated CHANGELOG for 2.8.17
  ...
2017-02-14 17:35:24 +01:00
Nicolas Grekas
975411d7f0 Merge branch '2.8' into 3.2
* 2.8:
  property constraints can be added in child classes
  added test for staticClassLoader in LazyLoadingMetadatafactory
  spelling fixes
  Readd Symfony version status in the toolbar
  make sure that null can be the invalid value
  [VarDumper] Improve dump of AMQP* Object
  [VarDumper] Fixed dumping of terminated generator
  bumped Symfony version to 2.8.18
  updated VERSION for 2.8.17
  updated CHANGELOG for 2.8.17
  bumped Symfony version to 2.7.25
  updated VERSION for 2.7.24
  update CONTRIBUTORS for 2.7.24
  updated CHANGELOG for 2.7.24
  [FrameworkBundle] Simplify createPackageDefinition
  fix directory resource considers same timestamp not fresh
  return false early from directory resource
2017-02-14 17:27:43 +01:00
Nicolas Grekas
03194300ed Merge branch '2.7' into 2.8
* 2.7:
  property constraints can be added in child classes
  added test for staticClassLoader in LazyLoadingMetadatafactory
  spelling fixes
  make sure that null can be the invalid value
  bumped Symfony version to 2.7.25
  updated VERSION for 2.7.24
  update CONTRIBUTORS for 2.7.24
  updated CHANGELOG for 2.7.24
  [FrameworkBundle] Simplify createPackageDefinition
  fix directory resource considers same timestamp not fresh
  return false early from directory resource
2017-02-14 17:24:56 +01:00
Fabien Potencier
6ea39990c3 feature #21505 [Config][DI] Add ComposerResource to track the runtime engine + deps (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Config][DI] Add ComposerResource to track the runtime engine + deps

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

So that the container is invalidated whenever a new PHP runtime is used, a PHP-extension is added, or vendors are changed.

Commits
-------

a960c761d1 [Config][DI] Add ComposerResource to track runtime + vendors
2017-02-12 12:59:14 +01:00
Nicolas Grekas
a960c761d1 [Config][DI] Add ComposerResource to track runtime + vendors 2017-02-07 15:42:58 +01:00
Fabien Potencier
6ccdcdc330 Merge branch '3.2'
* 3.2:
  Remove 3.1 from PR template
  fixed test name
  [Cache] Fix class exists checks in PhpArrayAdapter
  Casting TableCell value to string.
  [FrameworkBundle] fixed custom domain for translations in php templates
  [Form] Fixed DateType format option
  [Config] Fix checking cache for non existing meta file
2017-02-06 13:04:42 +01:00
Fabien Potencier
cfc6bafed2 Merge branch '2.8' into 3.2
* 2.8:
  Remove 3.1 from PR template
  fixed test name
  Casting TableCell value to string.
  [FrameworkBundle] fixed custom domain for translations in php templates
  [Form] Fixed DateType format option
  [Config] Fix checking cache for non existing meta file
2017-02-06 13:04:21 +01:00
Nicolas Grekas
6ac1223eca bug #20844 [Config] Fix checking cache for non existing meta file (hason)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] Fix checking cache for non existing meta file

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

Commits
-------

17f02e0 [Config] Fix checking cache for non existing meta file
2017-02-05 11:11:19 +01:00
Nicolas Grekas
686af613aa [Config] Fix conditional class existence checks 2017-02-04 09:30:42 +01:00
Nicolas Grekas
37e44939ef [DI][Config] Add & use ReflectionClassResource 2017-02-02 14:15:15 +01:00
Rob Frawley 2nd
d5746ecfd2
fix directory resource considers same timestamp not fresh 2017-01-30 13:31:59 -05:00
Maxime STEINHAUSSER
869bb1530b [Config][FrameworkBundle] Allow to dump extension config reference sub path 2017-01-09 22:03:44 +01:00
Fabien Potencier
6126018b9f Merge branch '3.2'
* 3.2:
  fixed obsolete getMock() usage
  fixed obsolete getMock() usage
  fixed obsolete getMock() usage
  fixed obsolete getMock() usage
  [WebProfilerBundle] Display multiple HTTP headers in WDT
  do not remove the Twig ExceptionController service
  removed obsolete condition
  do not try to register incomplete definitions
2016-12-19 17:13:57 +01:00
Fabien Potencier
3f96468942 Merge branch '3.1' into 3.2
* 3.1:
  fixed obsolete getMock() usage
  fixed obsolete getMock() usage
  fixed obsolete getMock() usage
  [WebProfilerBundle] Display multiple HTTP headers in WDT
  do not remove the Twig ExceptionController service
  removed obsolete condition
  do not try to register incomplete definitions
2016-12-19 17:07:36 +01:00
Fabien Potencier
7ae26ed5f1 Merge branch '2.8' into 3.1
* 2.8:
  fixed obsolete getMock() usage
  fixed obsolete getMock() usage
  [WebProfilerBundle] Display multiple HTTP headers in WDT
  do not remove the Twig ExceptionController service
  removed obsolete condition
  do not try to register incomplete definitions
2016-12-19 16:53:49 +01:00
Fabien Potencier
0f9a7287c3 fixed obsolete getMock() usage 2016-12-19 16:48:05 +01:00
Fabien Potencier
84e75a78b3 Merge branch '2.7' into 2.8
* 2.7:
  fixed obsolete getMock() usage
  [WebProfilerBundle] Display multiple HTTP headers in WDT
2016-12-19 16:38:44 +01:00
Fabien Potencier
71d059cad1 fixed obsolete getMock() usage 2016-12-19 16:22:46 +01:00
Fabien Potencier
d221a4e1eb feature #20923 #20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr… (skafandri)
This PR was squashed before being merged into the 3.3-dev branch (closes #20923).

Discussion
----------

#20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr…

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

Commits
-------

22b8490 #20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr…
2016-12-19 08:55:13 +01:00
ilyes kooli
22b849062a #20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr… 2016-12-19 08:55:12 +01:00
Nicolas Grekas
b9a74f35ba Merge branch '3.1' into 3.2
* 3.1:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [Serializer] Fix MaxDepth annotation exceptions
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [HttpFoundation] Fix cookie to string conversion for raw cookies
  [Console] fixed BC issue with static closures
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:46:44 +01:00
Nicolas Grekas
f4b3b87ef7 Merge branch '2.8' into 3.1
* 2.8:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [Console] fixed BC issue with static closures
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:46:00 +01:00
Fabien Potencier
839c0836ee Merge branch '2.7' into 2.8
* 2.7:
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-14 09:13:10 +01:00
Michael Lee
b587a7294f [config] Fix issue when key removed and left value only
When a key attribute is mapped and the key is removed from the value array, if
only 'value' element is left in the array, it should replace its wrapper
array.

Assume the original value array is as follows (key attribute is 'id').

```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => 'value1'),
        array('id' => 'option2', 'value' => 'value2')
    )
)
```

After normalized, the above shall be converted to the following array.

```php
array(
    'things' => array(
        'option1' => 'value1',
        'option2' => 'value2'
    )
)
```

It's also possible to mix 'value-only' and 'none-value-only' elements in
the array:

```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => 'value1'),
        array('id' => 'option2', 'value' => 'value2', 'foo' => 'foo2')
    )
)
```

The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => 'value1',
        'option2' => array('value' => 'value2','foo' => 'foo2')
    )
)
```

The 'value' element can also be array:

```php
array(
    'things' => array(
        array(
            'id' => 'option1',
            'value' => array('foo'=>'foo1', 'bar' => 'bar1')
        )
    )
)
```
The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => array('foo' => 'foo1', 'bar' => 'bar1')
    )
)
```

When using VariableNode for value element, it's also possible to mix
different types of value elements:
```php
array(
    'things' => array(
        array('id' => 'option1', 'value' => array('foo'=>'foo1', 'bar' => 'bar1')),
        array('id' => 'option2', 'value' => 'value2')
    )
)
```

The above shall be converted to the following array.
```php
array(
    'things' => array(
        'option1' => array('foo'=>'foo1', 'bar' => 'bar1'),
        'option2' => 'value2'
    )
)
```

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15270
| License       | MIT
| Doc PR        | n/a
2016-12-14 09:02:51 +01:00
Martin Hasoň
17f02e0dc4 [Config] Fix checking cache for non existing meta file 2016-12-09 12:03:17 +01:00
Fabien Potencier
c41904164c Merge branch '3.1' into 3.2
* 3.1:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:45:17 +01:00
Fabien Potencier
9369b4df83 Merge branch '2.8' into 3.1
* 2.8:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:41:06 +01:00
Fabien Potencier
04595dc707 Merge branch '2.7' into 2.8
* 2.7:
  add dependency on Twig
  [Config] Do not skip YamlReferenceDumperTest entirely
  [Config] Fix YamlReferenceDumper extra space
2016-12-09 08:40:14 +01:00
Fabien Potencier
be72520fc3 minor #20827 [Config] Do not skip YamlReferenceDumperTest entirely (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[Config] Do not skip YamlReferenceDumperTest entirely

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

The test is now completed in 3.2, but for older branch, any changes in the `YamlReferenceDumper` is not tested on travis and requires to test it manually or comment the `markTestIncomplete` line.

`assertEquals` should still be used on 3.2.

Commits
-------

1ed9335 [Config] Do not skip YamlReferenceDumperTest entirely
2016-12-09 08:38:58 +01:00
Maxime STEINHAUSSER
1ed9335e88 [Config] Do not skip YamlReferenceDumperTest entirely 2016-12-08 11:59:24 +01:00
Maxime STEINHAUSSER
685a9b9d9a [Config] Fix YamlReferenceDumper extra space 2016-12-08 11:42:33 +01:00
Nicolas Grekas
bd5af67f08 Merge branch '3.1' into 3.2
* 3.1:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
  mark alias as private during creation
  [Serializer] Remove unused GetSetMethodNormalizer::denormalize
2016-11-29 12:12:32 +01:00
Nicolas Grekas
b9ed4bfacc Merge branch '2.8' into 3.1
* 2.8:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
2016-11-29 12:09:13 +01:00
Nicolas Grekas
25fa4a0ddf Merge branch '2.7' into 2.8
* 2.7:
  [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class
2016-11-29 12:08:50 +01:00
Nicolas Grekas
609245e953 [Config] ConfigCache::isFresh() should return false on __PHP_Incomplete_Class 2016-11-29 11:39:48 +01:00
Nicolas Grekas
7e766dae4a erge branch '3.1'
* 3.1:
  Remove trailing space
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Console] simplified code
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 09:11:03 +01:00
Nicolas Grekas
63a626e4c8 Merge branch '2.8' into 3.1
* 2.8:
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Console] simplified code
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 09:04:31 +01:00
Nicolas Grekas
37956db606 Merge branch '2.7' into 2.8
* 2.7:
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 08:52:58 +01:00
Dariusz Ruminski
22d4e15634 CS: apply rules 2016-11-03 08:44:53 +01:00
Maxime STEINHAUSSER
8e04643b90 Fix YamlReferenceDumper unnamed nested prototypes 2016-10-28 07:46:53 -07:00
Fabien Potencier
d98eb7b5bb [Config] added ClassExistenceResource 2016-10-01 13:54:25 -07:00
Fabien Potencier
e9e29fa5be Merge branch '3.1'
* 3.1:
  fixed expected exception annotations
2016-09-25 09:21:58 -07:00
Roland Franssen
7574a92498 fixed expected exception annotations 2016-09-25 08:27:07 +00:00
Maxime STEINHAUSSER
1e8051081c [Config] Fix YamlReferenceDumper for nested prototypes 2016-09-15 16:03:09 +02:00
Maxime Steinhausser
063a98040c [Config] Fix YamlReferenceDumper prototyped array support 2016-09-14 10:51:47 +02:00
Fabien Potencier
4fbf80d50b feature #19764 [Config] Add ExprBuilder::ifEmpty() (ogizanagi)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Config] Add ExprBuilder::ifEmpty()

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

Useful for instance when you don't expect to have a key set in the resolved config if its content is empty:

```php
$builder = new TreeBuilder();
$tree = $builder
    ->root('matcher')
        ->children()
            ->arrayNode('references_to_exclude')
                ->validate()
                    ->ifEmpty()
                    ->thenUnset()
                ->end()
                ->prototype('scalar')->end()
            ->end()
        ->end()
    ->end()
    ->buildTree()
;

$tree->finalize(['references_to_exclude' => ['foo', 'bar']]);
>>> ['references_to_exclude' => ['foo', 'bar']]

$tree->finalize(['references_to_exclude' => []]);
>>> []
```

Commits
-------

4e46f64 [Config] Add ExprBuilder::ifEmpty()
2016-08-31 11:30:14 -07:00
Nicolas Grekas
731b62534c Merge branch '3.1'
* 3.1:
  [VarDumper] Various minor fixes & cleanups
  Revert "bug #18935 [Form] Consider a violation even if the form is not submitted (egeloen)"
  [Config] Fix DirectoryResourceTest for symlinks
  [HttpKernel] Add missing SsiFragmentRendererTest
  [DoctrineBridge] Fix exception message and tests after misresolved merge
  Fixes the calendar in constructor to handle null
2016-08-31 10:09:20 +02:00
Maxime Steinhausser
56f74eb6c8 [Config] Fix DirectoryResourceTest for symlinks 2016-08-27 20:50:07 +02:00
Maxime Steinhausser
4e46f6474c [Config] Add ExprBuilder::ifEmpty() 2016-08-27 20:29:48 +02:00
Nicolas Grekas
deb527d2dd Merge branch '3.1'
* 3.1:
  [travis] fix after box updates
  Console: Fix indentation of Help: section of txt usage help
  [Intl] Update ICU data to 57.1
  [Config] Improved test
  Added class existence check if is_subclass_of() fails in compiler passes
2016-08-10 09:06:11 +02:00
Nicolas Grekas
0416b8ab02 Merge branch '2.8' into 3.1
* 2.8:
  [travis] fix after box updates
  Console: Fix indentation of Help: section of txt usage help
  [Intl] Update ICU data to 57.1
  [Config] Improved test
  Added class existence check if is_subclass_of() fails in compiler passes
2016-08-10 08:57:07 +02:00
Nicolas Grekas
b974c20394 Merge branch '2.7' into 2.8
* 2.7:
  [travis] fix after box updates
  Console: Fix indentation of Help: section of txt usage help
  [Intl] Update ICU data to 57.1
  [Config] Improved test
  Added class existence check if is_subclass_of() fails in compiler passes
2016-08-10 08:52:43 +02:00
Leo Feyer
ee4adaaf27 Use a dedicated exception in the file locator 2016-08-09 07:23:16 -07:00
Vyacheslav Pavlov
456d53acc9 [Config] Improved test 2016-07-29 15:20:41 +03:00
Nicolas Grekas
54043a084f Merge branch '3.0' into 3.1
* 3.0:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag
2016-07-26 10:04:17 +02:00
Nicolas Grekas
667ad70127 Merge branch '2.8' into 3.0
* 2.8:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [DomCrawler] Inherit the namespace cache in subcrawlers
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/Finder/Tests/Shell/CommandTest.php
2016-07-26 10:03:56 +02:00
Nicolas Grekas
af47008bc9 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Application update PHPDoc of add and register methods
  [Config] Extra tests for Config component
  Fixed bugs in names of classes and methods.
  [DoctrineBridge] Fixed php doc
  [FrameworkBundle] Fixed parameters number mismatch declaration
  [BrowserKit] Added test for followRedirect method (POST method)
  Fix the money form type render with Bootstrap3
  [BrowserKit] Uppercase the "GET" method in redirects
  [WebProfilerBundle] Fixed  JSDoc parameter definition
  [HttpFoundation] HttpCache refresh stale responses containing an ETag

Conflicts:
	src/Symfony/Component/BrowserKit/Tests/ClientTest.php
	src/Symfony/Component/Security/Acl/Resources/bin/generateSql.php
2016-07-26 10:02:44 +02:00
Vyacheslav Pavlov
d0f4434c4e [Config] Extra tests for Config component 2016-07-26 06:42:29 +02:00
Nicolas Grekas
c73f34d2bc [Config] Allow schemed path in FileResource 2016-05-20 13:48:17 +02:00
Nicolas Grekas
db208e3e25 Merge branch '3.0'
* 3.0:
  [PropertyAccess] ->getValue() should be read-only
  [VarDumper] Fix dumping type hints for non-existing parent classes
  [Config] Fix XmlUtilsTest namespace
  [Console] [TableHelper] make it work with SymfonyStyle.
  Remove dead code
  [FrameworkBundle] Better output for user in ContainerDebugCommand
  [Routing] add query param if value is different from default
2016-04-20 20:54:21 +02:00
Nicolas Grekas
ffb7573bd7 Merge branch '2.8' into 3.0
* 2.8:
  [PropertyAccess] ->getValue() should be read-only
  [VarDumper] Fix dumping type hints for non-existing parent classes
  [Config] Fix XmlUtilsTest namespace
  [Console] [TableHelper] make it work with SymfonyStyle.
  Remove dead code
  [Routing] add query param if value is different from default

Conflicts:
	src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php
2016-04-20 20:53:54 +02:00
Nicolas Grekas
68415abf71 Merge branch '2.7' into 2.8
* 2.7:
  [PropertyAccess] ->getValue() should be read-only
  [VarDumper] Fix dumping type hints for non-existing parent classes
  [Config] Fix XmlUtilsTest namespace
  [Console] [TableHelper] make it work with SymfonyStyle.
  Remove dead code
  [Routing] add query param if value is different from default

Conflicts:
	src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php
2016-04-20 20:52:26 +02:00
Nicolas Grekas
1ff12d92fd Merge branch '2.3' into 2.7
* 2.3:
  [PropertyAccess] ->getValue() should be read-only
  [Config] Fix XmlUtilsTest namespace
  [Routing] add query param if value is different from default

Conflicts:
	src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
2016-04-20 20:45:26 +02:00
jhonnyL
58425eb44c [Config] Fix XmlUtilsTest namespace 2016-04-19 13:29:13 +00:00
Fabien Potencier
1b85799602 Merge branch '3.0'
* 3.0: (21 commits)
  fixed typo
  fixed typo
  Fixed a minor XML issue in a translation file
  Fix merge
  Fix merge
  Fix merge
  Fix merge
  Update twig.html.twig
  PhpUnitNoDedicateAssertFixer results
  disable the assets helper when assets are disabled
  Improve Norwegian translations
  [2.7] [FrameworkBundle] minor fix tests added by #17569
  Fixed the antialiasing of the toolbar text
  Simplify markdown for PR template
  fixed CS
  fixed CS
  documented the $url parameter better
  [Form] add test for ArrayChoiceList handling null
  [Form] fix edge cases with choice placeholder
  register commands from kernel when accessing list
  ...
2016-02-23 17:17:05 +01:00
Fabien Potencier
6782cfa011 Merge branch '2.8' into 3.0
* 2.8:
  fixed typo
  fixed typo
  Fixed a minor XML issue in a translation file
  Fix merge
  Fix merge
  Fix merge
  Fix merge
  Update twig.html.twig
  PhpUnitNoDedicateAssertFixer results
  Improve Norwegian translations
  [2.7] [FrameworkBundle] minor fix tests added by #17569
  Fixed the antialiasing of the toolbar text
  Simplify markdown for PR template
  fixed CS
  fixed CS
  documented the $url parameter better
  [Form] add test for ArrayChoiceList handling null
  [Form] fix edge cases with choice placeholder
  register commands from kernel when accessing list
  Update FileSystem
2016-02-23 16:16:06 +01:00
Nicolas Grekas
07535e9e84 Merge branch '2.7' into 2.8
* 2.7:
  PhpUnitNoDedicateAssertFixer results
  Improve Norwegian translations
  Simplify markdown for PR template
2016-02-22 17:12:45 +01:00
Nicolas Grekas
ba35f3d7bb Merge branch '2.3' into 2.7
* 2.3:
  PhpUnitNoDedicateAssertFixer results
  Improve Norwegian translations
  Simplify markdown for PR template

Conflicts:
	src/Symfony/Bridge/Propel1/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php
	src/Symfony/Component/Security/Tests/Core/SecurityContextTest.php
2016-02-22 17:12:29 +01:00
SpacePossum
7aff7f42c1 PhpUnitNoDedicateAssertFixer results 2016-02-21 12:34:19 +01:00
Christian Flothmann
6e0d0850f4 Merge branch '3.0'
* 3.0:
  [DependencyInjection] fix dumped YAML snytax
  Remove InputOption::VALUE_REQUIRED mode from $default parameter description as InputOption::setDefault() throws an exception only when called in InputOption::VALUE_NONE mode. In practice the $default value could still be accessed in InputOption::VALUE_REQUIRED mode in case InputOption was never set but accessed from InputDefinition::getOption() method
  [Yaml] always restore the error handler in tests
  [FrameworkBundle] fix YAML syntax
  fix YAML syntax in functional tests config
  [HttpFoundation] [Session] Removed unnecessary PHP version check as minimum requirement is now 5.5.9
  [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
  fix FQCN in tests added by #17694
  Fix locale and written standard inconsistencies for Norwegian translations
  [Form] [Validator] Fix locale inconsistencies in Norwegian translations
  [TwigBridge] Symfony 3.1 forward compatibility
  fixed CS
  [DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
  [Yaml] properly parse lists in object maps
  [FrameworkBundle] Remove unused private method.
  [Form] remove useless code in ResizeFormListener
  [Config] Fix EnumNodeDefinition to allow building enum nodes with one element
  [Form] remove deprecated empty_value_in_choices
  fix choice_value option in EntityType and add some tests
2016-02-16 09:48:00 +01:00
Fabien Potencier
2128d52cb8 Merge branch '2.8' into 3.0
* 2.8:
  [DependencyInjection] fix dumped YAML snytax
  Remove InputOption::VALUE_REQUIRED mode from $default parameter description as InputOption::setDefault() throws an exception only when called in InputOption::VALUE_NONE mode. In practice the $default value could still be accessed in InputOption::VALUE_REQUIRED mode in case InputOption was never set but accessed from InputDefinition::getOption() method
  [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
  fix FQCN in tests added by #17694
  Fix locale and written standard inconsistencies for Norwegian translations
  [Form] [Validator] Fix locale inconsistencies in Norwegian translations
  [TwigBridge] Symfony 3.1 forward compatibility
  fixed CS
  [DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
  [Yaml] properly parse lists in object maps
  [FrameworkBundle] Remove unused private method.
  [Form] remove useless code in ResizeFormListener
  [Config] Fix EnumNodeDefinition to allow building enum nodes with one element
  fix choice_value option in EntityType and add some tests
2016-02-16 07:11:42 +01:00
Maxime Steinhausser
e9111e4ef1 [Config] Fix EnumNodeDefinition to allow building enum nodes with one element 2016-02-13 11:44:39 +01:00
Nicolas Grekas
4dde7a5e7e Merge branch '3.0'
* 3.0:
  [appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors

Conflicts:
	src/Symfony/Component/Config/Tests/Resource/DirectoryResourceTest.php
2016-02-04 15:47:41 +01:00
Nicolas Grekas
db74a25ca1 Merge branch '2.8' into 3.0
* 2.8:
  [appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors
2016-02-04 15:44:26 +01:00
Nicolas Grekas
afe4cbbfae Merge branch '2.7' into 2.8
* 2.7:
  [appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors
2016-02-04 15:44:13 +01:00
Nicolas Grekas
927fe13af2 Merge branch '2.3' into 2.7
* 2.3:
  [appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors
2016-02-04 15:43:56 +01:00
Nicolas Grekas
1d4ea39512 [appveyor] Ignore failures due to STATUS_ACCESS_VIOLATION errors 2016-02-04 15:25:59 +01:00
Javier Eguiluz
3e762a6f15 Improved FileResource and DirectoryResource 2016-02-03 13:36:07 +01:00
Nicolas Grekas
304097705c Merge branch '2.8' into 3.0
* 2.8:
  [travis] timeout the sigchild tests at 60s
  CS: Single line comments should use double slashes (//) and not hash (#).
  Do not use HttpKernel Extension when not needed for 2.7
  Do not use HttpKernel Extension when not needed
  bumped Symfony version to 2.8.2
  updated VERSION for 2.8.1
  updated CHANGELOG for 2.8.1
  bumped Symfony version to 2.7.9
  updated VERSION for 2.7.8
  updated CHANGELOG for 2.7.8
  bumped Symfony version to 2.3.37
  updated VERSION for 2.3.36
  update CONTRIBUTORS for 2.3.36
  updated CHANGELOG for 2.3.36
  Revert "Revert "bug #17052 [2.7] Fixed flatten exception recursion with errors (GrahamCampbell)""
  Revert "bug #17052 [2.7] Fixed flatten exception recursion with errors (GrahamCampbell)"
  use nowdoc instead of heredoc

Conflicts:
	CHANGELOG-2.3.md
	CHANGELOG-2.7.md
	CHANGELOG-2.8.md
	src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Command/ExportCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Command/ImportCommand.php
	src/Symfony/Component/Console/Shell.php
	src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-12-28 14:14:56 +01:00
Nicolas Grekas
a7e5b4932e Merge branch '2.7' into 2.8
* 2.7:
  [travis] timeout the sigchild tests at 60s
  CS: Single line comments should use double slashes (//) and not hash (#).
  Do not use HttpKernel Extension when not needed for 2.7
  Do not use HttpKernel Extension when not needed
  bumped Symfony version to 2.7.9
  updated VERSION for 2.7.8
  updated CHANGELOG for 2.7.8
  bumped Symfony version to 2.3.37
  updated VERSION for 2.3.36
  update CONTRIBUTORS for 2.3.36
  updated CHANGELOG for 2.3.36
  Revert "Revert "bug #17052 [2.7] Fixed flatten exception recursion with errors (GrahamCampbell)""
  Revert "bug #17052 [2.7] Fixed flatten exception recursion with errors (GrahamCampbell)"
  use nowdoc instead of heredoc

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Acl/Dbal/AclProvider.php
	src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
2015-12-28 14:12:56 +01:00
Nicolas Grekas
a63dd194ed Merge branch '2.3' into 2.7
* 2.3:
  [travis] timeout the sigchild tests at 60s
  CS: Single line comments should use double slashes (//) and not hash (#).
  Do not use HttpKernel Extension when not needed
  bumped Symfony version to 2.3.37
  updated VERSION for 2.3.36
  update CONTRIBUTORS for 2.3.36
  updated CHANGELOG for 2.3.36
  use nowdoc instead of heredoc

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterMatchCommand.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Config/Tests/Definition/Dumper/YamlReferenceDumperTest.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
2015-12-28 14:11:03 +01:00
Nicolas Grekas
a89fe42811 minor #17086 CS: use nowdoc instead of heredoc (gharlan)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: use nowdoc instead of heredoc

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

if this is accepted, we could add the fixer to symfony level of php-cs-fixer: https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/1580

Commits
-------

3dca549 use nowdoc instead of heredoc
2015-12-28 14:03:05 +01:00
Fabien Potencier
77f37fb077 Merge branch '2.8' into 3.0
* 2.8:
  [2.7] Fixed flatten exception recursion with errors
  Embedded identifier support
  Also transform inline mappings to objects
  Change the ExtensionInterface load method definition to bo identical to the documentation.
  add and correct armenian translations
  [Config] Fix array sort on normalization in edge case
  [Security] Run tests on all PHP versions
  [DomCrawler] Revert previous restriction, allow selection of every DOMNode object
  [Serializer] Make metadata interfaces internal
  [Yaml] fix indented line handling in folded blocks
  improve BrowserKit test coverage p1
2015-12-26 14:39:53 +01:00
Fabien Potencier
27129228eb Merge branch '2.7' into 2.8
* 2.7:
  [2.7] Fixed flatten exception recursion with errors
  Embedded identifier support
  Also transform inline mappings to objects
  Change the ExtensionInterface load method definition to bo identical to the documentation.
  add and correct armenian translations
  [Config] Fix array sort on normalization in edge case
  [Security] Run tests on all PHP versions
  [Serializer] Make metadata interfaces internal
  [Yaml] fix indented line handling in folded blocks
  improve BrowserKit test coverage p1
2015-12-26 14:37:56 +01:00
Fabien Potencier
97cf53f9bd Merge branch '2.3' into 2.7
* 2.3:
  [2.7] Fixed flatten exception recursion with errors
  Embedded identifier support
  Change the ExtensionInterface load method definition to bo identical to the documentation.
  add and correct armenian translations
  [Config] Fix array sort on normalization in edge case
  [Yaml] fix indented line handling in folded blocks
  improve BrowserKit test coverage p1
2015-12-26 14:37:43 +01:00
Romain Neutron
eca41a8fbf [Config] Fix array sort on normalization in edge case 2015-12-24 14:08:45 +01:00
Gregor Harlan
3dca549b95 use nowdoc instead of heredoc 2015-12-21 17:05:00 +01:00
Ener-Getick
bc20af2c05 [Config] Throw an exception when using cannotBeEmpty() on numeric or boolean nodes 2015-12-03 20:32:18 +01:00
Fabien Potencier
04eda701cc Merge branch '2.8'
* 2.8:
  removed @covers annotations in tests
  removed @covers annotations in tests
  removed all @covers annotations
  checkCredentials() force it to be an affirmative yes!
  [PropertyAccess] Major performance improvement
2015-11-02 21:34:04 +01:00
Fabien Potencier
e3f09df02a Merge branch '2.7' into 2.8
* 2.7:
  removed @covers annotations in tests
  removed all @covers annotations
  [PropertyAccess] Major performance improvement
2015-11-02 21:29:24 +01:00
Fabien Potencier
db54164a87 Merge branch '2.3' into 2.7
* 2.3:
  removed all @covers annotations
  [PropertyAccess] Major performance improvement
2015-11-02 21:20:53 +01:00
Fabien Potencier
30bd397366 minor #16414 removed all @covers annotations (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

removed all @covers annotations

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

Some unit tests have a `@covers` PHPUnit annotations. Most of them were added a very long time ago, but since then, we did not use them anymore and the existing ones are not maintained (see #16413). So, I propose to remove them all.

Commits
-------

1e0af36 removed all @covers annotations
2015-11-02 19:22:02 +01:00
Fabien Potencier
1e0af36c7d removed all @covers annotations 2015-11-01 14:17:24 -08:00
Fabien Potencier
bc0c8c1b5b Merge branch '2.8'
* 2.8:
  added the new Composer exclude-from-classmap option
  added the new Composer exclude-from-classmap option
  fix docblock description for the build() method
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 16:35:59 -07:00
Fabien Potencier
a15c9eb82d Merge branch '2.7' into 2.8
* 2.7:
  added the new Composer exclude-from-classmap option
  added the new Composer exclude-from-classmap option
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 13:15:42 -07:00
Fabien Potencier
05c2ecc124 Merge branch '2.3' into 2.7
* 2.3:
  added the new Composer exclude-from-classmap option
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 13:10:21 -07:00
Possum
29d696944c Set back libxml settings after testings. 2015-10-29 11:26:44 +01:00
Fabien Potencier
ed610df788 Merge branch '2.8'
* 2.8:
  fixed deprecation notices
  fixed typos
  [FrameworkBundle] Tag deprecated services
  [VarDumper] Dump PHP+Twig code excerpts in backtraces
  [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors
2015-09-30 14:30:29 +02:00
Fabien Potencier
8d1cee9e95 feature #15929 [3.0][Config] Remove ResourceInterface::getResource() which was deprecated in 2.8 (mpdude)
This PR was squashed before being merged into the 3.0-dev branch (closes #15929).

Discussion
----------

[3.0][Config] Remove ResourceInterface::getResource() which was deprecated in 2.8

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

Deprecated in #15719.

Commits
-------

7cef180 [3.0][Config] Remove ResourceInterface::getResource() which was deprecated in 2.8
2015-09-28 22:39:42 +02:00
Matthias Pigulla
7cef180742 [3.0][Config] Remove ResourceInterface::getResource() which was deprecated in 2.8 2015-09-28 22:39:35 +02:00
Tobias Schultze
49edef252b use try-finally when possible 2015-09-28 14:06:46 +02:00
ogizanagi
d961f7f344 [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors 2015-09-27 12:15:37 +02:00
Fabien Potencier
d60428c9ca feature #15738 Implement service-based Resource (cache) validation (mpdude)
This PR was squashed before being merged into the 2.8 branch (closes #15738).

Discussion
----------

Implement service-based Resource (cache) validation

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #7230, #15692, #7782
| License       | MIT
| Doc PR        | symfony/symfony-docs#5136

### Overview

Currently, any metadata passed to `ConfigCache` (namely implementations of `ResourceInterface`) is serialized to disk. When the `ConfigCache` is validated, the metadata is unserialized and queried through `ResourceInterface::isFresh()` to determine whether the cache is fresh. That way, `ResourceInterface` implementations cannot interact with services, for example a database connection.

This PR introduces the new concept of `ResourceCheckers`. Services implementing `ResourceCheckerInterface` can be tagged as `config_cache.resource_checker` with an optional priority.

Clients that wish to use `ConfigCache` can then obtain an instance from the `config_cache_factory` service (which implements `ConfigCacheFactoryInterface`). The factory will take care of injecting resource checkers into the `ConfigCache` instance so that they can be used for cache validation.

Checking cache metadata is easy for `ResourceCheckers`:
* First, the `ResourceCheckerInterface::supports()` implementation is passed the metadata object in question. If the checker cannot handle the type of resource passed, `supports()` should return `false`.
* Otherwise, the `ResourceCheckerInterface::isFresh()` method will be called and given the resource as well as the timestamp at which the cache was initialized. If that method returns `false`, the cache is considered stale. If it returns `true`, the resource is considered unchanged and will *not* be passed to any additional checkers.

### BC and migration path

This PR does not (intend to) break BC but it comes with deprecations. The main reason is that `ResourceInterface` contains an `isFresh()` method that does not make sense in the general case of resources.

Thus, `ResourceInterface::isFresh()` is marked as deprecated and should be removed in Symfony 3.0. Resource implementations that can (or wish to) be validated in that simple manner can implement the `SelfCheckingResourceInterface` sub-interface that still contains (and will keep) the `isFresh()` method. The change should be as simple as changing the `extends` list.

Apart from that, `ResourceInterface` will be kept as the base interface for resource implementations. It is used in several `@api` interfaces and thus cannot easily be substituted.

For the Symfony 2.x series, a `BCResourceInterfaceChecker` will be kept that performs validation through `ResourceInterface::isFresh()` but will trigger a deprecation warning. The remedy is to either implement a custom ResourceChecker with a priority higher than -1000; or to switch to the aforementioned `SelfCheckingResourceInterface` which is used at a priority of -990 (without deprecation warning).

The `ConfigCache` and `ConfigCacheFactory` classes can be used as previously but do not feature checker-based cache validation.

### Outlook and closing remarks:

This PR supersedes #7230, #15692 and works at least in parts towards the goal of #7176.

The `ResourceCheckerInterface`, `...ConfigCache` and `...ConfigCacheFactory` no longer need to be aware of the `debug` flag. The different validation rules applied previously are now just a matter of `ResourceChecker` configuration (i. e. "no checkers" in `prod`).

It might be possible to remove the `debug` flag from Symfony's `Router` and/or `Translator` classes in the future as well because it was only passed on to the `ConfigCache` there.

Commits
-------

20d3722 Implement service-based Resource (cache) validation
2015-09-25 08:33:07 +02:00
Matthias Pigulla
20d3722120 Implement service-based Resource (cache) validation 2015-09-25 08:31:17 +02:00
Nicolas Grekas
b75755cdde Merge branch '2.7' into 2.8
* 2.7:
  [Config] Fix enum default value in Yaml dumper
  Finnish translation fix
  [CssSelector] Optimize regexs matching simple selectors
  Fix the phpdoc in the CssSelector TranslatorInterface
  [Console] Add clock mock to fix transient test on HHVM
  [DomCrawler] Optimize the regex used to find namespace prefixes
  [EventDispatcher] skip one lazy loading call
  [EventDispatcher] fix memory leak in a getListeners
  Default to stderr for console helpers (only merge if #15794 gets merged)
2015-09-22 15:49:41 +02:00
Romain Neutron
d135d8282d [Config] Fix enum default value in Yaml dumper 2015-09-21 17:02:29 +02:00
Fabien Potencier
6393ec3169 Merge branch '2.7' into 2.8
* 2.7:
  [DomCrawler] Invalid uri created from forms if base tag present
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  Use stderr by default when a specific output is not injected
  [Debug] Fix case mismatch detection
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  [Yaml] Fix the parsing of float keys
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  [HttpKernel] fix DumpDataCollector compat with Twig 2.0
  Improve exception messages.
  Fix that two DirectoryResources with different patterns would be deduplicated
  Tests fix clockmock
  [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX
  missing "YAML" in the exception message.
  [Translator][warmup][fallback locales] fixed missing cache file generation.
  [framework-bundle] Add Test for TranslationUpdateCommand
  Use ObjectManager interface instead of EntityManager
2015-09-14 16:15:17 +02:00
Fabien Potencier
cafd4af7cd Merge branch '2.3' into 2.7
* 2.3:
  [DomCrawler] Invalid uri created from forms if base tag present
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  [Yaml] Fix the parsing of float keys
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  Improve exception messages.
  Fix that two DirectoryResources with different patterns would be deduplicated
  Tests fix clockmock
  [WebProfilerBundle] Added tabindex="-1" to not interfer with normal UX
  missing "YAML" in the exception message.
  [framework-bundle] Add Test for TranslationUpdateCommand
  Use ObjectManager interface instead of EntityManager
2015-09-14 16:14:09 +02:00
Matthias Pigulla
2b36ac5a61 Fix that two DirectoryResources with different patterns would be deduplicated
ResourceInterface::__toString is mainly important because in various places, array_uniqe() is called to perform a de-duplication of resources and will use the string representation for objects.

Thus, we need to take care that if DirectoryResources apply different patterns they must be kept after array_unique calls.
2015-09-10 14:18:59 +02:00
maxime.steinhausser
599fcb4868 [Config] Prototypes info 2015-08-27 20:34:50 +02:00
Nicolas Grekas
fb9838c2d4 Merge branch '2.7' into 2.8
* 2.7:
  Various fixes esp. on Windows
  Fix the validation of form resources to register the default theme
  Fix the retrieval of the value with property path when using a loader
  [appveyor] minor enhancements
  [Process] Disable failing tests on Windows
  [Translation] Fix the string casting in the XliffFileLoader
  Windows and Intl fixes
  Add appveyor.yml for C.I. on Windows
  [VarDumper] fixed HtmlDumper to target specific the head tag
  [travis] merge php: nightly and deps=high test-matrix lines
  consistently use str_replace to unify directory separators
  Support omitting the <target> node in an .xlf file.
  Fix the handling of values for multiple choice types
  moved PHP nightly to PHP 7.0
  [Security] Add missing docblock in PreAuthenticatedToken

Conflicts:
	.travis.yml
2015-08-27 08:53:13 +02:00
Nicolas Grekas
464a1b3152 Various fixes esp. on Windows 2015-08-27 08:45:45 +02:00
Javier Eguiluz
68f0818a6c Allow to define Enum nodes with 1 single element 2015-08-03 10:27:53 +02:00
Nicolas Grekas
48aa3e1453 Merge branch '2.7' into 2.8
* 2.7:
  [Locale] Add missing @group legacy annotations
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  fix issue #15377
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/TimeTypeTest.php
2015-08-01 11:43:59 +02:00
Nicolas Grekas
3d7d378cbc Merge branch '2.3' into 2.7
* 2.3:
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Config/Tests/Definition/ScalarNodeTest.php
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
	src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Locale/Tests/LocaleTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php
2015-08-01 11:05:17 +02:00
Christian Flothmann
0199fbf545 [Config] type specific check for emptiness 2015-07-15 19:51:32 +02:00
Abdellatif Ait boudad
05f3c3db7b Merge remote-tracking branch 'origin/2.7' into 2.8
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
2015-07-01 14:16:54 +00:00
twifty
1df4ebecfd added remove option to ignoreExtraKeys 2015-06-28 20:28:03 +02:00
Abdellatif Ait boudad
d1de40e036 Merge remote-tracking branch 'origin/2.6' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Component/Validator/Constraints/EmailValidator.php
2015-06-25 12:52:11 +00:00
Nicolas Grekas
a85ed5097b Merge branch '2.3' into 2.6
* 2.3:
  Fixed the regexp for the validator of Maestro-based credit/debit cards
  [Console] Fix STDERR output text on IBM iSeries OS400
  [HttpFoundation] Use convention to allow throwing from __toString()
  [Form] Fixed: remove quoted strings from Intl date formats (e.g. es_ES full pattern)
  [bugfix][MonologBridge] WebProcessor: passing  to BaseWebProcessor
  [2.3] Static Code Analysis for Components
  [Translation][update cmd] taken account into bundle overrides path.

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
2015-06-25 13:21:15 +02:00
Vladimir Reznichenko
aa5e616511 [2.3] Static Code Analysis for Components 2015-06-21 22:11:32 +02:00
Fabien Potencier
ae470cdf14 Merge branch '2.7' into 2.8
* 2.7:
  Fix test name
  fixed CS
  Allow new lines in Messages translated with transchoice() (replacement for #14867)
  [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one
  [2.3] Fix tests on Windows
  [Yaml] remove partial deprecation annotation
  Silence invasive deprecation warnings, opt-in for warnings
  Documenting how to keep option value BC - see #14377

Conflicts:
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Twig/composer.json
2015-06-11 19:27:52 +02:00
Diego Saint Esteben
7bb0812012 Fix test name 2015-06-11 11:06:56 -03:00