Skip to content
Snippets Groups Projects
Commit 2fb5a5a9 authored by jurgenhaas's avatar jurgenhaas
Browse files

Merge branch 'develop' into 'main'

Merging develop into main [MINOR_VERSION]

See merge request !127
parents 808cc569 6fb0cf2f
No related branches found
No related tags found
1 merge request!127Merging develop into main [MINOR_VERSION]
Pipeline #1162085 passed
...@@ -12,6 +12,3 @@ indent_size = 2 ...@@ -12,6 +12,3 @@ indent_size = 2
charset = utf-8 charset = utf-8
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
[{composer.json,composer.lock}]
indent_size = 4
{ {
"name": "lakedrops/drupal-environment", "name": "lakedrops/drupal-environment",
"description": "Composer Plugin for Drupal Environments", "description": "Composer Plugin for Drupal Environments",
"type": "composer-plugin", "type": "composer-plugin",
"keywords": [ "keywords": [
"Drupal", "Drupal",
"Install", "Install",
"Update" "Update"
], ],
"homepage": "https://gitlab.lakedrops.com/composer/plugin/drupal-environment", "homepage": "https://gitlab.lakedrops.com/composer/plugin/drupal-environment",
"license": "GPL-2.0-or-later", "license": "GPL-2.0-or-later",
"authors": [ "authors": [
{ {
"name": "Jürgen Haas", "name": "Jürgen Haas",
"email": "juergen.haas@lakedrops.com", "email": "juergen.haas@lakedrops.com",
"homepage": "https://www.lakedrops.com", "homepage": "https://www.lakedrops.com",
"role": "Drupal Expert" "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-environment/issues",
"source": "https://gitlab.lakedrops.com/composer/plugin/drupal-environment/tree/main",
"docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/drupal-environment/"
}, },
"repositories": [ {
{ "name": "Daniel Speicher",
"type": "composer", "email": "daniel.speicher@lakedrops.com",
"url": "https://packages.drupal.org/8" "homepage": "https://www.lakedrops.com",
} "role": "Drupal Expert"
],
"require": {
"php": ">=7.4",
"composer-plugin-api": "^1||^2",
"drupal/http_client_retry": "^2.0",
"drupal/redis": "^1.5",
"lakedrops/composer-json-utils": "^2.4||dev-develop"
}, },
"require-dev": { {
"composer/composer": "^1||^2", "name": "Richard Papp",
"drupal/coder": "^8.3", "email": "richard.papp@lakedrops.com",
"phpunit/phpunit": "^9.5", "homepage": "https://www.lakedrops.com",
"roave/security-advisories": "dev-master", "role": "Drupal Expert"
"squizlabs/php_codesniffer": "^3.7" }
}, ],
"config": { "support": {
"allow-plugins": { "issues": "https://gitlab.lakedrops.com/composer/plugin/drupal-environment/issues",
"dealerdirect/phpcodesniffer-composer-installer": true "source": "https://gitlab.lakedrops.com/composer/plugin/drupal-environment/tree/main",
} "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/drupal-environment/"
}, },
"minimum-stability": "dev", "repositories": [
"prefer-stable": true, {
"autoload": { "type": "composer",
"psr-4": { "url": "https://packages.drupal.org/8"
"LakeDrops\\DrupalEnvironment\\": "src/" }
} ],
}, "require": {
"extra": { "php": ">=8.1",
"class": "LakeDrops\\DrupalEnvironment\\Plugin" "composer-plugin-api": "^2",
"lakedrops/composer-json-utils": "^2.4||dev-develop"
},
"require-dev": {
"composer/composer": "^2",
"lakedrops/drupal-development-environment": "^3.2||dev-develop",
"roave/security-advisories": "dev-latest"
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true,
"drupal/core-composer-scaffold": false,
"lakedrops/*": false,
"php-http/discovery": false,
"phpstan/extension-installer": true
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"autoload": {
"psr-4": {
"LakeDrops\\DrupalEnvironment\\": "src/"
} }
},
"extra": {
"class": "LakeDrops\\DrupalEnvironment\\Plugin"
}
} }
...@@ -5,7 +5,7 @@ namespace LakeDrops\DrupalEnvironment; ...@@ -5,7 +5,7 @@ namespace LakeDrops\DrupalEnvironment;
use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability; use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
/** /**
* Class CommandProvider. * Composer Command Provider for LakeDrops drupal environments.
* *
* @package LakeDrops\DrupalEnvironment * @package LakeDrops\DrupalEnvironment
*/ */
......
...@@ -7,7 +7,7 @@ use Symfony\Component\Console\Input\InputInterface; ...@@ -7,7 +7,7 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
/** /**
* Class ConfigCommand. * Composer Config Command for LakeDrops Drupal environments.
* *
* @package LakeDrops\DrupalEnvironment * @package LakeDrops\DrupalEnvironment
*/ */
......
...@@ -2,12 +2,11 @@ ...@@ -2,12 +2,11 @@
namespace LakeDrops\DrupalEnvironment; namespace LakeDrops\DrupalEnvironment;
use Exception;
use LakeDrops\Component\Composer\BaseHandler; use LakeDrops\Component\Composer\BaseHandler;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
/** /**
* Class Handler. * Handler class to setup LakeDrops tool based Drupal projects.
* *
* @package LakeDrops\DrupalEnvironment * @package LakeDrops\DrupalEnvironment
*/ */
...@@ -25,42 +24,42 @@ class Handler extends BaseHandler { ...@@ -25,42 +24,42 @@ class Handler extends BaseHandler {
*/ */
protected function configDefault(): array { protected function configDefault(): array {
return [ return [
'chg-acl' => FALSE, 'chg-acl' => FALSE,
'webserver-username' => 'www-data', 'webserver-username' => 'www-data',
'webserver-groupname' => 'www-data', 'webserver-groupname' => 'www-data',
'filter_protocols' => [ 'filter_protocols' => [
'http', 'http',
'https', 'https',
'ftp', 'ftp',
'news', 'news',
'nntp', 'nntp',
'tel', 'tel',
'telnet', 'telnet',
'mailto', 'mailto',
'irc', 'irc',
'ssh', 'ssh',
'sftp', 'sftp',
'webcal', 'webcal',
'rtsp', 'rtsp',
], ],
'cors_config' => [ 'cors_config' => [
'enabled' => 'false', 'enabled' => 'false',
'allowedOrigins' => '*', 'allowedOrigins' => '*',
], ],
'db' => [ 'db' => [
'driver' => 'mysql', 'driver' => 'mysql',
'namespace' => 'Drupal\Core\Database\Driver\mysql', 'namespace' => 'Drupal\Core\Database\Driver\mysql',
'database' => 'example', 'database' => 'example',
'username' => 'username', 'username' => 'username',
'password' => 'password', 'password' => 'password',
'host' => '127.0.0.1', 'host' => '127.0.0.1',
'port' => '3306', 'port' => '3306',
'prefix' => '', 'prefix' => '',
], ],
'domain' => str_replace(['.', '-'], ['\\.', '\\-'], 'www.example.com'), 'domain' => str_replace(['.', '-'], ['\\.', '\\-'], 'www.example.com'),
'aliases' => [], 'aliases' => [],
'live' => (getenv('LAKEDROPS_BUILD_NG') === 'yes') || !empty($this->env->receiveGlobal('DRUPAL_LIVE', 'Live mode', '0')), 'live' => (getenv('LAKEDROPS_BUILD_NG') === 'yes') || !empty($this->env->receiveGlobal('DRUPAL_LIVE', 'Live mode', '0')),
]; ];
} }
/** /**
...@@ -70,8 +69,13 @@ class Handler extends BaseHandler { ...@@ -70,8 +69,13 @@ class Handler extends BaseHandler {
$hash = $this->config->readValue('hash_salt'); $hash = $this->config->readValue('hash_salt');
if ($hash === NULL) { if ($hash === NULL) {
try { try {
$hash = str_replace(['+', '/', '='], ['-', '_', ''], base64_encode(random_bytes(55))); $hash = str_replace(['+', '/', '='], [
} catch (Exception $e) { '-',
'_',
'',
], base64_encode(random_bytes(55)));
}
catch (\Exception) {
$hash = 'no-random-bytes-available'; $hash = 'no-random-bytes-available';
} }
} }
...@@ -81,13 +85,16 @@ class Handler extends BaseHandler { ...@@ -81,13 +85,16 @@ class Handler extends BaseHandler {
/** /**
* Post project create event to setup Drupal environment. * Post project create event to setup Drupal environment.
*/ */
public function setupLakeDropsProject() { public function setupLakeDropsProject(): void {
$this->init(); $this->init();
$fs = new Filesystem(); $fs = new Filesystem();
$installationManager = $this->composer->getInstallationManager(); $installationManager = $this->composer->getInstallationManager();
$drupalCorePackage = $this->getDrupalCorePackage(); $drupalCorePackage = $this->getDrupalCorePackage();
if ($drupalCorePackage === NULL) {
return;
}
$corePath = $installationManager->getInstallPath($drupalCorePackage); $corePath = $installationManager->getInstallPath($drupalCorePackage);
$this->config->setValue('drupal8', version_compare($drupalCorePackage->getVersion(), '9.0.0', '<='), FALSE); $this->config->setValue('drupal8', version_compare($drupalCorePackage->getVersion(), '9.0.0', '<='), FALSE);
...@@ -161,12 +168,12 @@ class Handler extends BaseHandler { ...@@ -161,12 +168,12 @@ class Handler extends BaseHandler {
// Ensure default environment directories for config_split. // Ensure default environment directories for config_split.
foreach ([ foreach ([
'develop', 'develop',
'test', 'test',
'live', 'live',
'nirvana', 'nirvana',
'snapshot', 'snapshot',
] as $subdir) { ] as $subdir) {
$path = $projectRoot . '/config/default/environments/' . $subdir; $path = $projectRoot . '/config/default/environments/' . $subdir;
if (!$fs->exists($path)) { if (!$fs->exists($path)) {
$fs->mkdir($path); $fs->mkdir($path);
......
...@@ -20,7 +20,7 @@ class Plugin extends BasePlugin { ...@@ -20,7 +20,7 @@ class Plugin extends BasePlugin {
* *
* @var \Drupal\Composer\Plugin\Scaffold\Handler * @var \Drupal\Composer\Plugin\Scaffold\Handler
*/ */
protected $scaffoldHandler; protected DrupalScaffoldHandler $scaffoldHandler;
/** /**
* {@inheritdoc} * {@inheritdoc}
...@@ -62,7 +62,7 @@ class Plugin extends BasePlugin { ...@@ -62,7 +62,7 @@ class Plugin extends BasePlugin {
* @param \Composer\Script\Event $event * @param \Composer\Script\Event $event
* The event that triggered the plugin. * The event that triggered the plugin.
*/ */
public function prepareProject(Event $event) { public function prepareProject(Event $event): void {
/** @var Handler $handler */ /** @var Handler $handler */
$handler = $this->handler; $handler = $this->handler;
$handler $handler
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment