From d47885a4450f81ce6370c72bad872f797caf9989 Mon Sep 17 00:00:00 2001 From: Daniel Seifert <ds@shopmodule.com> Date: Tue, 21 Sep 2021 11:18:02 +0200 Subject: [PATCH] make compatible to Composer 2 --- composer.json | 2 +- src/Translatable.php | 2 +- src/Wplang.php | 15 ++++++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 2e7bfe4..1c2c508 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ } ], "require": { - "composer-plugin-api": "^1.0" + "composer-plugin-api": "^2.0" }, "autoload": { "psr-4": { diff --git a/src/Translatable.php b/src/Translatable.php index 6649fe6..855dfb8 100644 --- a/src/Translatable.php +++ b/src/Translatable.php @@ -60,7 +60,7 @@ class Translatable { * @param string $type The package type: 'plugin', 'theme' or 'core'. * @param string $slug The plugin/theme slug, E.g. 'query-monitor'. In case of core, this is 'wordpress'. * @param string $version The package version. - * @param string $languages Array of the languages we are using. + * @param array $languages Array of the languages we are using. * @param string $wpLanguageDir Full path to the language files target directory. */ public function __construct( $type, $slug, $version, $languages, $wpLanguageDir ) { diff --git a/src/Wplang.php b/src/Wplang.php index 31f32b6..2b074c8 100644 --- a/src/Wplang.php +++ b/src/Wplang.php @@ -3,7 +3,7 @@ namespace BJ\Wplang; use Composer\Composer; -use Composer\Script\Event; +use Composer\DependencyResolver\Operation\UpdateOperation; use Composer\EventDispatcher\EventSubscriberInterface; use Composer\IO\IOInterface; use Composer\Plugin\PluginInterface; @@ -50,10 +50,19 @@ class Wplang implements PluginInterface, EventSubscriberInterface { } if ( ! empty( $extra['wordpress-language-dir'] ) ) { - $this->wpLanguageDir = dirname( dirname( dirname( dirname( __DIR__ ) ) ) ) . '/' . $extra['wordpress-language-dir']; + $this->wpLanguageDir = dirname( __DIR__, 4 ) . '/' . $extra['wordpress-language-dir']; } } + public function deactivate(Composer $composer, IOInterface $io) + { + // do nothing + } + + public function uninstall(Composer $composer, IOInterface $io) + { + // do nothing + } /** * Subscribe to Composer events. @@ -77,7 +86,7 @@ class Wplang implements PluginInterface, EventSubscriberInterface { * @param PackageEvent $event The package event object. */ public function onPackageAction( PackageEvent $event ) { - if ( 'update' === $event->getOperation()->getJobType() ) { + if ($event->getOperation() instanceof UpdateOperation) { $package = $event->getOperation()->getTargetPackage(); } else { $package = $event->getOperation()->getPackage(); -- GitLab