From bbb6ed2ed0d7cfb43cf4d906e59c5ee277ebc5d6 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen.haas@lakedrops.com>
Date: Tue, 20 Feb 2024 17:30:37 +0100
Subject: [PATCH] Raise dependencies - PHP >= 8.1 - Composer >= 2 Code cleanup

---
 .editorconfig            |   3 --
 .gitlab-ci.yml           |   4 +-
 composer.json            | 104 ++++++++++++++++++---------------------
 src/CommandProvider.php  |   6 +++
 src/IssueForkCommand.php |   5 ++
 src/Plugin.php           |  14 +++---
 src/PrepareCommand.php   |   5 ++
 7 files changed, 73 insertions(+), 68 deletions(-)

diff --git a/.editorconfig b/.editorconfig
index 12bcb27..ccc6a28 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,6 +12,3 @@ indent_size = 2
 charset = utf-8
 trim_trailing_whitespace = true
 insert_final_newline = true
-
-[{composer.json,composer.lock}]
-indent_size = 4
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d068046..1d23429 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
 include:
-  - project: 'gitlab-ci-cd/composer-packages'
+  - project: 'gitlab-ci-cd/drupal'
     ref: main
-    file: '/composer-packages.yml'
+    file: '/private-modules.yml'
diff --git a/composer.json b/composer.json
index ace5b1b..d683c74 100644
--- a/composer.json
+++ b/composer.json
@@ -1,61 +1,53 @@
 {
-    "name": "lakedrops/dorgflow",
-    "description": "Composer Plugin for development environments",
-    "type": "composer-plugin",
-    "keywords": ["Development"],
-    "homepage": "https://gitlab.lakedrops.com/composer/plugin/dorgflow",
-    "license": "GPL-2.0-or-later",
-    "authors": [
-        {
-            "name": "Jürgen Haas",
-            "email": "juergen.haas@lakedrops.com",
-            "homepage": "https://www.lakedrops.com",
-            "role": "Drupal Expert"
-        },
-        {
-            "name": "Daniel Speicher",
-            "email": "daniel.speicher@lakedrops.com",
-            "homepage": "https://www.lakedrops.com",
-            "role": "Drupal Expert"
-        },
-        {
-            "name": "Richard Papp",
-            "email": "richard.papp@lakedrops.com",
-            "homepage": "https://www.lakedrops.com",
-            "role": "Drupal Expert"
-        }
-    ],
-    "support": {
-        "issues": "https://gitlab.lakedrops.com/composer/plugin/dorgflow/issues",
-        "source": "https://gitlab.lakedrops.com/composer/plugin/dorgflow/tree/main",
-        "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/dorgflow/"
+  "name": "lakedrops/dorgflow",
+  "description": "Composer Plugin for development environments",
+  "type": "composer-plugin",
+  "keywords": [
+    "Development"
+  ],
+  "homepage": "https://gitlab.lakedrops.com/composer/plugin/dorgflow",
+  "license": "GPL-2.0-or-later",
+  "authors": [
+    {
+      "name": "Jürgen Haas",
+      "email": "juergen.haas@lakedrops.com",
+      "homepage": "https://www.lakedrops.com",
+      "role": "Drupal Expert"
     },
-    "require": {
-        "php": ">=7.4",
-        "composer-plugin-api": "^1||^2",
-        "cypresslab/gitelephant": "^2.0|^4.0",
-        "lakedrops/composer-json-utils": "^2.4||dev-develop"
+    {
+      "name": "Daniel Speicher",
+      "email": "daniel.speicher@lakedrops.com",
+      "homepage": "https://www.lakedrops.com",
+      "role": "Drupal Expert"
     },
-    "require-dev": {
-        "composer/composer": "^1||^2",
-        "drupal/coder": "^8.3",
-        "phpunit/phpunit": "^9.5",
-        "roave/security-advisories": "dev-master",
-        "squizlabs/php_codesniffer": "^3.7"
-    },
-    "config": {
-        "allow-plugins": {
-            "dealerdirect/phpcodesniffer-composer-installer": true
-        }
-    },
-    "minimum-stability": "dev",
-    "prefer-stable": true,
-    "autoload": {
-        "psr-4": {
-            "LakeDrops\\DorgFlow\\": "src/"
-        }
-    },
-    "extra": {
-        "class": "LakeDrops\\DorgFlow\\Plugin"
+    {
+      "name": "Richard Papp",
+      "email": "richard.papp@lakedrops.com",
+      "homepage": "https://www.lakedrops.com",
+      "role": "Drupal Expert"
+    }
+  ],
+  "support": {
+    "issues": "https://gitlab.lakedrops.com/composer/plugin/dorgflow/issues",
+    "source": "https://gitlab.lakedrops.com/composer/plugin/dorgflow/tree/main",
+    "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/dorgflow/"
+  },
+  "require": {
+    "php": ">=8.1",
+    "composer-plugin-api": "^2",
+    "cypresslab/gitelephant": "^2.0|^4.0",
+    "lakedrops/composer-json-utils": "^2.5||dev-develop"
+  },
+  "require-dev": {
+    "composer/composer": "^2",
+    "roave/security-advisories": "dev-latest"
+  },
+  "autoload": {
+    "psr-4": {
+      "LakeDrops\\DorgFlow\\": "src/"
     }
+  },
+  "extra": {
+    "class": "LakeDrops\\DorgFlow\\Plugin"
+  }
 }
diff --git a/src/CommandProvider.php b/src/CommandProvider.php
index f8a810a..7f1b19b 100644
--- a/src/CommandProvider.php
+++ b/src/CommandProvider.php
@@ -4,6 +4,11 @@ namespace LakeDrops\DorgFlow;
 
 use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
 
+/**
+ * Composer Command Provider for DorgFlow.
+ *
+ * @package LakeDrops\DorgFlow
+ */
 class CommandProvider implements CommandProviderCapability {
 
   /**
@@ -15,4 +20,5 @@ class CommandProvider implements CommandProviderCapability {
       new IssueForkCommand(),
     ];
   }
+
 }
diff --git a/src/IssueForkCommand.php b/src/IssueForkCommand.php
index 8fc3d54..3699229 100644
--- a/src/IssueForkCommand.php
+++ b/src/IssueForkCommand.php
@@ -7,6 +7,11 @@ use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
 
+/**
+ * Composer Issue Fork Command for DorgFlow.
+ *
+ * @package LakeDrops\DorgFlow
+ */
 class IssueForkCommand extends BaseCommand {
 
   /**
diff --git a/src/Plugin.php b/src/Plugin.php
index ac89043..826aa4f 100644
--- a/src/Plugin.php
+++ b/src/Plugin.php
@@ -2,6 +2,7 @@
 
 namespace LakeDrops\DorgFlow;
 
+use Composer\Plugin\Capability\CommandProvider as ComposerCommandProvider;
 use Composer\Script\Event;
 use Composer\Script\ScriptEvents;
 use LakeDrops\Component\Composer\BasePlugin;
@@ -23,7 +24,7 @@ class Plugin extends BasePlugin {
    */
   public function getCapabilities(): array {
     return [
-      \Composer\Plugin\Capability\CommandProvider::class => CommandProvider::class,
+      ComposerCommandProvider::class => CommandProvider::class,
     ];
   }
 
@@ -31,10 +32,10 @@ class Plugin extends BasePlugin {
    * {@inheritdoc}
    */
   public static function getSubscribedEvents(): array {
-    return array(
+    return [
       ScriptEvents::POST_INSTALL_CMD => 'prepareDevProjects',
       ScriptEvents::POST_UPDATE_CMD => 'prepareDevProjects',
-    );
+    ];
   }
 
   /**
@@ -44,11 +45,10 @@ class Plugin extends BasePlugin {
    *   The event that triggered the call of this function.
    */
   public function prepareDevProjects(Event $event): void {
-    /** @var Handler $handler */
+    /** @var \LakeDrops\DorgFlow\Handler $handler */
     $handler = $this->handler;
-    $handler
-      ->setEvent($event)
-      ->prepareDevProjects();
+    $handler->setEvent($event);
+    $handler->prepareDevProjects();
   }
 
 }
diff --git a/src/PrepareCommand.php b/src/PrepareCommand.php
index 6dfa3c5..ece7ce3 100644
--- a/src/PrepareCommand.php
+++ b/src/PrepareCommand.php
@@ -6,6 +6,11 @@ use LakeDrops\Component\Composer\BaseCommand;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
 
+/**
+ * Composer Prepare Command for DorgFlow.
+ *
+ * @package LakeDrops\DorgFlow
+ */
 class PrepareCommand extends BaseCommand {
 
   /**
-- 
GitLab