diff --git a/composer.json b/composer.json
index 83c7137..1ecc82a 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,6 @@
{
"name": "digitalpolygon/polymer-drupal",
+ "type": "polymer-plugin",
"description": "Drupal integration for Polymer",
"license": "GPL-2.0+",
"authors":[
@@ -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"
+ ]
}
}
diff --git a/grumphp.yml b/grumphp.yml
index a6fb5e7..c436e12 100644
--- a/grumphp.yml
+++ b/grumphp.yml
@@ -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
diff --git a/phpcs-drupal.xml.dist b/phpcs-drupal.xml.dist
new file mode 100644
index 0000000..bdffee2
--- /dev/null
+++ b/phpcs-drupal.xml.dist
@@ -0,0 +1,9 @@
+
+
+ Default PHP CodeSniffer configuration for the Drupal Integration for Polymer WebOps Tooling project.
+ settings
+
+
+
+
+
diff --git a/phpcs.xml.dist b/phpcs-non-drupal.xml.dist
similarity index 80%
rename from phpcs.xml.dist
rename to phpcs-non-drupal.xml.dist
index 51c4ef8..5402af2 100644
--- a/phpcs.xml.dist
+++ b/phpcs-non-drupal.xml.dist
@@ -1,8 +1,8 @@
-
+
Default PHP CodeSniffer configuration for the Drupal Integration for Polymer WebOps Tooling project.
src
-
+
diff --git a/phpstan.neon b/phpstan.neon
index 89ab15f..26c3e12 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -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
diff --git a/phpstanBootstrap.php b/phpstanBootstrap.php
new file mode 100644
index 0000000..78c7272
--- /dev/null
+++ b/phpstanBootstrap.php
@@ -0,0 +1,3 @@
+ '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/',
+ ];
}
}
diff --git a/settings/default.global.settings.php b/settings/default.global.settings.php
index 5120b4f..d8869fb 100644
--- a/settings/default.global.settings.php
+++ b/settings/default.global.settings.php
@@ -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;
+ }
}
diff --git a/settings/default.includes.settings.php b/settings/default.includes.settings.php
index d5a9415..90c3d7e 100644
--- a/settings/default.includes.settings.php
+++ b/settings/default.includes.settings.php
@@ -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;
+ }
}
diff --git a/settings/polymer.settings.php b/settings/polymer.settings.php
index 0183608..10bd897 100644
--- a/settings/polymer.settings.php
+++ b/settings/polymer.settings.php
@@ -1,14 +1,14 @@
taskDrush();
$strategy = $this->getConfigValue('drupal.cm.strategy');
diff --git a/src/Polymer/Plugin/Commands/DrupalMultisiteCommands.php b/src/Plugin/Commands/DrupalMultisiteCommands.php
similarity index 98%
rename from src/Polymer/Plugin/Commands/DrupalMultisiteCommands.php
rename to src/Plugin/Commands/DrupalMultisiteCommands.php
index c6a9bfe..63a23d4 100644
--- a/src/Polymer/Plugin/Commands/DrupalMultisiteCommands.php
+++ b/src/Plugin/Commands/DrupalMultisiteCommands.php
@@ -1,11 +1,11 @@
site = $this->input()->getOption('site');
- /** @var \DigitalPolygon\Polymer\Robo\Tasks\Command[] $commands */
+ /** @var \DigitalPolygon\Polymer\Core\Robo\Tasks\Command[] $commands */
$commands = [];
$commands[] = 'internal:drupal:install';
$strategy = $this->getConfigValue('drupal.cm.strategy');
@@ -148,7 +148,7 @@ function ($string) {
/** @var string $drupal_locale */
$drupal_locale = $this->getConfigValue('drupal.locale');
- /** @var \DigitalPolygon\PolymerDrupal\Polymer\Plugin\Tasks\DrushTask $task */
+ /** @var \DigitalPolygon\Polymer\polymer_drupal\Plugin\Tasks\DrushTask $task */
$task = $this->taskDrush()
->drush("site-install")
->arg($project_profile_name)
diff --git a/src/Polymer/Plugin/Commands/SetupCommands.php b/src/Plugin/Commands/SetupCommands.php
similarity index 96%
rename from src/Polymer/Plugin/Commands/SetupCommands.php
rename to src/Plugin/Commands/SetupCommands.php
index 1480bb6..082995b 100644
--- a/src/Polymer/Plugin/Commands/SetupCommands.php
+++ b/src/Plugin/Commands/SetupCommands.php
@@ -1,11 +1,11 @@
task(DrushTask::class);
/** @var \Symfony\Component\Console\Output\OutputInterface $output */
$output = $this->output();
diff --git a/src/Polymer/Plugin/Template/GitHubWorkflows/AutomaticUpgrade.php b/src/Plugin/Template/GitHubWorkflows/AutomaticUpgrade.php
similarity index 85%
rename from src/Polymer/Plugin/Template/GitHubWorkflows/AutomaticUpgrade.php
rename to src/Plugin/Template/GitHubWorkflows/AutomaticUpgrade.php
index deabf53..4b304b0 100644
--- a/src/Polymer/Plugin/Template/GitHubWorkflows/AutomaticUpgrade.php
+++ b/src/Plugin/Template/GitHubWorkflows/AutomaticUpgrade.php
@@ -1,8 +1,8 @@