From 4b4ba7b8f063de4d5fa8a56b7bee2c6f034e7061 Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Fri, 5 Jul 2024 13:49:50 +0200
Subject: [PATCH] fix: move requirements checker to conditional extensions

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 src/Extension/ConditionalExtension.php | 9 +++++++++
 src/Resources/bindings/index.php       | 2 --
 src/Resources/services.inc.php         | 8 ++++----
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/Extension/ConditionalExtension.php b/src/Extension/ConditionalExtension.php
index f77d8e0..6ecf12f 100644
--- a/src/Extension/ConditionalExtension.php
+++ b/src/Extension/ConditionalExtension.php
@@ -15,6 +15,7 @@ use WPDesk\Init\Binding\Loader\ArrayDefinitions;
 use WPDesk\Init\Binding\Loader\BindingDefinitions;
 use WPDesk\Init\Configuration\ReadableConfig;
 use WPDesk\Init\DependencyInjection\ContainerBuilder;
+use WPDesk\Init\Extension\CommonBinding\RequirementsCheck;
 use WPDesk\Init\Extension\CommonBinding\WPDeskLicenseBridge;
 use WPDesk\Init\Extension\CommonBinding\WPDeskTrackerBridge;
 use WPDesk\Init\Plugin\Plugin;
@@ -25,6 +26,10 @@ class ConditionalExtension implements Extension {
 	public function bindings( ContainerInterface $c ): BindingDefinitions {
 		$bindings = [];
 
+		if ( class_exists( \WPDesk_Basic_Requirement_Checker::class ) ) {
+			$bindings[] = RequirementsCheck::class;
+		}
+
 		if ( class_exists( \WPDesk\License\PluginRegistrator::class ) ) {
 			$bindings[] = WPDeskLicenseBridge::class;
 		}
@@ -39,6 +44,10 @@ class ConditionalExtension implements Extension {
 	public function build( ContainerBuilder $builder, Plugin $plugin, ReadableConfig $config ): void {
 		$definitions = [];
 
+		if ( class_exists( \WPDesk_Basic_Requirement_Checker::class ) ) {
+			$definitions[ RequirementsCheck::class ] = new AutowireDefinitionHelper();
+		}
+
 		if ( class_exists( \WPDesk\License\PluginRegistrator::class ) ) {
 			$definitions[ WPDeskLicenseBridge::class ] = new AutowireDefinitionHelper();
 		}
diff --git a/src/Resources/bindings/index.php b/src/Resources/bindings/index.php
index 1fd46fc..5116161 100644
--- a/src/Resources/bindings/index.php
+++ b/src/Resources/bindings/index.php
@@ -1,11 +1,9 @@
 <?php
 
 use WPDesk\Init\Extension\CommonBinding\I18n;
-use WPDesk\Init\Extension\CommonBinding\RequirementsCheck;
 use WPDesk\Init\Extension\CommonBinding\CustomOrderTableCompatibility;
 
 return [
-	RequirementsCheck::class,
 	I18n::class,
 	CustomOrderTableCompatibility::class,
 ];
diff --git a/src/Resources/services.inc.php b/src/Resources/services.inc.php
index 21b1c0d..276657c 100644
--- a/src/Resources/services.inc.php
+++ b/src/Resources/services.inc.php
@@ -1,16 +1,16 @@
 <?php
 
 use DI\Definition\Helper\AutowireDefinitionHelper;
+use WPDesk\Init\Extension\CommonBinding\CustomOrdersTableCompatibility;
 use WPDesk\Init\Extension\CommonBinding\I18n;
-use WPDesk\Init\Extension\CommonBinding\RequirementsCheck;
 
 return [
-	wpdb::class              => static function () {
+	wpdb::class                           => static function () {
 		global $wpdb;
 
 		return $wpdb;
 	},
 
-	I18n::class              => new AutowireDefinitionHelper(),
-	RequirementsCheck::class => new AutowireDefinitionHelper(),
+	I18n::class                           => new AutowireDefinitionHelper(),
+	CustomOrdersTableCompatibility::class => new AutowireDefinitionHelper(),
 ];
-- 
GitLab