Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "digitalpolygon/polymer-drupal",
"type": "polymer-plugin",
"description": "Drupal integration for Polymer",
"license": "GPL-2.0+",
"authors":[
Expand Down Expand Up @@ -39,30 +40,36 @@
"phpstan/phpstan": "^1.11",
"phpro/grumphp-shim": "^2.5",
"squizlabs/php_codesniffer": "^3",
"php-parallel-lint/php-parallel-lint": "^1.4"
"php-parallel-lint/php-parallel-lint": "^1.4",
"drupal/coder": "^8.3"
},
"minimum-stability": "dev",
"prefer-stable": true,
"autoload": {
"psr-4": {
"DigitalPolygon\\PolymerDrupal\\": "./src/"
}
},
"config": {
"allow-plugins": {
"composer/installers": true,
"digitalpolygon/polymer": true,
"digitalpolygon/drupal-upgrade-plugin": true,
"phpro/grumphp-shim": true
"phpro/grumphp-shim": true,
"dealerdirect/phpcodesniffer-composer-installer": true
}
},
"scripts": {
"lint": "find src test/src -name '*.php' -print0 | xargs -0 -n1 -P4 -- php -l",
"cs": "phpcs",
"cs": [
"phpcs --standard=phpcs-non-drupal.xml.dist",
"phpcs --standard=phpcs-drupal.xml.dist"
],
"sa": "phpstan analyse -v -c phpstan.neon",
"validations": [
"@lint",
"@cs",
"@sa"
]
},
"autoload": {
"classmap": [
"src/VendorAssets.php"
]
}
Comment thread
lpeabody marked this conversation as resolved.
}
15 changes: 14 additions & 1 deletion grumphp.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
grumphp:
hooks_dir: grumphp/hooks
tasks:
phpcs: null
phpcs:
standard: PSR12
warning_severity: 0
whitelist_patterns:
- src
phpcs_drupal:
standard:
- Drupal
- DrupalPractice
warning_severity: 0
whitelist_patterns:
- settings
metadata:
task: phpcs
phpstan: null
phplint: null
9 changes: 9 additions & 0 deletions phpcs-drupal.xml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="polymer-drupal-settings">
<description>Default PHP CodeSniffer configuration for the Drupal Integration for Polymer WebOps Tooling project.</description>
<file>settings</file>
<rule ref="Drupal" />
<rule ref="DrupalPractice" />
<arg value="n" />
<arg value="s" />
</ruleset>
4 changes: 2 additions & 2 deletions phpcs.xml.dist → phpcs-non-drupal.xml.dist
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="polymer-drupal">
<ruleset name="polymer-drupal-src">
<description>Default PHP CodeSniffer configuration for the Drupal Integration for Polymer WebOps Tooling project.</description>
<file>src</file>
<rule ref="PSR12"/>
<rule ref="PSR12" />
<arg value="n" />
<arg value="s" />
</ruleset>
6 changes: 4 additions & 2 deletions phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ parameters:
paths:
- src
additionalConstructors:
- DigitalPolygon\PolymerDrupal\Polymer\Services\Event\SiteSettingsFiles::setSite
- DigitalPolygon\PolymerDrupal\Polymer\Services\Event\AlterSiteSettingsFiles::setSite
- DigitalPolygon\Polymer\polymer_drupal\Services\Event\SiteSettingsFiles::setSite
- DigitalPolygon\Polymer\polymer_drupal\Services\Event\AlterSiteSettingsFiles::setSite
ignoreErrors:
-
message: "#^Parameter \\#2 \\$default of method Consolidation\\\\Config\\\\Util\\\\ConfigOverlay\\:\\:get\\(\\) expects string\\|null, array given\\.$#"
-
identifier: missingType.iterableValue
bootstrapFiles:
- phpstanBootstrap.php
3 changes: 3 additions & 0 deletions phpstanBootstrap.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?php

define('DRUPAL_ROOT', '/var/www/html/web');
1 change: 1 addition & 0 deletions polymer_drupal.poly_info.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
name: Polymer Drupal Plugin
9 changes: 7 additions & 2 deletions settings/config.settings.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
<?php

/**
* @file
* Contains configuration-related settings.
*/

if (!isset($polymer_override_config_directories)) {
$polymer_override_config_directories = TRUE;
$polymer_override_config_directories = TRUE;
}

// Configuration directories.
if ($polymer_override_config_directories) {
if ($polymer_override_config_directories && isset($repo_root)) {
// phpcs:ignore
$settings['config_sync_directory'] = $repo_root . "/config/default";
}
49 changes: 28 additions & 21 deletions settings/db.settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,39 @@

/**
* @file
* This file contains database related configuration. Use this file to store
* predictable settings based on the environment.
* This file contains database related configuration.
*
* Use this file to store predictable settings based on the environment.
*/

if (getenv('IS_DDEV_PROJECT') == 'true') {
$ddev_settings_file = DRUPAL_ROOT . "/$site_path/settings.ddev.php";
if (file_exists($ddev_settings_file)) {
$ddev_settings_loaded = FALSE;
if (isset($site_path)) {
$ddev_settings_file = DRUPAL_ROOT . "/$site_path/settings.ddev.php";
if (file_exists($ddev_settings_file)) {
require $ddev_settings_file;
$ddev_settings_loaded = TRUE;
}
}
else {
$database_to_use = match($site_name) {
'default' => 'db',
default => $site_name,
};
$databases['default']['default'] = [
'database' => $database_to_use,
'username' => 'db',
'password' => 'db',
'prefix' => '',
'host' => 'db',
'port' => 3306,
'isolation_level' => 'READ COMMITTED',
'driver' => 'mysql',
'namespace' => 'Drupal\\mysql\\Driver\\Database\\mysql',
'autoload' => 'core/modules/mysql/src/Driver/Database/mysql/',
];
// Only apply the default DDEV database settings when settings.ddev.php was not
// loaded, so it does not overwrite DDEV's own (e.g. multisite) configuration.
if (!$ddev_settings_loaded && isset($site_name)) {
$database_to_use = match($site_name) {
'default' => 'db',
default => $site_name,
};
$databases['default']['default'] = [
'database' => $database_to_use,
'username' => 'db',
'password' => 'db',
'prefix' => '',
'host' => 'db',
'port' => 3306,
'isolation_level' => 'READ COMMITTED',
'driver' => 'mysql',
'namespace' => 'Drupal\\mysql\\Driver\\Database\\mysql',
'autoload' => 'core/modules/mysql/src/Driver/Database/mysql/',
];
}
Comment thread
lpeabody marked this conversation as resolved.

}
14 changes: 8 additions & 6 deletions settings/default.global.settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,18 @@
/**
* Include settings files in web/sites/settings.
*
* If instead you want to add settings to a specific site, see Polymer's includes
* file in web/sites/{site-name}/settings/default.includes.settings.php.
* If instead you want to add settings to a specific site, see Polymer's
* includes file
* in web/sites/{site-name}/settings/default.includes.settings.php.
*/
$additionalSettingsFiles = [
// e.g,( DRUPAL_ROOT . "/sites/settings/foo.settings.php" )
];

// @phpstan-ignore foreach.emptyArray
foreach ($additionalSettingsFiles as $settingsFile) {
if (file_exists($settingsFile)) {
// phpcs:ignore
require $settingsFile;
}
if (file_exists($settingsFile)) {
// phpcs:ignore
require $settingsFile;
}
}
Comment thread
lpeabody marked this conversation as resolved.
9 changes: 5 additions & 4 deletions settings/default.includes.settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,10 @@
// e.g,( DRUPAL_ROOT . "/sites/$site_dir/settings/foo.settings.php" )
];

// @phpstan-ignore foreach.emptyArray
foreach ($additionalSettingsFiles as $settingsFile) {
if (file_exists($settingsFile)) {
// phpcs:ignore
require $settingsFile;
}
if (file_exists($settingsFile)) {
// phpcs:ignore
require $settingsFile;
}
}
Comment thread
lpeabody marked this conversation as resolved.
48 changes: 20 additions & 28 deletions settings/polymer.settings.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<?php

use DigitalPolygon\Polymer\Environment\EnvironmentDetectorBase;
use DigitalPolygon\Polymer\Environment\AcquiaEnvironmentDetector;
use DigitalPolygon\Polymer\Environment\PantheonEnvironmentDetector;

/**
* @file
* Generated by Polymer.
*/

use DigitalPolygon\Polymer\Core\Environment\EnvironmentDetectorBase;
use DigitalPolygon\Polymer\Core\Environment\AcquiaEnvironmentDetector;
use DigitalPolygon\Polymer\Core\Environment\PantheonEnvironmentDetector;

/**
* Site path.
*
Expand All @@ -17,31 +17,23 @@
*/
$site_name = str_replace('sites/', '', $site_path);

/**
* Site path.
*
* @var string $repo_root
* Path to the repository root (assumed to be parent of DRUPAL_ROOT).
*/
if (!isset($repo_root)) {
$repo_root = realpath(DRUPAL_ROOT . '/..');
$repo_root = realpath(DRUPAL_ROOT . '/..');
}

$settings_files = [];

// Default global settings.
// @todo Add polymer specific settings file as needed.
$polymer_settings_files = [
'config',
'db',
'config',
'db',
];
if ($polymer_settings_files) {
foreach ($polymer_settings_files as $polymer_settings_file) {
$settings_file = __DIR__ . "/$polymer_settings_file.settings.php";
if (file_exists($settings_file)) {
$settings_files[] = $settings_file;
}
}
foreach ($polymer_settings_files as $polymer_settings_file) {
$settings_file = __DIR__ . "/$polymer_settings_file.settings.php";
if (file_exists($settings_file)) {
$settings_files[] = $settings_file;
}
}

// Custom global and site-specific settings.
Expand All @@ -50,21 +42,21 @@
$settings_files[] = DRUPAL_ROOT . "/sites/$site_name/settings/includes.settings.php";

if (EnvironmentDetectorBase::isCiEnv()) {
// Custom global and site-specific CI settings.
$settings_files[] = DRUPAL_ROOT . "/sites/settings/ci.settings.php";
$settings_files[] = DRUPAL_ROOT . "/sites/$site_name/settings/ci.settings.php";
// Custom global and site-specific CI settings.
$settings_files[] = DRUPAL_ROOT . "/sites/settings/ci.settings.php";
$settings_files[] = DRUPAL_ROOT . "/sites/$site_name/settings/ci.settings.php";
}

// Local global and site-specific settings.
if (AcquiaEnvironmentDetector::isLocalEnv() || PantheonEnvironmentDetector::isLocalEnv()) {
// Use settings.local.php because that's what Drupal scaffold uses.
$settings_files[] = DRUPAL_ROOT . '/sites/settings/settings.local.php';
$settings_files[] = DRUPAL_ROOT . "/sites/$site_name/settings.local.php";
// Use settings.local.php because that's what Drupal scaffold uses.
$settings_files[] = DRUPAL_ROOT . '/sites/settings/settings.local.php';
$settings_files[] = DRUPAL_ROOT . "/sites/$site_name/settings.local.php";
}

foreach ($settings_files as $settings_file) {
if (file_exists($settings_file)) {
if (file_exists($settings_file)) {
// phpcs:ignore
require $settings_file;
}
}
}
9 changes: 7 additions & 2 deletions settings/sites.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
<?php

/**
* @file
* Sites file for DDEV support.
*/

$ddev_hostname = getenv('DDEV_HOSTNAME');
if (!empty($ddev_hostname)) {
$sites['{http_port}.' . $ddev_hostname] = '{site_name}';
$sites['{https_port}.' . $ddev_hostname] = '{site_name}';
$sites['{http_port}.' . $ddev_hostname] = '{site_name}';
$sites['{https_port}.' . $ddev_hostname] = '{site_name}';
}
6 changes: 3 additions & 3 deletions src/Polymer/ExtensionInfo.php → src/ExtensionInfo.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace DigitalPolygon\PolymerDrupal\Polymer;
namespace DigitalPolygon\Polymer\polymer_drupal;

use Consolidation\Config\ConfigInterface;
use DigitalPolygon\Polymer\Robo\Extension\PolymerExtensionBase;
use DigitalPolygon\PolymerDrupal\Polymer\Services\FileSystem;
use DigitalPolygon\Polymer\Core\Robo\Extension\PolymerExtensionBase;
use DigitalPolygon\Polymer\polymer_drupal\Services\FileSystem;
use League\Container\DefinitionContainerInterface;

class ExtensionInfo extends PolymerExtensionBase
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<?php

namespace DigitalPolygon\PolymerDrupal\Polymer\Plugin\Commands;
namespace DigitalPolygon\Polymer\polymer_drupal\Plugin\Commands;

use DigitalPolygon\PolymerDrupal\Polymer\Plugin\Tasks\LoadDrushTaskTrait;
use DigitalPolygon\Polymer\polymer_drupal\Plugin\Tasks\LoadDrushTaskTrait;
use Robo\Common\IO;
use Robo\Symfony\ConsoleIO;
use Symfony\Component\Yaml\Yaml;
use Robo\Exception\TaskException;
use DigitalPolygon\Polymer\Robo\Tasks\TaskBase;
use DigitalPolygon\Polymer\Robo\Tasks\DrushTask;
use DigitalPolygon\Polymer\Core\Robo\Tasks\TaskBase;
use DigitalPolygon\Polymer\polymer_drupal\Plugin\Tasks\DrushTask;
use Consolidation\AnnotatedCommand\Attributes\Command;
use DigitalPolygon\Polymer\Robo\Exceptions\PolymerException;
use DigitalPolygon\Polymer\Robo\Tasks\Command as PolymerCommand;
use DigitalPolygon\Polymer\Core\Robo\Exceptions\PolymerException;
use DigitalPolygon\Polymer\Core\Robo\Tasks\Command as PolymerCommand;

class ConfigCommands extends TaskBase
{
Expand Down Expand Up @@ -75,7 +75,7 @@ public function updateSite(ConsoleIO $io): void
#[Command(name: 'drupal:config:import', aliases: ['dcim'])]
public function import(): mixed
{
/** @var \DigitalPolygon\PolymerDrupal\Polymer\Plugin\Tasks\DrushTask $task */
/** @var \DigitalPolygon\Polymer\polymer_drupal\Plugin\Tasks\DrushTask $task */
$task = $this->taskDrush();

$strategy = $this->getConfigValue('drupal.cm.strategy');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace DigitalPolygon\PolymerDrupal\Polymer\Plugin\Commands;
namespace DigitalPolygon\Polymer\polymer_drupal\Plugin\Commands;

use Consolidation\AnnotatedCommand\Attributes\Argument;
use Consolidation\AnnotatedCommand\Attributes\Command;
use DigitalPolygon\Polymer\Environment\DDEVEnvironment;
use DigitalPolygon\Polymer\Robo\Tasks\TaskBase;
use DigitalPolygon\Polymer\Core\Robo\Tasks\TaskBase;
use Robo\Contract\VerbosityThresholdInterface;
use Robo\Exception\AbortTasksException;

Expand Down
Loading
Loading