Skip to content
Snippets Groups Projects
Commit 6fb0cf2f authored by jurgenhaas's avatar jurgenhaas
Browse files

Raise dependencies

- PHP >= 8.1
- Composer >= 2
Remove module dependencies for http_client_retry and redis, move them to scaffold projects
Code cleanup
parent ec7b96f2
No related branches found
No related tags found
1 merge request!127Merging develop into main [MINOR_VERSION]
Pipeline #1162083 passed
......@@ -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
{
"name": "lakedrops/drupal-environment",
"description": "Composer Plugin for Drupal Environments",
"type": "composer-plugin",
"keywords": [
"Drupal",
"Install",
"Update"
],
"homepage": "https://gitlab.lakedrops.com/composer/plugin/drupal-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-environment/issues",
"source": "https://gitlab.lakedrops.com/composer/plugin/drupal-environment/tree/main",
"docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/drupal-environment/"
"name": "lakedrops/drupal-environment",
"description": "Composer Plugin for Drupal Environments",
"type": "composer-plugin",
"keywords": [
"Drupal",
"Install",
"Update"
],
"homepage": "https://gitlab.lakedrops.com/composer/plugin/drupal-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",
"drupal/http_client_retry": "^2.0",
"drupal/redis": "^1.5",
"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\\DrupalEnvironment\\": "src/"
}
},
"extra": {
"class": "LakeDrops\\DrupalEnvironment\\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/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": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
],
"require": {
"php": ">=8.1",
"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;
use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
/**
* Class CommandProvider.
* Composer Command Provider for LakeDrops drupal environments.
*
* @package LakeDrops\DrupalEnvironment
*/
......
......@@ -7,7 +7,7 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
/**
* Class ConfigCommand.
* Composer Config Command for LakeDrops Drupal environments.
*
* @package LakeDrops\DrupalEnvironment
*/
......
......@@ -2,12 +2,11 @@
namespace LakeDrops\DrupalEnvironment;
use Exception;
use LakeDrops\Component\Composer\BaseHandler;
use Symfony\Component\Filesystem\Filesystem;
/**
* Class Handler.
* Handler class to setup LakeDrops tool based Drupal projects.
*
* @package LakeDrops\DrupalEnvironment
*/
......@@ -25,42 +24,42 @@ class Handler extends BaseHandler {
*/
protected function configDefault(): array {
return [
'chg-acl' => FALSE,
'webserver-username' => 'www-data',
'webserver-groupname' => 'www-data',
'filter_protocols' => [
'http',
'https',
'ftp',
'news',
'nntp',
'tel',
'telnet',
'mailto',
'irc',
'ssh',
'sftp',
'webcal',
'rtsp',
],
'cors_config' => [
'enabled' => 'false',
'allowedOrigins' => '*',
],
'db' => [
'driver' => 'mysql',
'namespace' => 'Drupal\Core\Database\Driver\mysql',
'database' => 'example',
'username' => 'username',
'password' => 'password',
'host' => '127.0.0.1',
'port' => '3306',
'prefix' => '',
],
'domain' => str_replace(['.', '-'], ['\\.', '\\-'], 'www.example.com'),
'aliases' => [],
'live' => (getenv('LAKEDROPS_BUILD_NG') === 'yes') || !empty($this->env->receiveGlobal('DRUPAL_LIVE', 'Live mode', '0')),
];
'chg-acl' => FALSE,
'webserver-username' => 'www-data',
'webserver-groupname' => 'www-data',
'filter_protocols' => [
'http',
'https',
'ftp',
'news',
'nntp',
'tel',
'telnet',
'mailto',
'irc',
'ssh',
'sftp',
'webcal',
'rtsp',
],
'cors_config' => [
'enabled' => 'false',
'allowedOrigins' => '*',
],
'db' => [
'driver' => 'mysql',
'namespace' => 'Drupal\Core\Database\Driver\mysql',
'database' => 'example',
'username' => 'username',
'password' => 'password',
'host' => '127.0.0.1',
'port' => '3306',
'prefix' => '',
],
'domain' => str_replace(['.', '-'], ['\\.', '\\-'], 'www.example.com'),
'aliases' => [],
'live' => (getenv('LAKEDROPS_BUILD_NG') === 'yes') || !empty($this->env->receiveGlobal('DRUPAL_LIVE', 'Live mode', '0')),
];
}
/**
......@@ -70,8 +69,13 @@ class Handler extends BaseHandler {
$hash = $this->config->readValue('hash_salt');
if ($hash === NULL) {
try {
$hash = str_replace(['+', '/', '='], ['-', '_', ''], base64_encode(random_bytes(55)));
} catch (Exception $e) {
$hash = str_replace(['+', '/', '='], [
'-',
'_',
'',
], base64_encode(random_bytes(55)));
}
catch (\Exception) {
$hash = 'no-random-bytes-available';
}
}
......@@ -81,13 +85,16 @@ class Handler extends BaseHandler {
/**
* Post project create event to setup Drupal environment.
*/
public function setupLakeDropsProject() {
public function setupLakeDropsProject(): void {
$this->init();
$fs = new Filesystem();
$installationManager = $this->composer->getInstallationManager();
$drupalCorePackage = $this->getDrupalCorePackage();
if ($drupalCorePackage === NULL) {
return;
}
$corePath = $installationManager->getInstallPath($drupalCorePackage);
$this->config->setValue('drupal8', version_compare($drupalCorePackage->getVersion(), '9.0.0', '<='), FALSE);
......@@ -161,12 +168,12 @@ class Handler extends BaseHandler {
// Ensure default environment directories for config_split.
foreach ([
'develop',
'test',
'live',
'nirvana',
'snapshot',
] as $subdir) {
'develop',
'test',
'live',
'nirvana',
'snapshot',
] as $subdir) {
$path = $projectRoot . '/config/default/environments/' . $subdir;
if (!$fs->exists($path)) {
$fs->mkdir($path);
......
......@@ -20,7 +20,7 @@ class Plugin extends BasePlugin {
*
* @var \Drupal\Composer\Plugin\Scaffold\Handler
*/
protected $scaffoldHandler;
protected DrupalScaffoldHandler $scaffoldHandler;
/**
* {@inheritdoc}
......@@ -62,7 +62,7 @@ class Plugin extends BasePlugin {
* @param \Composer\Script\Event $event
* The event that triggered the plugin.
*/
public function prepareProject(Event $event) {
public function prepareProject(Event $event): void {
/** @var Handler $handler */
$handler = $this->handler;
$handler
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment