Skip to content

Commit 8860676

Browse files
committed
Add Symfony 7.3 support
1 parent 9e6738b commit 8860676

10 files changed

+37
-62
lines changed

.github/workflows/pre-release-tests.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,24 @@ jobs:
4040
strategy:
4141
matrix:
4242
php-version: ['7.4', '8.1', '8.2', '8.3', '8.4']
43-
sf-version: ['5.4', '6.4', '7.0', '7.1', '7.2']
43+
sf-version: ['5.4', '6.4', '7.0', '7.1', '7.2', '7.3']
4444
exclude:
4545
- php-version: '7.4'
4646
sf-version: '6.4'
4747
- php-version: '7.4'
4848
sf-version: '7.0'
4949
- php-version: '7.4'
5050
sf-version: '7.1'
51+
- php-version: '7.4'
52+
sf-version: '7.3'
5153
- php-version: '8.1'
5254
sf-version: '5.4'
5355
- php-version: '8.1'
5456
sf-version: '7.0'
5557
- php-version: '8.1'
5658
sf-version: '7.1'
59+
- php-version: '8.1'
60+
sf-version: '7.3'
5761
- php-version: '8.2'
5862
sf-version: '5.4'
5963
- php-version: '8.3'

.github/workflows/tests.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,24 @@ jobs:
2929
strategy:
3030
matrix:
3131
php-version: ['7.4', '8.1', '8.2', '8.3', '8.4']
32-
sf-version: ['5.4', '6.4', '7.0', '7.1', '7.2']
32+
sf-version: ['5.4', '6.4', '7.0', '7.1', '7.2', '7.3']
3333
exclude:
3434
- php-version: '7.4'
3535
sf-version: '6.4'
3636
- php-version: '7.4'
3737
sf-version: '7.0'
3838
- php-version: '7.4'
3939
sf-version: '7.1'
40+
- php-version: '7.4'
41+
sf-version: '7.3'
4042
- php-version: '8.1'
4143
sf-version: '5.4'
4244
- php-version: '8.1'
4345
sf-version: '7.0'
4446
- php-version: '8.1'
4547
sf-version: '7.1'
48+
- php-version: '8.1'
49+
sf-version: '7.3'
4650
- php-version: '8.2'
4751
sf-version: '5.4'
4852
- php-version: '8.3'
@@ -67,6 +71,10 @@ jobs:
6771
php-version: ${{ matrix.php-version }}
6872
tools: composer, flex
6973

74+
- name: Configure minimum stability
75+
if: matrix.sf-version == '7.3'
76+
run: composer config minimum-stability beta
77+
7078
- name: Validate composer.json and composer.lock
7179
run: composer validate
7280

config/services.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,20 @@
5454

5555
<service id="Meilisearch\Bundle\Command\MeilisearchClearCommand">
5656
<argument type="service" id="meilisearch.service" />
57-
<tag name="console.command" />
57+
<tag name="console.command" command="meilisearch:clear|meili:clear" description="Clear the index documents" />
5858
</service>
5959

6060
<service id="Meilisearch\Bundle\Command\MeilisearchCreateCommand">
6161
<argument type="service" id="meilisearch.service" />
6262
<argument type="service" id="meilisearch.client" />
6363
<argument type="service" id="meilisearch.settings_updater" />
6464
<argument type="service" id="event_dispatcher" />
65-
<tag name="console.command" />
65+
<tag name="console.command" command="meilisearch:create|meili:create" description="Create indexes" />
6666
</service>
6767

6868
<service id="Meilisearch\Bundle\Command\MeilisearchDeleteCommand">
6969
<argument type="service" id="meilisearch.service" />
70-
<tag name="console.command" />
70+
<tag name="console.command" command="meilisearch:delete|meili:delete" description="Delete the indexes" />
7171
</service>
7272

7373
<service id="Meilisearch\Bundle\Command\MeilisearchImportCommand">
@@ -76,14 +76,14 @@
7676
<argument type="service" id="meilisearch.client" />
7777
<argument type="service" id="meilisearch.settings_updater" />
7878
<argument type="service" id="event_dispatcher" />
79-
<tag name="console.command" />
79+
<tag name="console.command" command="meilisearch:import|meili:import" description="Import given entity into search engine" />
8080
</service>
8181

8282
<service id="Meilisearch\Bundle\Command\MeilisearchUpdateSettingsCommand">
8383
<argument type="service" id="meilisearch.service" />
8484
<argument type="service" id="meilisearch.settings_updater" />
8585
<argument type="service" id="event_dispatcher" />
86-
<tag name="console.command" />
86+
<tag name="console.command" command="meilisearch:update-settings" description="Push settings to meilisearch" />
8787
</service>
8888

8989
<service id="Meilisearch\Bundle\Services\UnixTimestampNormalizer">

src/Command/MeilisearchClearCommand.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,17 @@
44

55
namespace Meilisearch\Bundle\Command;
66

7+
use Symfony\Component\Console\Attribute\AsCommand;
78
use Symfony\Component\Console\Input\InputInterface;
89
use Symfony\Component\Console\Input\InputOption;
910
use Symfony\Component\Console\Output\OutputInterface;
1011

12+
#[AsCommand(name: 'meilisearch:clear', description: 'Clear the index documents', aliases: ['meili:clear'])]
1113
final class MeilisearchClearCommand extends IndexCommand
1214
{
13-
public static function getDefaultName(): string
14-
{
15-
return 'meilisearch:clear|meili:clear';
16-
}
17-
18-
public static function getDefaultDescription(): string
19-
{
20-
return 'Clear the index documents';
21-
}
22-
2315
protected function configure(): void
2416
{
2517
$this
26-
->setDescription(self::getDefaultDescription())
2718
->addOption('indices', 'i', InputOption::VALUE_OPTIONAL, 'Comma-separated list of index names');
2819
}
2920

src/Command/MeilisearchCreateCommand.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
use Meilisearch\Bundle\SearchService;
1111
use Meilisearch\Bundle\Services\SettingsUpdater;
1212
use Meilisearch\Client;
13+
use Symfony\Component\Console\Attribute\AsCommand;
1314
use Symfony\Component\Console\Input\InputInterface;
1415
use Symfony\Component\Console\Input\InputOption;
1516
use Symfony\Component\Console\Output\OutputInterface;
1617
use Symfony\Component\Console\Style\SymfonyStyle;
1718
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
1819

20+
#[AsCommand(name: 'meilisearch:create', description: 'Create indexes', aliases: ['meili:create'])]
1921
final class MeilisearchCreateCommand extends IndexCommand
2022
{
2123
private Client $searchClient;
@@ -31,20 +33,9 @@ public function __construct(SearchService $searchService, Client $searchClient,
3133
$this->eventDispatcher = $eventDispatcher;
3234
}
3335

34-
public static function getDefaultName(): string
35-
{
36-
return 'meilisearch:create|meili:create';
37-
}
38-
39-
public static function getDefaultDescription(): string
40-
{
41-
return 'Create indexes';
42-
}
43-
4436
protected function configure(): void
4537
{
4638
$this
47-
->setDescription(self::getDefaultDescription())
4839
->addOption('indices', 'i', InputOption::VALUE_OPTIONAL, 'Comma-separated list of index names')
4940
->addOption(
5041
'update-settings',

src/Command/MeilisearchDeleteCommand.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,17 @@
66

77
use Meilisearch\Bundle\Collection;
88
use Meilisearch\Exceptions\ApiException;
9+
use Symfony\Component\Console\Attribute\AsCommand;
910
use Symfony\Component\Console\Input\InputInterface;
1011
use Symfony\Component\Console\Input\InputOption;
1112
use Symfony\Component\Console\Output\OutputInterface;
1213

14+
#[AsCommand(name: 'meilisearch:delete', description: 'Delete the indexes', aliases: ['meili:delete'])]
1315
final class MeilisearchDeleteCommand extends IndexCommand
1416
{
15-
public static function getDefaultName(): string
16-
{
17-
return 'meilisearch:delete|meili:delete';
18-
}
19-
20-
public static function getDefaultDescription(): string
21-
{
22-
return 'Delete the indexes';
23-
}
24-
2517
protected function configure(): void
2618
{
2719
$this
28-
->setDescription(self::getDefaultDescription())
2920
->addOption('indices', 'i', InputOption::VALUE_OPTIONAL, 'Comma-separated list of index names');
3021
}
3122

src/Command/MeilisearchImportCommand.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@
1313
use Meilisearch\Bundle\Services\SettingsUpdater;
1414
use Meilisearch\Client;
1515
use Meilisearch\Exceptions\TimeOutException;
16+
use Symfony\Component\Console\Attribute\AsCommand;
1617
use Symfony\Component\Console\Input\InputInterface;
1718
use Symfony\Component\Console\Input\InputOption;
1819
use Symfony\Component\Console\Output\OutputInterface;
1920
use Symfony\Component\Console\Style\SymfonyStyle;
2021
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
2122

23+
#[AsCommand(name: 'meilisearch:import', description: 'Import given entity into search engine', aliases: ['meili:import'])]
2224
final class MeilisearchImportCommand extends IndexCommand
2325
{
2426
private const TEMP_INDEX_PREFIX = '_tmp_';
@@ -38,20 +40,9 @@ public function __construct(SearchService $searchService, ManagerRegistry $manag
3840
$this->eventDispatcher = $eventDispatcher;
3941
}
4042

41-
public static function getDefaultName(): string
42-
{
43-
return 'meilisearch:import|meili:import';
44-
}
45-
46-
public static function getDefaultDescription(): string
47-
{
48-
return 'Import given entity into search engine';
49-
}
50-
5143
protected function configure(): void
5244
{
5345
$this
54-
->setDescription(self::getDefaultDescription())
5546
->addOption('indices', 'i', InputOption::VALUE_OPTIONAL, 'Comma-separated list of index names')
5647
->addOption(
5748
'update-settings',

src/Command/MeilisearchUpdateSettingsCommand.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@
99
use Meilisearch\Bundle\Model\Aggregator;
1010
use Meilisearch\Bundle\SearchService;
1111
use Meilisearch\Bundle\Services\SettingsUpdater;
12+
use Symfony\Component\Console\Attribute\AsCommand;
1213
use Symfony\Component\Console\Input\InputInterface;
1314
use Symfony\Component\Console\Input\InputOption;
1415
use Symfony\Component\Console\Output\OutputInterface;
1516
use Symfony\Component\Console\Style\SymfonyStyle;
1617
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
1718

19+
#[AsCommand(name: 'meilisearch:update-settings', description: 'Push settings to meilisearch')]
1820
final class MeilisearchUpdateSettingsCommand extends IndexCommand
1921
{
2022
private SettingsUpdater $settingsUpdater;
@@ -28,20 +30,9 @@ public function __construct(SearchService $searchService, SettingsUpdater $setti
2830
$this->eventDispatcher = $eventDispatcher;
2931
}
3032

31-
public static function getDefaultName(): string
32-
{
33-
return 'meilisearch:update-settings';
34-
}
35-
36-
public static function getDefaultDescription(): string
37-
{
38-
return 'Push settings to meilisearch';
39-
}
40-
4133
protected function configure(): void
4234
{
4335
$this
44-
->setDescription(self::getDefaultDescription())
4536
->addOption('indices', 'i', InputOption::VALUE_OPTIONAL, 'Comma-separated list of index names')
4637
->addOption(
4738
'response-timeout',

tests/Kernel.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,11 @@ protected function configureContainer(ContainerBuilder $container, LoaderInterfa
7070
'php_errors' => ['log' => true],
7171
]);
7272
}
73+
// @phpstan-ignore-next-line
74+
if (Kernel::VERSION_ID >= 70300) {
75+
$container->prependExtensionConfig('framework', [
76+
'property_info' => ['with_constructor_extractor' => false],
77+
]);
78+
}
7379
}
7480
}

tests/baseline-ignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
%Method "ArrayAccess::offsetGet\(\)" might add "mixed" as a native return type declaration in the future. Do the same in implementation "Meilisearch\\Contracts\\Data" now to avoid errors or add an explicit @return annotation to suppress this message.%
2+
%Since symfony/var-exporter 7.3: The "Symfony\\Component\\VarExporter\\LazyGhostTrait" trait is deprecated, use native lazy objects instead.%
3+
%Since symfony/var-exporter 7.3: Using ProxyHelper::generateLazyGhost\(\) is deprecated, use native lazy objects instead.%

0 commit comments

Comments
 (0)