diff --git a/.editorconfig b/.editorconfig index 12bcb27e4ee7bbca7f74423a87d205926d2ad1d2..ccc6a281e51a2f99832b3c2d5b7b42b3ce84c36e 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/composer.json b/composer.json index 6bf2b5b162bc045b6a5e5dc6059df47701264d7d..85d6bd3f3c7f454a7da02b369a7a9f67d03bc705 100644 --- a/composer.json +++ b/composer.json @@ -1,100 +1,98 @@ { - "name": "lakedrops/drupal-development-environment", - "description": "Composer Plugin for Drupal Development Environments", - "type": "composer-plugin", - "keywords": [ - "Drupal", - "Development", - "Install", - "Update" - ], - "homepage": "https://gitlab.lakedrops.com/composer/plugin/drupal-development-environment", - "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/drupal-development-environment/issues", - "source": "https://gitlab.lakedrops.com/composer/plugin/drupal-development-environment/tree/main", - "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/drupal-dev-environment/" + "name": "lakedrops/drupal-development-environment", + "description": "Composer Plugin for Drupal Development Environments", + "type": "composer-plugin", + "keywords": [ + "Drupal", + "Development", + "Install", + "Update" + ], + "homepage": "https://gitlab.lakedrops.com/composer/plugin/drupal-development-environment", + "license": "GPL-2.0-or-later", + "authors": [ + { + "name": "Jürgen Haas", + "email": "juergen.haas@lakedrops.com", + "homepage": "https://www.lakedrops.com", + "role": "Drupal Expert" }, - "repositories": [ - { - "type": "composer", - "url": "https://packages.drupal.org/8" - } - ], - "require": { - "php": ">=7.4", - "composer-plugin-api": "^1||^2", - "dealerdirect/phpcodesniffer-composer-installer": "*", - "dpi/dogit": "*", - "drupal-code-builder/drupal-code-builder-drush": "*", - "drupal/coder": "*", - "drupal/core": "*", - "drupal/core-composer-scaffold": "*", - "drupal/devel": "*", - "drupal/webprofiler": "*", - "lakedrops/ahoy": "*", - "lakedrops/behat4drupal": "*", - "lakedrops/composer-json-utils": "*", - "lakedrops/docker4drupal": "*", - "lakedrops/dorgflow": "*", - "lakedrops/drupal-environment": "*", - "mglaman/phpstan-drupal": "*", - "mikey179/vfsstream": "*", - "php-parallel-lint/php-parallel-lint": "*", - "phpmd/phpmd": "*", - "phpmetrics/phpmetrics": "*", - "phpspec/prophecy": "*", - "phpspec/prophecy-phpunit": "*", - "phpstan/extension-installer": "*", - "phpstan/phpstan-deprecation-rules": "*", - "phpunit/phpunit": "*", - "squizlabs/php_codesniffer": "*", - "symfony/css-selector": "*", - "symfony/phpunit-bridge": "*" + { + "name": "Daniel Speicher", + "email": "daniel.speicher@lakedrops.com", + "homepage": "https://www.lakedrops.com", + "role": "Drupal Expert" }, - "require-dev": { - "composer/composer": "^1||^2", - "roave/security-advisories": "dev-latest" - }, - "minimum-stability": "dev", - "prefer-stable": true, - "autoload": { - "psr-4": { - "LakeDrops\\DrupalDevelopmentEnvironment\\": "src/" - } - }, - "extra": { - "class": "LakeDrops\\DrupalDevelopmentEnvironment\\Plugin" - }, - "config": { - "allow-plugins": { - "dealerdirect/phpcodesniffer-composer-installer": true, - "drupal/core-composer-scaffold": false, - "lakedrops/ahoy": false, - "lakedrops/behat4drupal": false, - "lakedrops/dorgflow": false, - "lakedrops/drupal-environment": false, - "lakedrops/docker4drupal": false - } + { + "name": "Richard Papp", + "email": "richard.papp@lakedrops.com", + "homepage": "https://www.lakedrops.com", + "role": "Drupal Expert" + } + ], + "support": { + "issues": "https://gitlab.lakedrops.com/composer/plugin/drupal-development-environment/issues", + "source": "https://gitlab.lakedrops.com/composer/plugin/drupal-development-environment/tree/main", + "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/drupal-dev-environment/" + }, + "repositories": [ + { + "type": "composer", + "url": "https://packages.drupal.org/8" + } + ], + "require": { + "php": ">=8.1", + "composer-plugin-api": "^2", + "dealerdirect/phpcodesniffer-composer-installer": "*", + "drupal-code-builder/drupal-code-builder-drush": "*", + "drupal/coder": "*", + "drupal/core": "*", + "drupal/core-composer-scaffold": "*", + "drupal/devel": "*", + "drupal/schema_diff": "*", + "drupal/webprofiler": "*", + "lakedrops/ahoy": "*", + "lakedrops/behat4drupal": "*", + "lakedrops/composer-json-utils": "*", + "lakedrops/docker4drupal": "*", + "lakedrops/dorgflow": "*", + "lakedrops/drupal-environment": "*", + "mglaman/phpstan-drupal": "*", + "mikey179/vfsstream": "*", + "php-parallel-lint/php-parallel-lint": "*", + "phpmd/phpmd": "*", + "phpmetrics/phpmetrics": "^2.8", + "phpspec/prophecy": "*", + "phpspec/prophecy-phpunit": "*", + "phpstan/extension-installer": "*", + "phpstan/phpstan-deprecation-rules": "*", + "phpunit/phpunit": "*", + "squizlabs/php_codesniffer": "*", + "symfony/css-selector": "*", + "symfony/phpunit-bridge": "*" + }, + "require-dev": { + "composer/composer": "^2", + "roave/security-advisories": "dev-latest" + }, + "minimum-stability": "dev", + "prefer-stable": true, + "autoload": { + "psr-4": { + "LakeDrops\\DrupalDevelopmentEnvironment\\": "src/" + } + }, + "extra": { + "class": "LakeDrops\\DrupalDevelopmentEnvironment\\Plugin" + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true, + "drupal/core-composer-scaffold": false, + "lakedrops/*": false, + "php-http/discovery": false, + "phpstan/extension-installer": true } + } } diff --git a/src/CommandProvider.php b/src/CommandProvider.php index 1d22be7df736f6a6cd42fa382b7fd6264544020f..aacd5fcd4e95585e27b67c02c371148346e76f4f 100644 --- a/src/CommandProvider.php +++ b/src/CommandProvider.php @@ -5,7 +5,7 @@ namespace LakeDrops\DrupalDevelopmentEnvironment; use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability; /** - * Class CommandProvider. + * Composer Command Provider for LakeDrops drupal development environments. * * @package LakeDrops\DrupalDevelopmentEnvironment */ diff --git a/src/Handler.php b/src/Handler.php index 009ebef76ca747d38dc2e01ec35472ce655de910..ae127cc7645255560edcbde856fac4632313b08c 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -2,14 +2,13 @@ namespace LakeDrops\DrupalDevelopmentEnvironment; -use Exception; use LakeDrops\Component\Composer\BaseHandler; use LakeDrops\Docker4Drupal\Handler as D4D; use LakeDrops\DrupalEnvironment\Handler as DrupalEnvironment; use Symfony\Component\Filesystem\Filesystem; /** - * Class Handler. + * Handler class to setup LakeDrops tool based Drupal development environments. * * @package LakeDrops\Drupal8ScaffoldDeveloper */ @@ -27,8 +26,14 @@ class Handler extends BaseHandler { */ protected function configDefault(): array { $config = (new D4D($this->composer, $this->io))->getConfig(); - $domain = $config->readValue('projectname') . '.' . $config->readValue(['traefik', 'domain']); - if (!$config->readValue(['traefik', 'usessl']) && $config->readValue(['traefik', 'port']) !== '80') { + $domain = $config->readValue('projectname') . '.' . $config->readValue([ + 'traefik', + 'domain', + ]); + if (!$config->readValue([ + 'traefik', + 'usessl', + ]) && $config->readValue(['traefik', 'port']) !== '80') { $domain .= ':' . $config->readValue(['traefik', 'port']); } return [ @@ -53,6 +58,9 @@ class Handler extends BaseHandler { $installationManager = $this->composer->getInstallationManager(); $drupalCorePackage = $this->getDrupalCorePackage(); + if ($drupalCorePackage === NULL) { + return; + } $corePath = $installationManager->getInstallPath($drupalCorePackage); // Directory where the root project is being created. @@ -64,10 +72,10 @@ class Handler extends BaseHandler { // Create contrib/custom dirs for modules, profiles and themes. foreach ([ - $webRoot . '/modules', - $webRoot . '/profiles', - $webRoot . '/themes', - ] as $dir) { + $webRoot . '/modules', + $webRoot . '/profiles', + $webRoot . '/themes', + ] as $dir) { foreach (['contrib', 'custom'] as $subdir) { $path = $dir . '/' . $subdir; if (!$fs->exists($path)) { @@ -81,9 +89,9 @@ class Handler extends BaseHandler { // Create and protect config, settings and files directories. foreach ([ - 'config/default/sync', - 'tests', - ] as $dir) { + 'config/default/sync', + 'tests', + ] as $dir) { $path = $projectRoot . '/' . $dir; if (!$fs->exists($path)) { $fs->mkdir($path); @@ -110,7 +118,7 @@ class Handler extends BaseHandler { $this->git('add *'); $this->git('commit -m "Initial commit"'); } - catch (Exception $ex) { + catch (\Exception) { // We're ignoring this for now. } } diff --git a/src/Plugin.php b/src/Plugin.php index ecbee41118bc2df3e4a03f20298e5cb2043f28e0..e88a62b55be74b19fcedf364908d0ef717a62ca9 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -20,7 +20,7 @@ class Plugin extends BasePlugin { * * @var \Drupal\Composer\Plugin\Scaffold\Handler */ - protected $scaffoldHandler; + protected DrupalScaffoldHandler $scaffoldHandler; /** * {@inheritdoc} diff --git a/src/ScaffoldCommand.php b/src/ScaffoldCommand.php index 1a48775cdb004a2ae1919d820dcc243922a1f961..dd5243826cfda4a03d135252e79f9e62676fcda4 100644 --- a/src/ScaffoldCommand.php +++ b/src/ScaffoldCommand.php @@ -7,7 +7,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; /** - * Class ScaffoldCommand. + * Composer Scaffold Command for LakeDrops Drupal development environments. * * @package LakeDrops\DrupalDevelopmentEnvironment */