Skip to content

Commit bba1456

Browse files
norkunasNyholm
authored andcommitted
Integrate phpstan at level 2 (#240)
1 parent aedfb94 commit bba1456

File tree

4 files changed

+47
-32
lines changed

4 files changed

+47
-32
lines changed

.travis.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ matrix:
2424
- php: 7.0
2525
- php: 7.1
2626
- php: 7.2
27-
env: COVERAGE=true PHPUNIT_FLAGS="-v --testsuite main --coverage-text --coverage-clover=build/coverage.xml"
27+
env: COVERAGE=true PHPUNIT_FLAGS="-v --testsuite main --coverage-text --coverage-clover=build/coverage.xml" DEPENDENCIES="phpstan/phpstan"
2828

2929
- php: 7.1
3030
# We need `--prefer-source`, otherwise the `Doctrine\Tests\OrmTestCase` class won't be found.
@@ -48,14 +48,16 @@ before_install:
4848
- if ! [ -v "$DEPENDENCIES" ]; then composer require --no-update ${DEPENDENCIES}; fi;
4949

5050
install:
51-
# To be removed when this issue will be resolved: https://github.com/composer/composer/issues/5355
52-
- if [[ "$COMPOSER_FLAGS" == *"--prefer-lowest"* ]]; then composer update --prefer-dist --no-interaction --prefer-stable --quiet; fi
5351
- composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction
5452
- ./vendor/bin/simple-phpunit install
5553

5654
script:
5755
- composer validate --strict --no-check-lock
5856
- ./vendor/bin/simple-phpunit $PHPUNIT_FLAGS
57+
- |
58+
if [[ $COVERAGE == true ]]; then
59+
vendor/bin/phpstan analyze -c phpstan.neon.dist --no-interaction --no-progress
60+
fi
5961
6062
after_success:
6163
- if [[ $COVERAGE = true ]]; then wget https://scrutinizer-ci.com/ocular.phar; fi

DependencyInjection/Configuration.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
namespace Bazinga\GeocoderBundle\DependencyInjection;
1414

1515
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
16-
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
1716
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
1817
use Symfony\Component\Config\Definition\ConfigurationInterface;
1918

@@ -42,7 +41,7 @@ public function __construct($debug)
4241
/**
4342
* Proxy to get root node for Symfony < 4.2.
4443
*
45-
* @return NodeDefinition
44+
* @return ArrayNodeDefinition
4645
*/
4746
protected function getRootNode(TreeBuilder $treeBuilder, string $name)
4847
{
@@ -104,7 +103,7 @@ private function getProvidersNode()
104103
return $this->getRootNode($treeBuilder, 'providers')
105104
->requiresAtLeastOneElement()
106105
->useAttributeAsKey('name')
107-
->prototype('array')
106+
->arrayPrototype()
108107
->fixXmlConfig('plugin')
109108
->children()
110109
->scalarNode('factory')->isRequired()->cannotBeEmpty()->end()
@@ -119,7 +118,7 @@ private function getProvidersNode()
119118
->scalarNode('locale')->defaultNull()->end()
120119
->scalarNode('logger')->defaultNull()->end()
121120
->arrayNode('aliases')
122-
->prototype('scalar')->end()
121+
->scalarPrototype()->end()
123122
->end()
124123
->append($this->createClientPluginNode())
125124
->end()
@@ -139,7 +138,7 @@ private function createClientPluginNode()
139138
/** @var ArrayNodeDefinition $pluginList */
140139
$pluginList = $node
141140
->info('A list of plugin service ids. The order is important.')
142-
->prototype('array')
141+
->arrayPrototype()
143142
;
144143
$pluginList
145144
// support having just a service id in the list

composer.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,48 +12,48 @@
1212
],
1313
"require": {
1414
"php": "^7.0",
15-
"willdurand/geocoder": "^4.0",
1615
"geocoder-php/plugin": "^1.0",
16+
"symfony/console": "^3.4 || ^4.2",
1717
"symfony/framework-bundle": "^3.4 || ^4.2",
1818
"symfony/options-resolver": "^3.4 || ^4.2",
19-
"symfony/console": "^3.4 || ^4.2"
19+
"willdurand/geocoder": "^4.0"
2020
},
2121
"require-dev": {
22-
"symfony/phpunit-bridge": "^4.3",
23-
"symfony/yaml": "^3.4 || ^4.2",
24-
"geoip/geoip": "~1.17",
2522
"doctrine/cache": "~1.3",
2623
"doctrine/orm": "~2.3",
27-
"php-http/message": "^1.5",
28-
"php-http/curl-client": "^1.7",
29-
"nyholm/psr7": "^0.2.2",
30-
"nyholm/nsa": "^1.1",
31-
"nyholm/symfony-bundle-test": "^1.3",
32-
"geocoder-php/google-maps-provider": "^4.0",
33-
"geocoder-php/cache-provider": "^4.0",
3424
"geocoder-php/arcgis-online-provider": "^4.0",
3525
"geocoder-php/bing-maps-provider": "^4.0",
26+
"geocoder-php/cache-provider": "^4.0",
3627
"geocoder-php/chain-provider": "^4.0",
3728
"geocoder-php/free-geoip-provider": "^4.0",
3829
"geocoder-php/geo-plugin-provider": "^4.0",
39-
"geocoder-php/geonames-provider": "^4.0",
40-
"geocoder-php/geoips-provider": "^4.0",
4130
"geocoder-php/geoip2-provider": "^4.0",
31+
"geocoder-php/geoips-provider": "^4.0",
32+
"geocoder-php/geonames-provider": "^4.0",
33+
"geocoder-php/google-maps-provider": "^4.0",
4234
"geocoder-php/here-provider": "^0.2",
43-
"geocoder-php/ip-info-provider": "^0.1",
35+
"geocoder-php/host-ip-provider": "^4.0",
4436
"geocoder-php/ip-info-db-provider": "^4.0",
37+
"geocoder-php/ip-info-provider": "^0.1",
4538
"geocoder-php/ipstack-provider": "^0.1",
46-
"geocoder-php/host-ip-provider": "^4.0",
39+
"geocoder-php/mapquest-provider": "^4.0",
40+
"geocoder-php/mapzen-provider": "^4.0",
4741
"geocoder-php/maxmind-binary-provider": "^4.0",
48-
"geocoder-php/yandex-provider": "^4.0",
49-
"geocoder-php/tomtom-provider": "^4.0",
50-
"geocoder-php/pickpoint-provider": "^4.0",
51-
"geocoder-php/open-cage-provider": "^4.0",
52-
"geocoder-php/nominatim-provider": "^5.0",
5342
"geocoder-php/maxmind-provider": "^4.0",
54-
"geocoder-php/mapzen-provider": "^4.0",
55-
"geocoder-php/mapquest-provider": "^4.0",
56-
"symfony/validator": "^3.4 || ^4.2"
43+
"geocoder-php/nominatim-provider": "^5.0",
44+
"geocoder-php/open-cage-provider": "^4.0",
45+
"geocoder-php/pickpoint-provider": "^4.0",
46+
"geocoder-php/tomtom-provider": "^4.0",
47+
"geocoder-php/yandex-provider": "^4.0",
48+
"geoip/geoip": "~1.17",
49+
"nyholm/nsa": "^1.1",
50+
"nyholm/psr7": "^0.2.2",
51+
"nyholm/symfony-bundle-test": "^1.3",
52+
"php-http/curl-client": "^1.7",
53+
"php-http/message": "^1.5",
54+
"symfony/phpunit-bridge": "^4.3",
55+
"symfony/validator": "^3.4 || ^4.2",
56+
"symfony/yaml": "^3.4 || ^4.2"
5757
},
5858
"conflict": {
5959
"willdurand/geocoder": "3.2",

phpstan.neon.dist

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
parameters:
2+
paths:
3+
- %currentWorkingDirectory%
4+
excludes_analyse:
5+
- ./vendor/
6+
- ./Tests/
7+
level: 2
8+
ignoreErrors:
9+
-
10+
path: %currentWorkingDirectory%/DependencyInjection/Configuration.php
11+
message: '#Call to an undefined method Symfony\\Component\\Config\\Definition\\Builder\\NodeParentInterface::(end|variableNode)#'
12+
-
13+
path: %currentWorkingDirectory%/ProviderFactory/GeoipFactory.php
14+
message: '#Geocoder\\Provider\\Geoip\\Geoip not found#'

0 commit comments

Comments
 (0)