Skip to content

Commit 671434d

Browse files
authored
Allow Symfony 6, drop Symfony < 5.4 and PHP < 7.4 (#42)
1 parent 5c53d8e commit 671434d

11 files changed

+110
-353
lines changed

.github/workflows/continuous-integration.yml

+34-114
Original file line numberDiff line numberDiff line change
@@ -16,159 +16,79 @@ jobs:
1616
strategy:
1717
matrix:
1818
php-version:
19-
- "7.3"
2019
- "7.4"
2120
- "8.0"
21+
- "8.1"
2222
deps:
2323
- "normal"
2424
symfony-require:
2525
- ""
2626
symfony-deprecations-helper:
2727
- ""
2828
include:
29-
# Test against latest Symfony 4.4 stable on 7.3
30-
- symfony-require: "4.4.*"
31-
php-version: "7.3"
32-
deps: "dev"
33-
34-
# Test against latest Symfony 4.4 stable on 7.3 deps low
35-
- symfony-require: "4.4.*"
36-
php-version: "7.3"
37-
deps: "low"
38-
39-
# Test against latest Symfony 4.4 stable on 7.3 deps normal
40-
- symfony-require: "4.4.*"
41-
php-version: "7.3"
42-
deps: "normal"
43-
44-
# Test against latest Symfony 4.4 stable on 7.4
45-
- symfony-require: "4.4.*"
29+
# Test against latest Symfony 5.4 stable on 7.4
30+
- symfony-require: "5.4.*"
4631
php-version: "7.4"
4732
deps: "dev"
4833

49-
# Test against latest Symfony 4.4 stable on 7.4 deps low
50-
- symfony-require: "4.4.*"
51-
php-version: "7.4"
52-
deps: "low"
53-
54-
# Test against latest Symfony 4.4 stable on 7.4 deps normal
55-
- symfony-require: "4.4.*"
34+
# Test against latest Symfony 5.4 stable on 7.4 deps normal
35+
- symfony-require: "5.4.*"
5636
php-version: "7.4"
5737
deps: "normal"
5838

59-
# Test against latest Symfony 4.4 stable on 8.0
60-
- symfony-require: "4.4.*"
39+
# Test against latest Symfony 5.4 stable on 8.0
40+
- symfony-require: "5.4.*"
6141
php-version: "8.0"
6242
deps: "dev"
6343

64-
# Test against latest Symfony 4.4 stable on 7.4 deps normal
65-
- symfony-require: "4.4.*"
44+
# Test against latest Symfony 5.4 stable on 8.0 deps normal
45+
- symfony-require: "5.4.*"
6646
php-version: "8.0"
6747
deps: "normal"
68-
69-
# Test against latest Symfony 5.1 stable on 7.3
70-
- symfony-require: "5.1.*"
71-
php-version: "7.3"
72-
deps: "dev"
73-
74-
# Test against latest Symfony 5.1 stable on 7.3 deps low
75-
- symfony-require: "5.1.*"
76-
php-version: "7.3"
77-
deps: "low"
78-
79-
# Test against latest Symfony 5.1 stable on 7.3 deps normal
80-
- symfony-require: "5.1.*"
81-
php-version: "7.3"
82-
deps: "normal"
8348

84-
# Test against latest Symfony 5.1 stable on 7.4
85-
- symfony-require: "5.1.*"
86-
php-version: "7.4"
49+
# Test against latest Symfony 5.4 stable on 8.1
50+
- symfony-require: "5.4.*"
51+
php-version: "8.1"
8752
deps: "dev"
8853

89-
# Test against latest Symfony 5.1 stable on 7.4 deps low
90-
- symfony-require: "5.1.*"
91-
php-version: "7.4"
92-
deps: "low"
93-
94-
# Test against latest Symfony 5.1 stable on 7.4 deps normal
95-
- symfony-require: "5.1.*"
96-
php-version: "7.4"
54+
# Test against latest Symfony 5.4 stable on 8.1 deps normal
55+
- symfony-require: "5.4.*"
56+
php-version: "8.1"
9757
deps: "normal"
9858

99-
# Test against latest Symfony 5.1 stable on 8.0
100-
- symfony-require: "5.1.*"
59+
# Test against latest Symfony 6.0 stable on 8.0
60+
- symfony-require: "6.0.*"
10161
php-version: "8.0"
10262
deps: "dev"
10363

104-
# Test against latest Symfony 5.1 stable on 7.4 deps normal
105-
- symfony-require: "5.1.*"
64+
# Test against latest Symfony 6.0 stable on 8.0 deps normal
65+
- symfony-require: "6.0.*"
10666
php-version: "8.0"
107-
deps: "normal"
108-
109-
# Test against latest Symfony 5.2 stable on 7.3
110-
- symfony-require: "5.2.*"
111-
php-version: "7.3"
112-
deps: "dev"
113-
114-
# Test against latest Symfony 5.2 stable on 7.3 deps low
115-
- symfony-require: "5.2.*"
116-
php-version: "7.3"
117-
deps: "low"
118-
119-
# Test against latest Symfony 5.2 stable on 7.3 deps normal
120-
- symfony-require: "5.2.*"
121-
php-version: "7.3"
12267
deps: "normal"
12368

124-
# Test against latest Symfony 5.2 stable on 7.4
125-
- symfony-require: "5.2.*"
126-
php-version: "7.4"
69+
# Test against latest Symfony 6.0 stable on 8.1
70+
- symfony-require: "6.0.*"
71+
php-version: "8.1"
12772
deps: "dev"
12873

129-
# Test against latest Symfony 5.2 stable on 7.4 deps low
130-
- symfony-require: "5.2.*"
131-
php-version: "7.4"
132-
deps: "low"
133-
134-
# Test against latest Symfony 5.2 stable on 7.4 deps normal
135-
- symfony-require: "5.2.*"
136-
php-version: "7.4"
74+
# Test against latest Symfony 6.0 stable on 8.1 deps normal
75+
- symfony-require: "6.0.*"
76+
php-version: "8.1"
13777
deps: "normal"
13878

139-
# Test against latest Symfony 5.2 stable on 8.0
140-
- symfony-require: "5.2.*"
141-
php-version: "8.0"
79+
# Test against latest Symfony 6.1 stable on 8.1
80+
- symfony-require: "6.1.*"
81+
php-version: "8.1"
14282
deps: "dev"
14383

144-
# Test against latest Symfony 5.2 stable on 7.4 deps normal
145-
- symfony-require: "5.2.*"
146-
php-version: "8.0"
84+
# Test against latest Symfony 6.1 stable on 8.1 deps normal
85+
- symfony-require: "6.1.*"
86+
php-version: "8.1"
14787
deps: "normal"
14888

149-
# Test against latest Symfony 5.3 dev on 7.3
150-
- symfony-require: "5.3.*"
151-
php-version: "7.3"
152-
deps: "dev"
153-
154-
# Test against latest Symfony 5.3 dev on 7.4
155-
- symfony-require: "5.3.*"
156-
php-version: "7.4"
157-
deps: "dev"
158-
159-
# Test against latest Symfony 5.3 dev on 8.0
160-
- symfony-require: "5.3.*"
161-
php-version: "8.0"
162-
deps: "dev"
163-
164-
# Test bleeding edge
165-
- php-version: "8.0"
166-
deps: "dev"
167-
symfony-deprecations-helper: "weak"
168-
16989
steps:
17090
- name: "Checkout"
171-
uses: "actions/checkout@v2"
91+
uses: "actions/checkout@v3"
17292
with:
17393
fetch-depth: 2
17494

@@ -179,7 +99,7 @@ jobs:
17999
coverage: "pcov"
180100

181101
- name: "Cache dependencies installed with composer"
182-
uses: "actions/cache@v2"
102+
uses: "actions/cache@v3"
183103
with:
184104
path: "~/.composer/cache"
185105
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
@@ -205,7 +125,7 @@ jobs:
205125
with:
206126
name: "phpunit-${{ matrix.php-version }}-${{ matrix.deps }}-${{ hashFiles('composer.lock') }}.coverage"
207127
path: "coverage.xml"
208-
128+
209129
- uses: codecov/codecov-action@v1
210130
with:
211131
verbose: true

ClientConfiguration.php

+2-8
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,8 @@ class ClientConfiguration extends ParameterBag implements ConfigurationInterface
2020
{
2121
/**
2222
* ClientConfiguration constructor.
23-
* @param ApiToken $apiToken
24-
* @param EventDispatcherInterface $eventDispatcher
25-
* @param ClientInterface $client
26-
* @param RequestFactoryInterface $requestFactory
27-
* @param ResponseFactoryInterface $responseFactory
28-
* @param StreamFactoryInterface $streamFactory
29-
* @param UriFactoryInterface $uriFactory
30-
* @param array $options
23+
*
24+
* @param array<string, mixed> $options
3125
*/
3226
public function __construct(
3327
ApiToken $apiToken,

DependencyInjection/CompilerPass/ConfigurationPass.php

+5-22
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,13 @@
1414

1515
class ConfigurationPass implements CompilerPassInterface
1616
{
17-
/**
18-
* @param ContainerBuilder $container
19-
*
20-
* @return void
21-
*/
22-
public function process(ContainerBuilder $container)
17+
public function process(ContainerBuilder $container): void
2318
{
19+
/** @var array<string, mixed> $parameters */
2420
$parameters = $container->getParameter('tmdb.options');
2521
$configDefinition = $container->getDefinition(ClientConfiguration::class);
2622

27-
// By default the first argument is always referenced to the ApiToken.
23+
// By default, the first argument is always referenced to the ApiToken.
2824
if (null !== $bearerToken = $parameters['options']['bearer_token']) {
2925
$configDefinition->replaceArgument(0, new Reference(BearerToken::class));
3026
}
@@ -34,11 +30,7 @@ public function process(ContainerBuilder $container)
3430
}
3531

3632
/**
37-
* @param ContainerBuilder $container
38-
* @param Definition $configDefinition
39-
* @param array $parameters
40-
*
41-
* @return void
33+
* @param array<string, mixed> $parameters
4234
*/
4335
private function setupEventDispatcher(
4436
ContainerBuilder $container,
@@ -58,11 +50,7 @@ private function setupEventDispatcher(
5850
}
5951

6052
/**
61-
* @param ContainerBuilder $container
62-
* @param Definition $configDefinition
63-
* @param array $parameters
64-
*
65-
* @return void
53+
* @param array<string, mixed> $parameters
6654
*/
6755
private function setupHttpClient(
6856
ContainerBuilder $container,
@@ -122,11 +110,6 @@ private function setupHttpClient(
122110
}
123111

124112
/**
125-
* @param ContainerBuilder $container
126-
* @param string $alias
127-
* @param string $tag
128-
* @param string $configurationPath
129-
* @return void
130113
* @throws \RuntimeException
131114
*/
132115
protected function tryToAliasAutowiredInterfacesIfPossible(

DependencyInjection/CompilerPass/EventDispatchingPass.php

+8-35
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,9 @@
3030
*/
3131
class EventDispatchingPass implements CompilerPassInterface
3232
{
33-
/**
34-
* @param ContainerBuilder $container
35-
*
36-
* @return void
37-
*/
38-
public function process(ContainerBuilder $container)
33+
public function process(ContainerBuilder $container): void
3934
{
35+
/** @var array<string, mixed> $parameters */
4036
$parameters = $container->getParameter('tmdb.options');
4137
$clientOptions = $parameters['options'];
4238

@@ -54,11 +50,7 @@ public function process(ContainerBuilder $container)
5450
}
5551

5652
/**
57-
* @param ContainerBuilder $container
58-
* @param Definition $eventDispatcher
59-
* @param array $parameters
60-
*
61-
* @return void
53+
* @param array<string, mixed> $parameters
6254
*/
6355
private function handleSymfonyEventDispatcherRegistration(
6456
ContainerBuilder $container,
@@ -123,9 +115,7 @@ private function handleSymfonyEventDispatcherRegistration(
123115
}
124116

125117
/**
126-
* @param ContainerBuilder $container
127-
* @param array $parameters
128-
* @return Definition
118+
* @param array<string, mixed> $parameters
129119
*/
130120
private function getRequestListener(
131121
ContainerBuilder $container,
@@ -139,9 +129,7 @@ private function getRequestListener(
139129
}
140130

141131
/**
142-
* @param ContainerBuilder $container
143-
* @param array $parameters
144-
* @return Definition
132+
* @param array<string, mixed> $parameters
145133
*/
146134
private function getPsr6CacheRequestListener(
147135
ContainerBuilder $container,
@@ -154,21 +142,15 @@ private function getPsr6CacheRequestListener(
154142
}
155143

156144
/**
157-
* @param string $event
158-
* @param string $listener
159-
* @param Definition $eventDispatcher
160-
* @param ContainerBuilder $container
161-
* @param array $parameters
162-
*
163-
* @return void
145+
* @param array<string, mixed> $parameters
164146
*/
165147
private function handleLogging(
166148
string $event,
167149
string $listener,
168150
Definition $eventDispatcher,
169151
ContainerBuilder $container,
170152
array $parameters
171-
) {
153+
): void {
172154
$options = $parameters[$listener];
173155
$configEntry = sprintf('tmdb_symfony.log.%s', $listener);
174156

@@ -231,11 +213,7 @@ private function handleLogging(
231213
/**
232214
* Register listeners for logging.
233215
*
234-
* @param ContainerBuilder $container
235-
* @param Definition $eventDispatcher
236-
* @param array $parameters
237-
*
238-
* @return void
216+
* @param array<string, mixed> $parameters
239217
*/
240218
private function handleLoggerListeners(ContainerBuilder $container, Definition $eventDispatcher, array $parameters): void
241219
{
@@ -258,11 +236,6 @@ private function handleLoggerListeners(ContainerBuilder $container, Definition $
258236
}
259237
}
260238

261-
/**
262-
* @param Definition $eventDispatcher
263-
* @param string $event
264-
* @param string $reference
265-
*/
266239
private function registerEventListener(
267240
Definition $eventDispatcher,
268241
string $event,

0 commit comments

Comments
 (0)