From fbc5c78aaaa007aa837f42dd41effb57c1a8cfc3 Mon Sep 17 00:00:00 2001 From: Dmytro Klyman Date: Thu, 30 Nov 2023 12:12:42 +0100 Subject: [PATCH 1/9] SDK-5621: Add integrator cleaner --- .../Module/ModuleManifestExecutor.php | 22 +++++++- .../ModuleManifestExecutorInterface.php | 7 +++ src/IntegratorFacade.php | 12 ++++ src/IntegratorFacadeInterface.php | 7 +++ src/IntegratorFactory.php | 11 ++++ src/IntegratorLock/IntegratorLockCleaner.php | 43 +++++++++++++++ .../IntegratorLockCleanerInterface.php | 18 ++++++ src/IntegratorLock/IntegratorLockWriter.php | 6 +- .../Composer/ComposerLockReaderTest.php | 4 +- .../ConfigReader/ConfigReaderTest.php | 2 +- .../IntegratorLock/IntegratorLockTest.php | 55 +++++++++++++++---- 11 files changed, 167 insertions(+), 20 deletions(-) create mode 100644 src/IntegratorLock/IntegratorLockCleaner.php create mode 100644 src/IntegratorLock/IntegratorLockCleanerInterface.php diff --git a/src/Executor/Module/ModuleManifestExecutor.php b/src/Executor/Module/ModuleManifestExecutor.php index 9fe9edd1..65b5ca21 100644 --- a/src/Executor/Module/ModuleManifestExecutor.php +++ b/src/Executor/Module/ModuleManifestExecutor.php @@ -13,6 +13,7 @@ use SprykerSdk\Integrator\Dependency\Console\InputOutputInterface; use SprykerSdk\Integrator\Executor\ManifestExecutorInterface; use SprykerSdk\Integrator\Filter\ManifestsFiltersExecutorInterface; +use SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleanerInterface; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockReaderInterface; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockWriterInterface; use SprykerSdk\Integrator\Manifest\RepositoryManifestReaderInterface; @@ -50,9 +51,15 @@ class ModuleManifestExecutor implements ModuleManifestExecutorInterface */ private IntegratorLockReaderInterface $integratorLockReader; + /** + * @var \SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleanerInterface + */ + private IntegratorLockCleanerInterface $integratorLockCleaner; + /** * @param \SprykerSdk\Integrator\IntegratorLock\IntegratorLockReaderInterface $integratorLockReader * @param \SprykerSdk\Integrator\IntegratorLock\IntegratorLockWriterInterface $integratorLockWriter + * @param \SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleanerInterface $integratorLockCleaner * @param \SprykerSdk\Integrator\Manifest\RepositoryManifestReaderInterface $manifestReader * @param \SprykerSdk\Integrator\Executor\ManifestExecutorInterface $manifestExecutor * @param \SprykerSdk\Integrator\Composer\ComposerLockReaderInterface $composerLockReader @@ -61,15 +68,17 @@ class ModuleManifestExecutor implements ModuleManifestExecutorInterface public function __construct( IntegratorLockReaderInterface $integratorLockReader, IntegratorLockWriterInterface $integratorLockWriter, + IntegratorLockCleanerInterface $integratorLockCleaner, RepositoryManifestReaderInterface $manifestReader, ManifestExecutorInterface $manifestExecutor, ComposerLockReaderInterface $composerLockReader, ManifestsFiltersExecutorInterface $manifestsFiltersExecutor ) { $this->integratorLockReader = $integratorLockReader; - $this->manifestExecutor = $manifestExecutor; $this->integratorLockWriter = $integratorLockWriter; + $this->integratorLockCleaner = $integratorLockCleaner; $this->manifestReader = $manifestReader; + $this->manifestExecutor = $manifestExecutor; $this->composerLockReader = $composerLockReader; $this->manifestsFiltersExecutor = $manifestsFiltersExecutor; } @@ -111,4 +120,15 @@ public function runUpdateLock( $this->integratorLockWriter->storeLock($moduleVersions); $input->write('The integration lock file has been updated according to the project state.', true); } + + /** + * @param \SprykerSdk\Integrator\Dependency\Console\InputOutputInterface $input + * + * @return void + */ + public function runCleanLock(InputOutputInterface $input): void + { + $this->integratorLockCleaner->deleteLock(); + $input->write('The integration lock file has been removed.', true); + } } diff --git a/src/Executor/Module/ModuleManifestExecutorInterface.php b/src/Executor/Module/ModuleManifestExecutorInterface.php index 1fe93e0d..5671f152 100644 --- a/src/Executor/Module/ModuleManifestExecutorInterface.php +++ b/src/Executor/Module/ModuleManifestExecutorInterface.php @@ -35,4 +35,11 @@ public function runUpdateLock( InputOutputInterface $input, IntegratorCommandArgumentsTransfer $commandArgumentsTransfer ): void; + + /** + * @param \SprykerSdk\Integrator\Dependency\Console\InputOutputInterface $input + * + * @return void + */ + public function runCleanLock(InputOutputInterface $input): void; } diff --git a/src/IntegratorFacade.php b/src/IntegratorFacade.php index 9017d8dc..0760b7b5 100644 --- a/src/IntegratorFacade.php +++ b/src/IntegratorFacade.php @@ -46,6 +46,18 @@ public function runUpdateLock( ->runUpdateLock($input, $commandArgumentsTransfer); } + /** + * @param \SprykerSdk\Integrator\Dependency\Console\InputOutputInterface $input + * + * @return void + */ + public function runCleanLock(InputOutputInterface $input): void + { + $this->getFactory() + ->createModuleManifestExecutor() + ->runCleanLock($input); + } + /** * @param \SprykerSdk\Integrator\Transfer\IntegratorCommandArgumentsTransfer $commandArgumentsTransfer * @param \SprykerSdk\Integrator\Dependency\Console\InputOutputInterface $input diff --git a/src/IntegratorFacadeInterface.php b/src/IntegratorFacadeInterface.php index 32e9ded1..2104ade4 100644 --- a/src/IntegratorFacadeInterface.php +++ b/src/IntegratorFacadeInterface.php @@ -36,6 +36,13 @@ public function runUpdateLock( IntegratorCommandArgumentsTransfer $commandArgumentsTransfer ): void; + /** + * @param \SprykerSdk\Integrator\Dependency\Console\InputOutputInterface $input + * + * @return void + */ + public function runCleanLock(InputOutputInterface $input): void; + /** * @param \SprykerSdk\Integrator\Transfer\IntegratorCommandArgumentsTransfer $commandArgumentsTransfer * @param \SprykerSdk\Integrator\Dependency\Console\InputOutputInterface $input diff --git a/src/IntegratorFactory.php b/src/IntegratorFactory.php index 7bc12dbb..18fa25a6 100644 --- a/src/IntegratorFactory.php +++ b/src/IntegratorFactory.php @@ -136,6 +136,8 @@ use SprykerSdk\Integrator\Filter\RatingBasedManifestFilter\RatingBasedManifestsFilter; use SprykerSdk\Integrator\Helper\ClassHelper; use SprykerSdk\Integrator\Helper\ClassHelperInterface; +use SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleaner; +use SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleanerInterface; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockReader; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockReaderInterface; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockWriter; @@ -184,6 +186,7 @@ public function createModuleManifestExecutor(): ModuleManifestExecutorInterface return new ModuleManifestExecutor( $this->createIntegratorLockReader(), $this->createIntegratorLockWriter(), + $this->createIntegratorLockCleaner(), $this->createRepositoryManifestReader(), $this->createManifestExecutor(), $this->createComposerLockReader(), @@ -241,6 +244,14 @@ public function createIntegratorLockWriter(): IntegratorLockWriterInterface return new IntegratorLockWriter($this->getConfig()); } + /** + * @return \SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleanerInterface + */ + public function createIntegratorLockCleaner(): IntegratorLockCleanerInterface + { + return new IntegratorLockCleaner($this->getConfig()); + } + /** * @return \SprykerSdk\Integrator\Composer\ComposerLockReaderInterface */ diff --git a/src/IntegratorLock/IntegratorLockCleaner.php b/src/IntegratorLock/IntegratorLockCleaner.php new file mode 100644 index 00000000..44b5364a --- /dev/null +++ b/src/IntegratorLock/IntegratorLockCleaner.php @@ -0,0 +1,43 @@ +config = $config; + } + + /** + * @return int + */ + public function deleteLock(): int + { + $lockFilePath = $this->config->getIntegratorLockFilePath(); + + try { + return unlink($lockFilePath) === false ? 1 : 0; + } catch (Throwable $exception) { + return 1; + } + } +} diff --git a/src/IntegratorLock/IntegratorLockCleanerInterface.php b/src/IntegratorLock/IntegratorLockCleanerInterface.php new file mode 100644 index 00000000..269c4b7f --- /dev/null +++ b/src/IntegratorLock/IntegratorLockCleanerInterface.php @@ -0,0 +1,18 @@ +createComposerLockReadr(); + $composerLockReader = $this->createComposerLockReader(); $this->assertCount(4, $composerLockReader->getModuleVersions()); $this->assertArrayHasKey(static::DEFAULT_PACKAGE_NAME, $composerLockReader->getModuleVersions()); @@ -34,7 +34,7 @@ public function testGetModuleVersions(): void /** * @return \SprykerSdk\Integrator\Composer\ComposerLockReader */ - private function createComposerLockReadr(): ComposerLockReader + private function createComposerLockReader(): ComposerLockReader { $integratorConfigMock = $this->createMock(IntegratorConfig::class); $integratorConfigMock->method('getComposerLockFilePath')->willReturn('./tests/_data/composer/composer.lock'); diff --git a/tests/SprykerSdkTest/Integrator/ConfigReader/ConfigReaderTest.php b/tests/SprykerSdkTest/Integrator/ConfigReader/ConfigReaderTest.php index 38b79823..b034e780 100644 --- a/tests/SprykerSdkTest/Integrator/ConfigReader/ConfigReaderTest.php +++ b/tests/SprykerSdkTest/Integrator/ConfigReader/ConfigReaderTest.php @@ -21,7 +21,7 @@ class ConfigReaderTest extends BaseTestCase public function testReadShouldReturnParsedValues(): void { // Arrange - $configFilePath = './tests/_data/project_config/config_default.php'; + $configFilePath = ROOT_TESTS . '/_data/project_config/config_default.php'; $configReader = new ConfigReader(new ParserFactory()); $configKeys = ['KernelConstants::PROJECT_NAMESPACES', 'KernelConstants::CORE_NAMESPACES']; diff --git a/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php b/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php index 6f53544c..34d7462c 100644 --- a/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php +++ b/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php @@ -9,7 +9,9 @@ namespace SprykerSdkTest\Integrator\IntegratorLock; +use PHPUnit\Framework\MockObject\MockObject; use SprykerSdk\Integrator\IntegratorConfig; +use SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleaner; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockReader; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockWriter; use SprykerSdkTest\Integrator\BaseTestCase; @@ -21,7 +23,7 @@ class IntegratorLockTest extends BaseTestCase */ public function testWriteFileLock(): void { - $compareFilePath = './tests/_data/composer/spryker_lock_test_write_lock.json'; + $compareFilePath = ROOT_TESTS . '/_data/composer/spryker_lock_test_write_lock.json'; $lockData = [ 'Spryker.Test' => [ 'wire-plugin' => [ @@ -51,7 +53,7 @@ public function testWriteFileLock(): void public function testReadFileLock(): void { $tmpIntegratorLockFilePath = tempnam(sys_get_temp_dir(), 'integrator.lock.'); - $compareFilePath = './tests/_data/composer/spryker_lock_test_write_lock.json'; + $compareFilePath = ROOT_TESTS . '/_data/composer/spryker_lock_test_write_lock.json'; file_put_contents($tmpIntegratorLockFilePath, file_get_contents($compareFilePath)); @@ -64,6 +66,22 @@ public function testReadFileLock(): void $this->removeFile($tmpIntegratorLockFilePath); } + /** + * @return void + */ + public function testDeleteFileLock(): void + { + $tmpIntegratorLockFilePath = tempnam(sys_get_temp_dir(), 'integrator.lock.'); + $compareFilePath = ROOT_TESTS . '/_data/composer/spryker_lock_test_write_lock.json'; + + file_put_contents($tmpIntegratorLockFilePath, file_get_contents($compareFilePath)); + + $integratorLockCleaner = $this->createIntegratorLockCleaner($tmpIntegratorLockFilePath); + $integratorLockCleaner->deleteLock(); + + $this->assertFileDoesNotExist($tmpIntegratorLockFilePath); + } + /** * @param string $tmpIntegratorLockFilePath * @@ -71,12 +89,7 @@ public function testReadFileLock(): void */ private function createIntegratorLockWriter(string $tmpIntegratorLockFilePath): IntegratorLockWriter { - $integrotorConfigMock = $this->createMock(IntegratorConfig::class); - - $integrotorConfigMock->method('getIntegratorLockFilePath') - ->willReturn($tmpIntegratorLockFilePath); - - return new IntegratorLockWriter($integrotorConfigMock); + return new IntegratorLockWriter($this->mockIntegratorConfig($tmpIntegratorLockFilePath)); } /** @@ -86,12 +99,32 @@ private function createIntegratorLockWriter(string $tmpIntegratorLockFilePath): */ private function createIntegratorLockReader(string $tmpIntegratorLockFilePath): IntegratorLockReader { - $integrotorConfigMock = $this->createMock(IntegratorConfig::class); + return new IntegratorLockReader($this->mockIntegratorConfig($tmpIntegratorLockFilePath)); + } + + /** + * @param string $tmpIntegratorLockFilePath + * + * @return \SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleaner + */ + private function createIntegratorLockCleaner(string $tmpIntegratorLockFilePath): IntegratorLockCleaner + { + return new IntegratorLockCleaner($this->mockIntegratorConfig($tmpIntegratorLockFilePath)); + } + + /** + * @param string $tmpIntegratorLockFilePath + * + * @return \SprykerSdk\Integrator\IntegratorConfig + */ + private function mockIntegratorConfig(string $tmpIntegratorLockFilePath): IntegratorConfig + { + $integratorConfigMock = $this->createMock(IntegratorConfig::class); - $integrotorConfigMock->method('getIntegratorLockFilePath') + $integratorConfigMock->method('getIntegratorLockFilePath') ->willReturn($tmpIntegratorLockFilePath); - return new IntegratorLockReader($integrotorConfigMock); + return $integratorConfigMock; } /** From 6bbf9c80cced6770b13a90ecb9cda714244a7ebc Mon Sep 17 00:00:00 2001 From: Dmytro Klyman Date: Thu, 30 Nov 2023 12:20:57 +0100 Subject: [PATCH 2/9] SDK-5621: Fix the code styles --- src/IntegratorLock/IntegratorLockWriter.php | 1 + .../Integrator/IntegratorLock/IntegratorLockTest.php | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/IntegratorLock/IntegratorLockWriter.php b/src/IntegratorLock/IntegratorLockWriter.php index 3fd858d9..73121082 100644 --- a/src/IntegratorLock/IntegratorLockWriter.php +++ b/src/IntegratorLock/IntegratorLockWriter.php @@ -46,6 +46,7 @@ public function storeLock(array $lockData): int } $json = preg_replace(static::REPLACE_4_WITH_2_SPACES, '$1', $json) . PHP_EOL; + return file_put_contents($lockFilePath, $json) === false ? 1 : 0; } } diff --git a/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php b/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php index 34d7462c..54c56b12 100644 --- a/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php +++ b/tests/SprykerSdkTest/Integrator/IntegratorLock/IntegratorLockTest.php @@ -9,7 +9,6 @@ namespace SprykerSdkTest\Integrator\IntegratorLock; -use PHPUnit\Framework\MockObject\MockObject; use SprykerSdk\Integrator\IntegratorConfig; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockCleaner; use SprykerSdk\Integrator\IntegratorLock\IntegratorLockReader; From 4bf4ecea34e7e4b05f4f53efb0b87a4aec34a215 Mon Sep 17 00:00:00 2001 From: Dmytro Klyman Date: Thu, 30 Nov 2023 13:19:18 +0100 Subject: [PATCH 3/9] SDK-5621: Extend tests --- .../Integrator/IntegratorFacadeTest.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php b/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php index 494918dd..3fecce4b 100644 --- a/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php +++ b/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php @@ -561,4 +561,20 @@ public function testRunUpdateLock(): void $this->assertNotEmpty(trim(file_get_contents($integratorLock))); } + + /** + * @return void + */ + public function testRunCleanLock(): void + { + // Arrange + $ioAdapter = $this->buildSymfonyConsoleInputOutputAdapter(); + + // Act + $this->createIntegratorFacade()->runCleanLock($ioAdapter); + + // Assert + $integratorLock = $this->getTestTmpDirPath() . '/integrator.lock'; + $this->assertFileDoesNotExist($integratorLock); + } } From 3817bb601e3a6a578fc9006aa5c52e5e6e91c1d0 Mon Sep 17 00:00:00 2001 From: Dmytro Klyman Date: Thu, 30 Nov 2023 13:23:18 +0100 Subject: [PATCH 4/9] SDK-5621: Clean code --- src/IntegratorLock/IntegratorLockCleaner.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/IntegratorLock/IntegratorLockCleaner.php b/src/IntegratorLock/IntegratorLockCleaner.php index 44b5364a..a410e57f 100644 --- a/src/IntegratorLock/IntegratorLockCleaner.php +++ b/src/IntegratorLock/IntegratorLockCleaner.php @@ -34,10 +34,6 @@ public function deleteLock(): int { $lockFilePath = $this->config->getIntegratorLockFilePath(); - try { - return unlink($lockFilePath) === false ? 1 : 0; - } catch (Throwable $exception) { - return 1; - } + return unlink($lockFilePath) === false ? 1 : 0; } } From 5946be406fda1903be9aa52201248db537896f34 Mon Sep 17 00:00:00 2001 From: Dmytro Klyman Date: Thu, 30 Nov 2023 13:23:48 +0100 Subject: [PATCH 5/9] SDK-5621: Clean code --- src/IntegratorLock/IntegratorLockCleaner.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/IntegratorLock/IntegratorLockCleaner.php b/src/IntegratorLock/IntegratorLockCleaner.php index a410e57f..655ccffe 100644 --- a/src/IntegratorLock/IntegratorLockCleaner.php +++ b/src/IntegratorLock/IntegratorLockCleaner.php @@ -10,7 +10,6 @@ namespace SprykerSdk\Integrator\IntegratorLock; use SprykerSdk\Integrator\IntegratorConfig; -use Throwable; class IntegratorLockCleaner implements IntegratorLockCleanerInterface { From 2ce81bc20b033a35a0ab8dc9eefae4518c7f0774 Mon Sep 17 00:00:00 2001 From: Dmytro Klyman Date: Thu, 30 Nov 2023 13:33:37 +0100 Subject: [PATCH 6/9] SDK-5621: Fix test --- tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php b/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php index 3fecce4b..01506368 100644 --- a/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php +++ b/tests/SprykerSdkTest/Integrator/IntegratorFacadeTest.php @@ -570,6 +570,8 @@ public function testRunCleanLock(): void // Arrange $ioAdapter = $this->buildSymfonyConsoleInputOutputAdapter(); + file_put_contents($this->getTestTmpDirPath() . '/integrator.lock', 'test'); + // Act $this->createIntegratorFacade()->runCleanLock($ioAdapter); From 4d8f0d269c7f667643b10cc7ddb4eb88fd55d08e Mon Sep 17 00:00:00 2001 From: Pavel Maksimov <82393959+pavelmaksimov25@users.noreply.github.com> Date: Fri, 1 Dec 2023 12:40:13 +0100 Subject: [PATCH 7/9] Return type fix. --- composer.json | 2 +- src/IntegratorLock/IntegratorLockCleaner.php | 8 ++++---- src/IntegratorLock/IntegratorLockCleanerInterface.php | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/composer.json b/composer.json index fd732a9f..dc940325 100644 --- a/composer.json +++ b/composer.json @@ -6,8 +6,8 @@ "require": { "php": ">=7.4", "ext-dom": "*", - "ext-simplexml": "*", "ext-json": "*", + "ext-sexitimplexml": "*", "composer-plugin-api": "^1.0.0 || ^2.0.0", "aws/aws-sdk-php": "^3.257", "composer/composer": "^2.1.0", diff --git a/src/IntegratorLock/IntegratorLockCleaner.php b/src/IntegratorLock/IntegratorLockCleaner.php index 655ccffe..9f94e362 100644 --- a/src/IntegratorLock/IntegratorLockCleaner.php +++ b/src/IntegratorLock/IntegratorLockCleaner.php @@ -16,7 +16,7 @@ class IntegratorLockCleaner implements IntegratorLockCleanerInterface /** * @var \SprykerSdk\Integrator\IntegratorConfig */ - protected $config; + protected IntegratorConfig $config; /** * @param \SprykerSdk\Integrator\IntegratorConfig $config @@ -27,12 +27,12 @@ public function __construct(IntegratorConfig $config) } /** - * @return int + * @return void */ - public function deleteLock(): int + public function deleteLock(): void { $lockFilePath = $this->config->getIntegratorLockFilePath(); - return unlink($lockFilePath) === false ? 1 : 0; + unlink($lockFilePath); } } diff --git a/src/IntegratorLock/IntegratorLockCleanerInterface.php b/src/IntegratorLock/IntegratorLockCleanerInterface.php index 269c4b7f..044d61e9 100644 --- a/src/IntegratorLock/IntegratorLockCleanerInterface.php +++ b/src/IntegratorLock/IntegratorLockCleanerInterface.php @@ -12,7 +12,7 @@ interface IntegratorLockCleanerInterface { /** - * @return int + * @return void */ - public function deleteLock(): int; + public function deleteLock(): void; } From 7bbcae6f06c934ceb5e18c12a78d7b9b0fecdf6b Mon Sep 17 00:00:00 2001 From: Pavel Maksimov <82393959+pavelmaksimov25@users.noreply.github.com> Date: Fri, 1 Dec 2023 12:46:00 +0100 Subject: [PATCH 8/9] Fixed php ext. typo in composer.json files --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index dc940325..a0b111bc 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "php": ">=7.4", "ext-dom": "*", "ext-json": "*", - "ext-sexitimplexml": "*", + "ext-simplexml": "*", "composer-plugin-api": "^1.0.0 || ^2.0.0", "aws/aws-sdk-php": "^3.257", "composer/composer": "^2.1.0", From f20bc4db0381f4213b66444697733e7af801c1e4 Mon Sep 17 00:00:00 2001 From: Pavel Maksimov <82393959+pavelmaksimov25@users.noreply.github.com> Date: Fri, 1 Dec 2023 14:18:45 +0100 Subject: [PATCH 9/9] SDK-5357: Added `intergator.lock` file remove action. --- src/Console/IntegratorLockUpdaterConsole.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Console/IntegratorLockUpdaterConsole.php b/src/Console/IntegratorLockUpdaterConsole.php index 422997a7..1030008e 100644 --- a/src/Console/IntegratorLockUpdaterConsole.php +++ b/src/Console/IntegratorLockUpdaterConsole.php @@ -45,6 +45,9 @@ protected function execute(InputInterface $input, OutputInterface $output): int $commandArgumentsTransfer, ); + $this->getFacade() + ->runCleanLock($io); + return 0; } }