From fd24265e7703878a9735a9fb4615cdfdfdc5387e Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:02:44 +0300 Subject: [PATCH 01/35] ISAICP-5825: Remove stale 'setup-acceptance' Phing target. --- build.dist.xml | 5 ----- build.project.xml | 5 ----- 2 files changed, 10 deletions(-) diff --git a/build.dist.xml b/build.dist.xml index 3ed8038cd5..7266182eda 100644 --- a/build.dist.xml +++ b/build.dist.xml @@ -345,11 +345,6 @@ description="Set up 'development mode' for an installed website." depends="enable-dev-settings, setup-config-exclude, redirect-outgoing-email, enable-dev-modules" /> - - - - Date: Sat, 25 Apr 2020 14:06:48 +0300 Subject: [PATCH 02/35] ISAICP-5825: Remove stale deploy scripts. --- resources/codedeploy/scripts/cleanup.sh | 4 ---- resources/codedeploy/scripts/install.sh | 14 -------------- 2 files changed, 18 deletions(-) delete mode 100755 resources/codedeploy/scripts/cleanup.sh delete mode 100755 resources/codedeploy/scripts/install.sh diff --git a/resources/codedeploy/scripts/cleanup.sh b/resources/codedeploy/scripts/cleanup.sh deleted file mode 100755 index 58ff255210..0000000000 --- a/resources/codedeploy/scripts/cleanup.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -rm -Rf /srv/project -mkdir /srv/project -chown www-data:www-data /srv/project \ No newline at end of file diff --git a/resources/codedeploy/scripts/install.sh b/resources/codedeploy/scripts/install.sh deleted file mode 100755 index 5700681e64..0000000000 --- a/resources/codedeploy/scripts/install.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -cd /srv/project - -while [ ! -f /usr/local/etc/subsite/subsite.ini ] -do - sleep 2 -done - -# This can be removed once the ami is rebuild: -nohup echo "shutdown();" | isql-vt & - -chown -R www-data:www-data /srv/project -# Background and detach to work around time constrains of AWS CodeDeploy. -nohup sudo -u www-data vendor/bin/phing -propertyfile /usr/local/etc/subsite/subsite.ini virtuoso-setup virtuoso-start install setup-acceptance >> /var/log/subsite-install.log 2>&1 & From f6248ecb789260457a4da0214c606ee7f3ce58a0 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:14:34 +0300 Subject: [PATCH 03/35] ISAICP-5825: Fix the project's namespace. --- build.continuousphp.xml | 2 +- build.dist.xml | 4 +-- build.eulogin.xml | 2 +- build.project.xml | 12 ++++----- build.redis.xml | 2 +- composer.json | 17 ++++++------- .../Composer}/CaptureGitReleaseTag.php | 2 +- .../Composer}/RemoveWrongPatchedObjects.php | 4 ++- .../Composer}/ScriptHandler.php | 25 ++++++++++--------- src/Phing/AfterFixturesImportCleanup.php | 4 +-- src/Phing/AwsS3Base.php | 2 +- src/Phing/AwsS3GetTask.php | 2 +- src/Phing/AwsS3ListTask.php | 2 +- src/Phing/EnvironmentVarAsProperty.php | 2 +- .../EuLoginBuildEcasMockDockerCompose.php | 2 +- src/Phing/MySqlEmptyDatabaseTask.php | 2 +- src/Phing/PhpCodeSnifferConfigurationTask.php | 4 +-- src/Phing/PhpUnitConfigurationTask.php | 4 +-- src/Phing/RedisFlush.php | 2 +- src/Phing/SetMysqlAutoincrement.php | 2 +- src/Phing/TruncateCacheTablesTask.php | 2 +- .../JoinupExistingSiteJavascriptTestSuite.php | 2 +- src/PhpUnit/JoinupExistingSiteTestSuite.php | 2 +- .../JoinupFunctionalJavascriptTestSuite.php | 2 +- src/PhpUnit/JoinupFunctionalTestSuite.php | 2 +- src/PhpUnit/JoinupKernelTestSuite.php | 2 +- src/PhpUnit/JoinupTestSuiteBase.php | 2 +- src/PhpUnit/JoinupUnitTestSuite.php | 2 +- .../joinup_core/joinup_core.post_update.php | 2 +- .../joinup_licence.post_update.php | 2 +- 30 files changed, 59 insertions(+), 59 deletions(-) rename {scripts/composer => src/Composer}/CaptureGitReleaseTag.php (96%) rename {scripts/composer => src/Composer}/RemoveWrongPatchedObjects.php (96%) rename {scripts/composer => src/Composer}/ScriptHandler.php (82%) diff --git a/build.continuousphp.xml b/build.continuousphp.xml index 65e3b9608f..3c1cbe1a9d 100644 --- a/build.continuousphp.xml +++ b/build.continuousphp.xml @@ -7,7 +7,7 @@ - + diff --git a/build.dist.xml b/build.dist.xml index 7266182eda..90c31c47c5 100644 --- a/build.dist.xml +++ b/build.dist.xml @@ -15,10 +15,10 @@ - + - + diff --git a/build.eulogin.xml b/build.eulogin.xml index d17f17459a..8deb4a0ae1 100644 --- a/build.eulogin.xml +++ b/build.eulogin.xml @@ -2,7 +2,7 @@ - + diff --git a/build.project.xml b/build.project.xml index 38b086f7ef..f036023795 100644 --- a/build.project.xml +++ b/build.project.xml @@ -30,22 +30,22 @@ - + - + - + - + - + - + diff --git a/build.redis.xml b/build.redis.xml index c0591ceac7..e9d73132ca 100644 --- a/build.redis.xml +++ b/build.redis.xml @@ -2,7 +2,7 @@ - + exists($drupalRoot . '/'. $dir)) { - $fs->mkdir($drupalRoot . '/'. $dir); - $fs->touch($drupalRoot . '/'. $dir . '/.gitkeep'); + if (!$fs->exists($drupalRoot . '/' . $dir)) { + $fs->mkdir($drupalRoot . '/' . $dir); + $fs->touch($drupalRoot . '/' . $dir . '/.gitkeep'); } } - // Prepare the settings file for installation + // Prepare the settings file for installation. if (!$fs->exists($drupalRoot . '/sites/default/settings.php') and $fs->exists($drupalRoot . '/sites/default/default.settings.php')) { $fs->copy($drupalRoot . '/sites/default/default.settings.php', $drupalRoot . '/sites/default/settings.php'); require_once $drupalRoot . '/core/includes/bootstrap.inc'; @@ -55,7 +56,7 @@ public static function createRequiredFiles(Event $event) { $event->getIO()->write("Created a sites/default/settings.php file with chmod 0640"); } - // Create the files directory with chmod 0755 + // Create the files directory with chmod 0755. if (!$fs->exists($drupalRoot . '/sites/default/files')) { $oldmask = umask(0); $fs->mkdir($drupalRoot . '/sites/default/files', 0755); diff --git a/src/Phing/AfterFixturesImportCleanup.php b/src/Phing/AfterFixturesImportCleanup.php index 937af22c95..9a531b9eeb 100644 --- a/src/Phing/AfterFixturesImportCleanup.php +++ b/src/Phing/AfterFixturesImportCleanup.php @@ -2,10 +2,10 @@ /** * @file - * Contains \DrupalProject\build\Phing\AfterFixturesImportCleanup. + * Contains \Joinup\build\Phing\AfterFixturesImportCleanup. */ -namespace DrupalProject\Phing; +namespace Joinup\Phing; use Virtuoso\Task\VirtuosoTaskBase; diff --git a/src/Phing/AwsS3Base.php b/src/Phing/AwsS3Base.php index de9dea60b0..ed34719d9b 100644 --- a/src/Phing/AwsS3Base.php +++ b/src/Phing/AwsS3Base.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; use Aws\S3\S3Client; diff --git a/src/Phing/AwsS3GetTask.php b/src/Phing/AwsS3GetTask.php index a113b3ef97..2650a260ee 100644 --- a/src/Phing/AwsS3GetTask.php +++ b/src/Phing/AwsS3GetTask.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; /** * Phing task to download a file from an AWS S3 bucket. diff --git a/src/Phing/AwsS3ListTask.php b/src/Phing/AwsS3ListTask.php index 55a502a335..12e3e95df6 100644 --- a/src/Phing/AwsS3ListTask.php +++ b/src/Phing/AwsS3ListTask.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; /** * Phing task to output a list of files from an AWS S3 bucket in a property. diff --git a/src/Phing/EnvironmentVarAsProperty.php b/src/Phing/EnvironmentVarAsProperty.php index acf3d1e2cb..00b9782201 100644 --- a/src/Phing/EnvironmentVarAsProperty.php +++ b/src/Phing/EnvironmentVarAsProperty.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; /** * Phing task to copy prefixed environment vars to phing properties. diff --git a/src/Phing/EuLoginBuildEcasMockDockerCompose.php b/src/Phing/EuLoginBuildEcasMockDockerCompose.php index c6caf13c7a..db51c32c0a 100644 --- a/src/Phing/EuLoginBuildEcasMockDockerCompose.php +++ b/src/Phing/EuLoginBuildEcasMockDockerCompose.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; use Drupal\Core\Serialization\Yaml; diff --git a/src/Phing/MySqlEmptyDatabaseTask.php b/src/Phing/MySqlEmptyDatabaseTask.php index cc26390bba..5d00cead0b 100644 --- a/src/Phing/MySqlEmptyDatabaseTask.php +++ b/src/Phing/MySqlEmptyDatabaseTask.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; /** * Provides a Phing task that drops all the tables from a MySQL database. diff --git a/src/Phing/PhpCodeSnifferConfigurationTask.php b/src/Phing/PhpCodeSnifferConfigurationTask.php index d2a09c4e9d..2ad62a63c6 100644 --- a/src/Phing/PhpCodeSnifferConfigurationTask.php +++ b/src/Phing/PhpCodeSnifferConfigurationTask.php @@ -2,10 +2,10 @@ /** * @file - * Contains \DrupalProject\build\Phing\PhpCodeSnifferConfigurationTask. + * Contains \Joinup\build\Phing\PhpCodeSnifferConfigurationTask. */ -namespace DrupalProject\Phing; +namespace Joinup\Phing; require_once 'phing/Task.php'; diff --git a/src/Phing/PhpUnitConfigurationTask.php b/src/Phing/PhpUnitConfigurationTask.php index 80011f7f0d..a6626fe714 100644 --- a/src/Phing/PhpUnitConfigurationTask.php +++ b/src/Phing/PhpUnitConfigurationTask.php @@ -2,10 +2,10 @@ /** * @file - * Contains \DrupalProject\build\Phing\PhpUnitConfigurationTask. + * Contains \Joinup\build\Phing\PhpUnitConfigurationTask. */ -namespace DrupalProject\Phing; +namespace Joinup\Phing; require_once 'phing/Task.php'; diff --git a/src/Phing/RedisFlush.php b/src/Phing/RedisFlush.php index 5ca6836035..07b45b8a1a 100644 --- a/src/Phing/RedisFlush.php +++ b/src/Phing/RedisFlush.php @@ -2,7 +2,7 @@ declare(strict_types = 1); -namespace DrupalProject\Phing; +namespace Joinup\Phing; use Drupal\Core\Site\Settings; use Drupal\redis\ClientFactory; diff --git a/src/Phing/SetMysqlAutoincrement.php b/src/Phing/SetMysqlAutoincrement.php index 306b4e787c..35e3b7b288 100644 --- a/src/Phing/SetMysqlAutoincrement.php +++ b/src/Phing/SetMysqlAutoincrement.php @@ -1,6 +1,6 @@ insert($graph); // Repeat the cleanup steps so that it mimics the rdf fixtures import class. - // @see \DrupalProject\Phing\AfterFixturesImportCleanup::main + // @see \Joinup\Phing\AfterFixturesImportCleanup::main $connection->query('WITH INSERT { ?subject a skos:Concept } WHERE { ?subject a skos:Collection . };'); $connection->query('WITH INSERT { ?subject skos:topConceptOf } WHERE { ?subject a skos:Concept . FILTER NOT EXISTS { ?subject skos:topConceptOf } };'); $connection->query('WITH INSERT { ?member skos:broaderTransitive ?collection } WHERE { ?collection a skos:Collection . ?collection skos:member ?member };'); From 51869b889c1e0811cf4765f447fc45573796f802 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:19:57 +0300 Subject: [PATCH 04/35] ISAICP-5825: Bring Toolkit and Task Runner patches. --- composer.json | 15 +- composer.lock | 4977 ++++++++++++++----------- resources/patch/task-runner-119.patch | 227 ++ 3 files changed, 3105 insertions(+), 2114 deletions(-) create mode 100644 resources/patch/task-runner-119.patch diff --git a/composer.json b/composer.json index 5930d0064d..5fd1958617 100644 --- a/composer.json +++ b/composer.json @@ -56,7 +56,7 @@ "drupal/phingdrushtask": "dev-7.x-2.x", "drupal/pipeline": "^1.0", "drupal/publication_date": "^2.0-beta1", - "drupal/rdf_entity": "^1.0-alpha20", + "drupal/rdf_entity": "^1.0-alpha21", "drupal/redirect": "^1.4", "drupal/redis": "^1.2", "drupal/schema_metatag": "^1.4", @@ -80,6 +80,7 @@ "ec-europa/infra": "dev-master", "ec-europa/joinup-tallinn-dashboard": "dev-master", "ec-europa/material-design-lite": "dev-joinup", + "ec-europa/toolkit": "^4.0", "ec-europa/virtuoso": "^2.1", "jacklmoore/autosize": "dev-master", "masterminds/html5": "^2.7", @@ -293,8 +294,7 @@ "Provide computed properties that return the publication date or the created/updated date @see https://www.drupal.org/project/publication_date/issues/3066317": "https://www.drupal.org/files/issues/2019-07-07/3066317-3.patch" }, "drupal/rdf_entity": { - "Allow bundle label plural variants @see https://github.com/ec-europa/rdf_entity/pull/12": "https://github.com/ec-europa/rdf_entity/compare/8.x-1.x...bd61c32c6f877f2c0376ec9aa213b89b6bcb19b8.diff", - "Add entity cacheable metadata to view access result @see https://github.com/ec-europa/rdf_entity/pull/120": "https://patch-diff.githubusercontent.com/raw/ec-europa/rdf_entity/pull/120.diff" + "Allow bundle label plural variants @see https://github.com/ec-europa/rdf_entity/pull/12": "https://github.com/ec-europa/rdf_entity/compare/8.x-1.x...bd61c32c6f877f2c0376ec9aa213b89b6bcb19b8.diff" }, "drupal/schema_metatag": { "Split SchemaArticle and SchemaSocialMediaPosting @see https://www.drupal.org/project/schema_metatag/issues/3117434": "https://www.drupal.org/files/issues/2020-03-13/3117434-D8-8.patch", @@ -324,10 +324,19 @@ "Do not throw an exception when valid JSON data evaluates to empty PHP data @see https://github.com/drush-ops/drush/pull/4342": "https://patch-diff.githubusercontent.com/raw/drush-ops/drush/pull/4342.diff", "Output correct data for machine readable formats in config:status @see https://github.com/drush-ops/drush/pull/4340": "resources/patch/drush-4340.patch" }, + "ec-europa/toolkit": { + "Variables in 'sequence-file' are not resolved @see https://github.com/ec-europa/toolkit/issues/273": "https://patch-diff.githubusercontent.com/raw/ec-europa/toolkit/pull/274.diff" + }, "openeuropa/oe_webtools": { "Allow to pass an optional referer. @see https://github.com/openeuropa/oe_webtools/pull/96": "https://patch-diff.githubusercontent.com/raw/openeuropa/oe_webtools/pull/96.diff", "Place the webtools loader on the head. @see https://github.com/openeuropa/oe_webtools/pull/102": "https://patch-diff.githubusercontent.com/raw/openeuropa/oe_webtools/pull/102.diff", "Add the possibility to display a marker in the map. @see https://github.com/openeuropa/oe_webtools/pull/111": "https://patch-diff.githubusercontent.com/raw/openeuropa/oe_webtools/pull/111.diff" + }, + "openeuropa/task-runner": { + "Allow dynamic commands to override also annotated commands @see https://github.com/openeuropa/task-runner/pull/119": "resources/patch/task-runner-119.patch", + "Arguments & options @see https://github.com/openeuropa/task-runner/issues/111": "https://patch-diff.githubusercontent.com/raw/openeuropa/task-runner/pull/120.diff", + "Allow altering the config @see https://github.com/openeuropa/task-runner/issues/122": "https://github.com/openeuropa/task-runner/compare/dd4a4c770e121f2d7ab032a08dd48480bac36696...a1d8eaafcababed097817e78d701b3707c96d2e7.diff", + "New 'exec' task for dynamic commands @see https://github.com/openeuropa/task-runner/pull/124": "https://patch-diff.githubusercontent.com/raw/openeuropa/task-runner/pull/124.diff" } } }, diff --git a/composer.lock b/composer.lock index 065ac64a3f..ce3c982d24 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0c02be6406dac50bb7c73b9baadc691e", + "content-hash": "5cb95a79d287cdd219c2260e9949dfb8", "packages": [ { "name": "SEMICeu/adms-ap_validator", @@ -71,16 +71,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.135.3", + "version": "3.136.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "0f6f6e8f4a44193908e18b8c7b8530b02f5bc428" + "reference": "223e616d5eda2e60c338279c3b0136455f74f7d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0f6f6e8f4a44193908e18b8c7b8530b02f5bc428", - "reference": "0f6f6e8f4a44193908e18b8c7b8530b02f5bc428", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/223e616d5eda2e60c338279c3b0136455f74f7d0", + "reference": "223e616d5eda2e60c338279c3b0136455f74f7d0", "shasum": "" }, "require": { @@ -151,137 +151,187 @@ "s3", "sdk" ], - "time": "2020-04-23T18:18:24+00:00" + "time": "2020-04-29T19:14:20+00:00" }, { - "name": "caxy/php-htmldiff", - "version": "v0.1.9", + "name": "behat/behat", + "version": "v3.6.1", "source": { "type": "git", - "url": "https://github.com/caxy/php-htmldiff.git", - "reference": "4bad5c6a4ecc76954d37764e6a29273b6b7bf1f8" + "url": "https://github.com/Behat/Behat.git", + "reference": "9bfe195b4745c32e068af03fa4df9558b4916d30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/caxy/php-htmldiff/zipball/4bad5c6a4ecc76954d37764e6a29273b6b7bf1f8", - "reference": "4bad5c6a4ecc76954d37764e6a29273b6b7bf1f8", + "url": "https://api.github.com/repos/Behat/Behat/zipball/9bfe195b4745c32e068af03fa4df9558b4916d30", + "reference": "9bfe195b4745c32e068af03fa4df9558b4916d30", "shasum": "" }, "require": { - "ezyang/htmlpurifier": "^4.7", - "kub-at/php-simple-html-dom-parser": "^1.7", - "php": ">=5.3.3" + "behat/gherkin": "^4.6.0", + "behat/transliterator": "^1.2", + "container-interop/container-interop": "^1.2", + "ext-mbstring": "*", + "php": ">=5.3.3", + "psr/container": "^1.0", + "symfony/config": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", + "symfony/console": "^2.7.51 || ^2.8.33 || ^3.3.15 || ^3.4.3 || ^4.0.3 || ^5.0", + "symfony/dependency-injection": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", + "symfony/event-dispatcher": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", + "symfony/translation": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", + "symfony/yaml": "^2.7.51 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "doctrine/cache": "~1.0", - "phpunit/phpunit": "~5.0" + "herrera-io/box": "~1.6.1", + "phpunit/phpunit": "^4.8.36 || ^6.3", + "symfony/process": "~2.5 || ^3.0 || ^4.0 || ^5.0" }, "suggest": { - "doctrine/cache": "Used for caching the calculated diffs using a Doctrine Cache Provider" + "ext-dom": "Needed to output test results in JUnit format." }, + "bin": [ + "bin/behat" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1.x-dev" + "dev-master": "3.6.x-dev" } }, "autoload": { - "psr-0": { - "Caxy\\HtmlDiff": "lib/" + "psr-4": { + "Behat\\Behat\\": "src/Behat/Behat/", + "Behat\\Testwork\\": "src/Behat/Testwork/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0" + "MIT" ], "authors": [ { - "name": "Josh Schroeder", - "email": "jschroeder@caxy.com", - "homepage": "http://www.caxy.com" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "A library for comparing two HTML files/snippets and highlighting the differences using simple HTML.", - "homepage": "https://github.com/caxy/php-htmldiff", + "description": "Scenario-oriented BDD framework for PHP 5.3", + "homepage": "http://behat.org/", "keywords": [ - "diff", - "html" + "Agile", + "BDD", + "ScenarioBDD", + "Scrum", + "StoryBDD", + "User story", + "business", + "development", + "documentation", + "examples", + "symfony", + "testing" ], - "time": "2019-02-20T18:52:14+00:00" + "time": "2020-02-06T09:54:48+00:00" }, { - "name": "chi-teck/drupal-code-generator", - "version": "1.32.0", + "name": "behat/gherkin", + "version": "v4.6.2", "source": { "type": "git", - "url": "https://github.com/Chi-teck/drupal-code-generator.git", - "reference": "0e045f7a7e747af3d8f603156bf4d73be5768246" + "url": "https://github.com/Behat/Gherkin.git", + "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/0e045f7a7e747af3d8f603156bf4d73be5768246", - "reference": "0e045f7a7e747af3d8f603156bf4d73be5768246", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/51ac4500c4dc30cbaaabcd2f25694299df666a31", + "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31", "shasum": "" }, "require": { - "ext-json": "*", - "php": ">=5.5.9", - "symfony/console": "^3.4 || ^4.0", - "symfony/filesystem": "^2.7 || ^3.4 || ^4.0", - "twig/twig": "^1.41 || ^2.12" + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3|~4", + "symfony/yaml": "~2.3|~3|~4" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" }, - "bin": [ - "bin/dcg" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "4.4-dev" } }, "autoload": { - "files": [ - "src/bootstrap.php" - ], - "psr-4": { - "DrupalCodeGenerator\\": "src" + "psr-0": { + "Behat\\Gherkin": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0-or-later" + "MIT" ], - "description": "Drupal code generator", - "time": "2020-04-16T06:45:06+00:00" + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2020-03-17T14:03:26+00:00" }, { - "name": "clue/stream-filter", - "version": "v1.4.1", + "name": "behat/mink", + "version": "v1.8.0", "source": { "type": "git", - "url": "https://github.com/clue/php-stream-filter.git", - "reference": "5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71" + "url": "https://github.com/minkphp/Mink.git", + "reference": "e1772aabb6b654464264a6cc72158c8b3409d8bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71", - "reference": "5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/e1772aabb6b654464264a6cc72158c8b3409d8bc", + "reference": "e1772aabb6b654464264a6cc72158c8b3409d8bc", "shasum": "" }, "require": { - "php": ">=5.3" + "php": ">=5.3.1", + "symfony/css-selector": "^2.7|^3.0|^4.0|^5.0" }, "require-dev": { - "phpunit/phpunit": "^5.0 || ^4.8" + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20", + "symfony/debug": "^2.7|^3.0|^4.0", + "symfony/phpunit-bridge": "^3.4.38 || ^5.0.5" + }, + "suggest": { + "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", + "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", + "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", + "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)", + "dmore/chrome-mink-driver": "fast and JS-enabled driver for any app (requires chromium or google chrome)" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, "autoload": { "psr-4": { - "Clue\\StreamFilter\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "Behat\\Mink\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -289,56 +339,54 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@lueck.tv" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", + "description": "Browser controller/emulator abstraction for PHP", + "homepage": "http://mink.behat.org/", "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" + "browser", + "testing", + "web" ], - "time": "2019-04-09T12:31:48+00:00" + "time": "2020-03-11T15:26:34+00:00" }, { - "name": "composer/ca-bundle", - "version": "1.2.7", + "name": "behat/mink-browserkit-driver", + "version": "v1.3.4", "source": { "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd" + "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", + "reference": "e3b90840022ebcd544c7b394a3c9597ae242cbee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd", - "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/e3b90840022ebcd544c7b394a3c9597ae242cbee", + "reference": "e3b90840022ebcd544c7b394a3c9597ae242cbee", "shasum": "" }, "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" + "behat/mink": "^1.7.1@dev", + "php": ">=5.3.6", + "symfony/browser-kit": "~2.3|~3.0|~4.0", + "symfony/dom-crawler": "~2.3|~3.0|~4.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", - "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + "mink/driver-testsuite": "dev-master", + "symfony/debug": "^2.7|^3.0|^4.0", + "symfony/http-kernel": "~2.3|~3.0|~4.0" }, - "type": "library", + "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { "psr-4": { - "Composer\\CaBundle\\": "src" + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -347,34 +395,463 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "description": "Symfony2 BrowserKit driver for Mink framework", + "homepage": "http://mink.behat.org/", "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } + "Mink", + "Symfony2", + "browser", + "testing" ], - "time": "2020-04-08T08:27:21+00:00" + "time": "2020-03-11T09:49:45+00:00" }, { - "name": "composer/composer", - "version": "1.10.5", + "name": "behat/mink-extension", + "version": "2.3.1", + "source": { + "type": "git", + "url": "https://github.com/Behat/MinkExtension.git", + "reference": "80f7849ba53867181b7e412df9210e12fba50177" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/80f7849ba53867181b7e412df9210e12fba50177", + "reference": "80f7849ba53867181b7e412df9210e12fba50177", + "shasum": "" + }, + "require": { + "behat/behat": "^3.0.5", + "behat/mink": "^1.5", + "php": ">=5.3.2", + "symfony/config": "^2.7|^3.0|^4.0" + }, + "require-dev": { + "behat/mink-goutte-driver": "^1.1", + "phpspec/phpspec": "^2.0" + }, + "type": "behat-extension", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\MinkExtension": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christophe Coevoet", + "email": "stof@notk.org" + }, + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com" + } + ], + "description": "Mink extension for Behat", + "homepage": "http://extensions.behat.org/mink", + "keywords": [ + "browser", + "gui", + "test", + "web" + ], + "time": "2018-02-06T15:36:30+00:00" + }, + { + "name": "behat/mink-goutte-driver", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/minkphp/MinkGoutteDriver.git", + "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", + "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", + "shasum": "" + }, + "require": { + "behat/mink": "~1.6@dev", + "behat/mink-browserkit-driver": "~1.2@dev", + "fabpot/goutte": "~1.0.4|~2.0|~3.1", + "php": ">=5.3.1" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "type": "mink-driver", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Goutte driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "browser", + "goutte", + "headless", + "testing" + ], + "time": "2016-03-05T09:04:22+00:00" + }, + { + "name": "behat/mink-selenium2-driver", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/minkphp/MinkSelenium2Driver.git", + "reference": "312a967dd527f28980cce40850339cd5316da092" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/312a967dd527f28980cce40850339cd5316da092", + "reference": "312a967dd527f28980cce40850339cd5316da092", + "shasum": "" + }, + "require": { + "behat/mink": "~1.7@dev", + "instaclick/php-webdriver": "~1.1", + "php": ">=5.4" + }, + "require-dev": { + "mink/driver-testsuite": "dev-master" + }, + "type": "mink-driver", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pete Otaqui", + "email": "pete@otaqui.com", + "homepage": "https://github.com/pete-otaqui" + }, + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Selenium2 (WebDriver) driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "ajax", + "browser", + "javascript", + "selenium", + "testing", + "webdriver" + ], + "time": "2020-03-11T14:43:21+00:00" + }, + { + "name": "behat/transliterator", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Transliterator.git", + "reference": "3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc", + "reference": "3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "chuyskywalker/rolling-curl": "^3.1", + "php-yaoi/php-yaoi": "^1.0", + "phpunit/phpunit": "^4.8.36|^6.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Behat\\Transliterator\\": "src/Behat/Transliterator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Artistic-1.0" + ], + "description": "String transliterator", + "keywords": [ + "i18n", + "slug", + "transliterator" + ], + "time": "2020-01-14T16:39:13+00:00" + }, + { + "name": "caxy/php-htmldiff", + "version": "v0.1.9", + "source": { + "type": "git", + "url": "https://github.com/caxy/php-htmldiff.git", + "reference": "4bad5c6a4ecc76954d37764e6a29273b6b7bf1f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/caxy/php-htmldiff/zipball/4bad5c6a4ecc76954d37764e6a29273b6b7bf1f8", + "reference": "4bad5c6a4ecc76954d37764e6a29273b6b7bf1f8", + "shasum": "" + }, + "require": { + "ezyang/htmlpurifier": "^4.7", + "kub-at/php-simple-html-dom-parser": "^1.7", + "php": ">=5.3.3" + }, + "require-dev": { + "doctrine/cache": "~1.0", + "phpunit/phpunit": "~5.0" + }, + "suggest": { + "doctrine/cache": "Used for caching the calculated diffs using a Doctrine Cache Provider" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Caxy\\HtmlDiff": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0" + ], + "authors": [ + { + "name": "Josh Schroeder", + "email": "jschroeder@caxy.com", + "homepage": "http://www.caxy.com" + } + ], + "description": "A library for comparing two HTML files/snippets and highlighting the differences using simple HTML.", + "homepage": "https://github.com/caxy/php-htmldiff", + "keywords": [ + "diff", + "html" + ], + "time": "2019-02-20T18:52:14+00:00" + }, + { + "name": "chi-teck/drupal-code-generator", + "version": "1.32.0", + "source": { + "type": "git", + "url": "https://github.com/Chi-teck/drupal-code-generator.git", + "reference": "0e045f7a7e747af3d8f603156bf4d73be5768246" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/0e045f7a7e747af3d8f603156bf4d73be5768246", + "reference": "0e045f7a7e747af3d8f603156bf4d73be5768246", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.5.9", + "symfony/console": "^3.4 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.4 || ^4.0", + "twig/twig": "^1.41 || ^2.12" + }, + "bin": [ + "bin/dcg" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "files": [ + "src/bootstrap.php" + ], + "psr-4": { + "DrupalCodeGenerator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "description": "Drupal code generator", + "time": "2020-04-16T06:45:06+00:00" + }, + { + "name": "clue/stream-filter", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/clue/php-stream-filter.git", + "reference": "5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71", + "reference": "5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\StreamFilter\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@lueck.tv" + } + ], + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/php-stream-filter", + "keywords": [ + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" + ], + "time": "2019-04-09T12:31:48+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.2.7", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-04-08T08:27:21+00:00" + }, + { + "name": "composer/composer", + "version": "1.10.5", "source": { "type": "git", "url": "https://github.com/composer/composer.git", @@ -2927,6 +3404,44 @@ "source": "https://git.drupalcode.org/project/changed_fields" } }, + { + "name": "drupal/coder", + "version": "8.3.8", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/coder.git", + "reference": "e53e75b45842a5d2b454b08c318a17f57339e60e" + }, + "require": { + "ext-mbstring": "*", + "php": ">=7.0.8", + "squizlabs/php_codesniffer": "^3.5.4", + "symfony/yaml": ">=2.0.5" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.5", + "phpunit/phpunit": "^6.0 || ^7.0" + }, + "type": "phpcodesniffer-standard", + "autoload": { + "psr-4": { + "Drupal\\": "coder_sniffer/Drupal/", + "DrupalPractice\\": "coder_sniffer/DrupalPractice/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "description": "Coder is a library to review Drupal code.", + "homepage": "https://www.drupal.org/project/coder", + "keywords": [ + "code review", + "phpcs", + "standards" + ], + "time": "2020-03-08T19:03:35+00:00" + }, { "name": "drupal/config_exclude", "version": "dev-1.x", @@ -3761,69 +4276,199 @@ "shasum": "e2a3e6c961eb2e5891bf04bd623a617e8e6851d9" }, "require": { - "drupal/core": "~8.0" + "drupal/core": "~8.0" + }, + "type": "drupal-module", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + }, + "drupal": { + "version": "8.x-1.0-alpha1", + "datestamp": "1475743794", + "security-coverage": { + "status": "not-covered", + "message": "Project has not opted into security advisory coverage!" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Claudiu Cristea", + "homepage": "https://www.drupal.org/user/56348", + "role": "Maintainer" + } + ], + "description": "Provide a numeric field formatter that shows numbers formatted digital size (2KB, 1GB. 2MB, etc)..", + "homepage": "https://www.drupal.org/project/digital_size_formatter", + "keywords": [ + "drupal", + "field", + "formatter", + "php" + ], + "support": { + "source": "https://git.drupal.org/project/digital_size_formatter.git", + "issues": "https://www.drupal.org/project/issues/digital_size_formatter", + "irc": "irc://irc.freenode.org/drupal-contribute" + } + }, + { + "name": "drupal/drupal-driver", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/jhedstrom/DrupalDriver.git", + "reference": "b648a6e80f926e59146b8a67ffe33ee0d0d8d84a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jhedstrom/DrupalDriver/zipball/b648a6e80f926e59146b8a67ffe33ee0d0d8d84a", + "reference": "b648a6e80f926e59146b8a67ffe33ee0d0d8d84a", + "shasum": "" + }, + "require": { + "drupal/core-utility": "^8.4", + "php": ">=5.6", + "symfony/dependency-injection": "~2.6|~3.0", + "symfony/process": "~2.5|~3.0" + }, + "require-dev": { + "drupal/coder": "~8.2.0", + "drush-ops/behat-drush-endpoint": "*", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "mockery/mockery": "0.9.4", + "phpspec/phpspec": "~2.0 || ~4.0", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Drupal\\Driver": "src/", + "Drupal\\Tests\\Driver": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Jonathan Hedstrom", + "email": "jhedstrom@gmail.com" + } + ], + "description": "A collection of reusable Drupal drivers", + "homepage": "http://github.com/jhedstrom/DrupalDriver", + "keywords": [ + "drupal", + "test", + "web" + ], + "time": "2019-09-27T19:33:08+00:00" + }, + { + "name": "drupal/drupal-extension", + "version": "v4.0.1", + "source": { + "type": "git", + "url": "https://github.com/jhedstrom/drupalextension.git", + "reference": "34a3425f15f199911c2741f74ff0f27a97a7af98" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jhedstrom/drupalextension/zipball/34a3425f15f199911c2741f74ff0f27a97a7af98", + "reference": "34a3425f15f199911c2741f74ff0f27a97a7af98", + "shasum": "" + }, + "require": { + "behat/behat": "~3.2", + "behat/mink": "~1.5", + "behat/mink-extension": "~2.0", + "behat/mink-goutte-driver": "~1.0", + "behat/mink-selenium2-driver": "~1.1", + "drupal/drupal-driver": "^2.0.0", + "symfony/browser-kit": "^3.4", + "symfony/dependency-injection": "~3.0", + "symfony/translation": "^3.4" }, - "type": "drupal-module", + "require-dev": { + "drupal/coder": "~8.2.12", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "phpspec/phpspec": "~2.0 || ~4.0" + }, + "type": "behat-extension", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, - "drupal": { - "version": "8.x-1.0-alpha1", - "datestamp": "1475743794", - "security-coverage": { - "status": "not-covered", - "message": "Project has not opted into security advisory coverage!" - } + "patches_applied": { + "Add space arround the keywords to avoid wrongly matching @see https://github.com/jhedstrom/drupalextension/pull/561": "https://patch-diff.githubusercontent.com/raw/jhedstrom/drupalextension/pull/561.patch" } }, - "notification-url": "https://packages.drupal.org/8/downloads", + "autoload": { + "psr-0": { + "Drupal\\Drupal": "src/", + "Drupal\\Exception": "src/", + "Drupal\\DrupalExtension": "src/", + "Drupal\\MinkExtension": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { - "name": "Claudiu Cristea", - "homepage": "https://www.drupal.org/user/56348", - "role": "Maintainer" + "name": "Jonathan Hedstrom", + "email": "jhedstrom@gmail.com" + }, + { + "name": "Melissa Anderson", + "homepage": "https://github.com/eliza411" + }, + { + "name": "Pieter Frenssen", + "homepage": "https://github.com/pfrenssen" } ], - "description": "Provide a numeric field formatter that shows numbers formatted digital size (2KB, 1GB. 2MB, etc)..", - "homepage": "https://www.drupal.org/project/digital_size_formatter", + "description": "Drupal extension for Behat", + "homepage": "http://drupal.org/project/drupalextension", "keywords": [ "drupal", - "field", - "formatter", - "php" + "test", + "web" ], - "support": { - "source": "https://git.drupal.org/project/digital_size_formatter.git", - "issues": "https://www.drupal.org/project/issues/digital_size_formatter", - "irc": "irc://irc.freenode.org/drupal-contribute" - } + "time": "2019-10-08T21:13:07+00:00" }, { "name": "drupal/dynamic_entity_reference", - "version": "2.0.0-alpha11", + "version": "2.0.0-alpha12", "source": { "type": "git", "url": "https://git.drupalcode.org/project/dynamic_entity_reference.git", - "reference": "8.x-2.0-alpha11" + "reference": "8.x-2.0-alpha12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/dynamic_entity_reference-8.x-2.0-alpha11.zip", - "reference": "8.x-2.0-alpha11", - "shasum": "109047e07a7e77528747d41044b6cf13f2671ac7" + "url": "https://ftp.drupal.org/files/projects/dynamic_entity_reference-8.x-2.0-alpha12.zip", + "reference": "8.x-2.0-alpha12", + "shasum": "71316b8f1f6d570755eebff8ff371e1b496f08c0" }, "require": { - "drupal/core": "^8 || ^9" + "drupal/core": "^8.7.7 || ^9" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-alpha11", - "datestamp": "1575458288", + "version": "8.x-2.0-alpha12", + "datestamp": "1587807950", "security-coverage": { "status": "not-covered", "message": "Alpha releases are not covered by Drupal security advisories." @@ -5667,32 +6312,40 @@ }, { "name": "drupal/pathauto", - "version": "1.6.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.6" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.6.zip", - "reference": "8.x-1.6", - "shasum": "eb976ae110d73c06fafb1b657adb967dd2cb8246" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "ede3216abb9c4f77709338d9147334c595046329" }, "require": { - "drupal/core": "^8.6", + "drupal/core": "^8.8 || ^9", "drupal/ctools": "*", "drupal/token": "*" }, + "suggest": { + "drupal/redirect": "When installed Pathauto will provide a new \"Update Action\" in case your URLs change. This is the recommended update action and is considered the best practice for SEO and usability." + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.6", - "datestamp": "1575467285", + "version": "8.x-1.8", + "datestamp": "1588103046", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" } + }, + "drush": { + "services": { + "drush.services.yml": "^9 || ^10" + } } }, "notification-url": "https://packages.drupal.org/8/downloads", @@ -5720,7 +6373,9 @@ "description": "Provides a mechanism for modules to automatically generate aliases for the content they manage.", "homepage": "https://www.drupal.org/project/pathauto", "support": { - "source": "https://git.drupalcode.org/project/pathauto" + "source": "https://cgit.drupalcode.org/pathauto", + "issues": "https://www.drupal.org/project/issues/pathauto", + "documentation": "https://www.drupal.org/docs/8/modules/pathauto" } }, { @@ -5992,17 +6647,17 @@ }, { "name": "drupal/rdf_entity", - "version": "1.0.0-alpha20", + "version": "1.0.0-alpha21", "source": { "type": "git", "url": "https://git.drupalcode.org/project/rdf_entity.git", - "reference": "8.x-1.0-alpha20" + "reference": "8.x-1.0-alpha21" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/rdf_entity-8.x-1.0-alpha20.zip", - "reference": "8.x-1.0-alpha20", - "shasum": "22b61aa1b94f35a0a2f5c787a32fc10495918c99" + "url": "https://ftp.drupal.org/files/projects/rdf_entity-8.x-1.0-alpha21.zip", + "reference": "8.x-1.0-alpha21", + "shasum": "b911948f800f64d0c28cc96a2236f1f24a3e345a" }, "require": { "drupal/core": "~8.8", @@ -6016,20 +6671,16 @@ }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0-alpha20", - "datestamp": "1582640151", + "version": "8.x-1.0-alpha21", + "datestamp": "1588058573", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" } }, "patches_applied": { - "Allow bundle label plural variants @see https://github.com/ec-europa/rdf_entity/pull/12": "https://github.com/ec-europa/rdf_entity/compare/8.x-1.x...bd61c32c6f877f2c0376ec9aa213b89b6bcb19b8.diff", - "Add entity cacheable metadata to view access result @see https://github.com/ec-europa/rdf_entity/pull/120": "https://patch-diff.githubusercontent.com/raw/ec-europa/rdf_entity/pull/120.diff" + "Allow bundle label plural variants @see https://github.com/ec-europa/rdf_entity/pull/12": "https://github.com/ec-europa/rdf_entity/compare/8.x-1.x...bd61c32c6f877f2c0376ec9aa213b89b6bcb19b8.diff" } }, "notification-url": "https://packages.drupal.org/8/downloads", @@ -6963,17 +7614,17 @@ }, { "name": "drupal/token", - "version": "1.6.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.6" + "reference": "8.x-1.7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.6.zip", - "reference": "8.x-1.6", - "shasum": "22039a3d927220609e708932ac5c501b90ca4925" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.7.zip", + "reference": "8.x-1.7", + "shasum": "c7e3a3757282e4c94e3c1fff08d01e22155cb853" }, "require": { "drupal/core": "^8.7.7 || ^9" @@ -6981,8 +7632,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.6", - "datestamp": "1577708583", + "version": "8.x-1.7", + "datestamp": "1587893588", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7570,6 +8221,98 @@ "type": "drupal-theme-library", "time": "2018-03-29T12:58:02+00:00" }, + { + "name": "ec-europa/qa-automation", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/ec-europa/qa-automation.git", + "reference": "8707138803f0c86115cf352101f92dfbcaec7721" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ec-europa/qa-automation/zipball/8707138803f0c86115cf352101f92dfbcaec7721", + "reference": "8707138803f0c86115cf352101f92dfbcaec7721", + "shasum": "" + }, + "require": { + "openeuropa/code-review": "^1.0@beta", + "phpcompatibility/php-compatibility": "^9.1" + }, + "require-dev": { + "openeuropa/task-runner": "^1.0.0-beta6", + "phpunit/phpunit": ">=3.7 <6" + }, + "type": "phpcodesniffer-standard", + "extra": { + "composer-exit-on-patch-failure": true, + "enable-patching": true + }, + "autoload": { + "psr-0": { + "QualityAssurance\\": "phpcs/QualityAssurance/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "description": "Extra php codesniffs for QualityAssurance.", + "homepage": "https://github.com/ec-europa/qa-automation", + "keywords": [ + "code review", + "phpcs", + "standards" + ], + "time": "2020-02-28T08:38:08+00:00" + }, + { + "name": "ec-europa/toolkit", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/ec-europa/toolkit.git", + "reference": "aca2f5f3c6dd3ab2a1a26a8e8ccd15b363f4c15d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ec-europa/toolkit/zipball/aca2f5f3c6dd3ab2a1a26a8e8ccd15b363f4c15d", + "reference": "aca2f5f3c6dd3ab2a1a26a8e8ccd15b363f4c15d", + "shasum": "" + }, + "require": { + "cweagans/composer-patches": "^1.4", + "drupal/drupal-extension": "^3.4 || ^4.0", + "drush/drush": "^9.7.1 || ^10.0.0", + "ec-europa/qa-automation": "^4.0.0", + "guzzlehttp/guzzle": "^6.3", + "openeuropa/task-runner": "^1.0.0-beta6", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "~6.0" + }, + "suggest": { + "drupal/console": "The Drupal CLI, tool to generate boilerplate code, interact with and debug Drupal." + }, + "type": "library", + "extra": { + "enable-patching": true, + "composer-exit-on-patch-failure": true, + "patches_applied": { + "Variables in 'sequence-file' are not resolved @see https://github.com/ec-europa/toolkit/issues/273": "https://patch-diff.githubusercontent.com/raw/ec-europa/toolkit/pull/274.diff" + } + }, + "autoload": { + "psr-4": { + "EcEuropa\\Toolkit\\": "./src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "EUPL-1.2" + ], + "description": "Toolkit packaged for Drupal 8.", + "homepage": "https://github.com/ec-europa/toolkit", + "time": "2020-02-28T15:05:10+00:00" + }, { "name": "ec-europa/virtuoso", "version": "2.1.3", @@ -7710,6 +8453,61 @@ ], "time": "2019-10-28T03:44:26+00:00" }, + { + "name": "fabpot/goutte", + "version": "v3.2.3", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/Goutte.git", + "reference": "3f0eaf0a40181359470651f1565b3e07e3dd31b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/3f0eaf0a40181359470651f1565b3e07e3dd31b8", + "reference": "3f0eaf0a40181359470651f1565b3e07e3dd31b8", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^6.0", + "php": ">=5.5.0", + "symfony/browser-kit": "~2.1|~3.0|~4.0", + "symfony/css-selector": "~2.1|~3.0|~4.0", + "symfony/dom-crawler": "~2.1|~3.0|~4.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.3 || ^4" + }, + "type": "application", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Goutte\\": "Goutte" + }, + "exclude-from-classmap": [ + "Goutte/Tests" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "A simple PHP Web Scraper", + "homepage": "https://github.com/FriendsOfPHP/Goutte", + "keywords": [ + "scraper" + ], + "time": "2018-06-29T15:13:57+00:00" + }, { "name": "geocoder-php/common-http", "version": "4.2.0", @@ -7761,16 +8559,80 @@ ], "authors": [ { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "Common files for HTTP based Geocoders", + "homepage": "http://geocoder-php.org", + "keywords": [ + "http geocoder" + ], + "time": "2018-11-15T22:27:27+00:00" + }, + { + "name": "gitonomy/gitlib", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/gitonomy/gitlib.git", + "reference": "718ca021c67f3ea8f6a5fa5d231ec49675068868" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/718ca021c67f3ea8f6a5fa5d231ec49675068868", + "reference": "718ca021c67f3ea8f6a5fa5d231ec49675068868", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": "^5.6 || ^7.0", + "symfony/polyfill-mbstring": "^1.7", + "symfony/process": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7|^6.5|^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "ext-fileinfo": "Required to determine the mimetype of a blob", + "psr/log": "Required to use loggers for reporting of execution" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Gitonomy\\Git\\": "src/Gitonomy/Git/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + }, + { + "name": "Julien Didier", + "email": "genzo.wm@gmail.com" + }, + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Alexandre Salomé", + "email": "alexandre.salome@gmail.com" } ], - "description": "Common files for HTTP based Geocoders", - "homepage": "http://geocoder-php.org", - "keywords": [ - "http geocoder" - ], - "time": "2018-11-15T22:27:27+00:00" + "description": "Library for accessing git", + "time": "2020-03-23T12:43:44+00:00" }, { "name": "grasmash/expander", @@ -8093,6 +8955,65 @@ "description": "Converts HTML to formatted plain text", "time": "2016-03-16T23:24:34+00:00" }, + { + "name": "instaclick/php-webdriver", + "version": "1.4.7", + "source": { + "type": "git", + "url": "https://github.com/instaclick/php-webdriver.git", + "reference": "b5f330e900e9b3edfc18024a5ec8c07136075712" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/b5f330e900e9b3edfc18024a5ec8c07136075712", + "reference": "b5f330e900e9b3edfc18024a5ec8c07136075712", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "^4.8", + "satooshi/php-coveralls": "^1.0||^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "WebDriver": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Justin Bishop", + "email": "jubishop@gmail.com", + "role": "Developer" + }, + { + "name": "Anthon Pang", + "email": "apang@softwaredevelopment.ca", + "role": "Fork Maintainer" + } + ], + "description": "PHP WebDriver for Selenium 2", + "homepage": "http://instaclick.com/", + "keywords": [ + "browser", + "selenium", + "webdriver", + "webtest" + ], + "time": "2019-09-25T09:05:11+00:00" + }, { "name": "jacklmoore/autosize", "version": "dev-master", @@ -8104,6 +9025,39 @@ "type": "drupal-theme-library", "time": "2018-10-31T20:10:45+00:00" }, + { + "name": "jakeasmith/http_build_url", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/jakeasmith/http_build_url.git", + "reference": "93c273e77cb1edead0cf8bcf8cd2003428e74e37" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jakeasmith/http_build_url/zipball/93c273e77cb1edead0cf8bcf8cd2003428e74e37", + "reference": "93c273e77cb1edead0cf8bcf8cd2003428e74e37", + "shasum": "" + }, + "type": "library", + "autoload": { + "files": [ + "src/http_build_url.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jake A. Smith", + "email": "theman@jakeasmith.com" + } + ], + "description": "Provides functionality for http_build_url() to environments without pecl_http.", + "time": "2017-05-01T15:36:40+00:00" + }, { "name": "justinrainbow/json-schema", "version": "5.2.9", @@ -8889,6 +9843,84 @@ ], "time": "2018-11-18T20:26:18+00:00" }, + { + "name": "monolog/monolog", + "version": "1.25.3", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fa82921994db851a8becaf3787a9e73c5976b6f1", + "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2019-12-20T14:15:16+00:00" + }, { "name": "mtdowling/jmespath.php", "version": "2.5.0", @@ -8998,22 +10030,105 @@ ], "time": "2020-04-10T16:34:50+00:00" }, + { + "name": "nuvoleweb/robo-config", + "version": "0.2.2", + "source": { + "type": "git", + "url": "https://github.com/nuvoleweb/robo-config.git", + "reference": "ce4c3285f2cbc692d96f5f2d57eb2c5068aeadd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nuvoleweb/robo-config/zipball/ce4c3285f2cbc692d96f5f2d57eb2c5068aeadd2", + "reference": "ce4c3285f2cbc692d96f5f2d57eb2c5068aeadd2", + "shasum": "" + }, + "require": { + "consolidation/robo": "~1" + }, + "require-dev": { + "drupal/coder": "^8.2", + "phpro/grumphp": "^0.11.4", + "phpunit/phpunit": "^5" + }, + "type": "robo-tasks", + "autoload": { + "psr-4": { + "NuvoleWeb\\Robo\\Task\\Config\\": "src", + "NuvoleWeb\\Robo\\Tests\\": "tests" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0" + ], + "authors": [ + { + "name": "Antonio De Marco", + "email": "antonio@nuvole.org" + } + ], + "description": "CI/developer-friendly configuration processor for Robo.", + "time": "2018-08-22T06:38:44+00:00" + }, + { + "name": "openeuropa/code-review", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/openeuropa/code-review.git", + "reference": "99802c32dcecb0939d90d9f5c0c1d0e4fbef7b19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/openeuropa/code-review/zipball/99802c32dcecb0939d90d9f5c0c1d0e4fbef7b19", + "reference": "99802c32dcecb0939d90d9f5c0c1d0e4fbef7b19", + "shasum": "" + }, + "require": { + "cweagans/composer-patches": "^1.0", + "drupal/coder": "^8.3.2", + "phpmd/phpmd": "^2.6", + "phpro/grumphp": "^0.15.2", + "squizlabs/php_codesniffer": "^3.5" + }, + "require-dev": { + "phpunit/phpunit": "^5.5|^6.0" + }, + "type": "library", + "extra": { + "enable-patching": true, + "composer-exit-on-patch-failure": true + }, + "autoload": { + "psr-4": { + "OpenEuropa\\CodeReview\\": "./src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "EUPL-1.2" + ], + "description": "OpenEuropa code review component.", + "time": "2019-10-16T13:52:28+00:00" + }, { "name": "openeuropa/oe_webtools", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/openeuropa/oe_webtools.git", - "reference": "e36811ada17b47f85770ba49b362cdea92a1a514" + "reference": "2949e5be79325e5993d7c410fd09dc98b98045d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openeuropa/oe_webtools/zipball/e36811ada17b47f85770ba49b362cdea92a1a514", - "reference": "e36811ada17b47f85770ba49b362cdea92a1a514", + "url": "https://api.github.com/repos/openeuropa/oe_webtools/zipball/2949e5be79325e5993d7c410fd09dc98b98045d9", + "reference": "2949e5be79325e5993d7c410fd09dc98b98045d9", "shasum": "" }, "require": { - "drupal/core": "^8.7", + "drupal/core": "^8.7.7", "ext-json": "*", "php": "^7.1" }, @@ -9040,7 +10155,7 @@ "openeuropa/task-runner": "~1.0.0-beta5", "openeuropa/webtools-geocoding-provider": "~0.1", "phpunit/phpunit": "~6.0", - "symfony/dom-crawler": "~3.0" + "symfony/dom-crawler": "~3.4" }, "type": "drupal-module", "extra": { @@ -9076,7 +10191,63 @@ "EUPL-1.2" ], "description": "OpenEuropa Webtools integration.", - "time": "2020-02-05T10:40:43+00:00" + "time": "2020-04-29T09:10:55+00:00" + }, + { + "name": "openeuropa/task-runner", + "version": "1.0.0-beta6", + "source": { + "type": "git", + "url": "https://github.com/openeuropa/task-runner.git", + "reference": "0ee1c8f526bb3fc43bb6e6d209a7d9cf10acd270" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/openeuropa/task-runner/zipball/0ee1c8f526bb3fc43bb6e6d209a7d9cf10acd270", + "reference": "0ee1c8f526bb3fc43bb6e6d209a7d9cf10acd270", + "shasum": "" + }, + "require": { + "consolidation/robo": "^1.4", + "gitonomy/gitlib": "^1.0", + "jakeasmith/http_build_url": "^1.0.1", + "nuvoleweb/robo-config": "^0.2.1" + }, + "require-dev": { + "openeuropa/code-review": "~1.0.0-beta3", + "phpunit/phpunit": "~5.5||~6.0" + }, + "bin": [ + "bin/run" + ], + "type": "library", + "extra": { + "enable-patching": true, + "composer-exit-on-patch-failure": true, + "patches_applied": { + "Allow dynamic commands to override also annotated commands @see https://github.com/openeuropa/task-runner/pull/119": "resources/patch/task-runner-119.patch", + "Arguments & options @see https://github.com/openeuropa/task-runner/issues/111": "https://patch-diff.githubusercontent.com/raw/openeuropa/task-runner/pull/120.diff", + "Allow altering the config @see https://github.com/openeuropa/task-runner/issues/122": "https://github.com/openeuropa/task-runner/compare/dd4a4c770e121f2d7ab032a08dd48480bac36696...a1d8eaafcababed097817e78d701b3707c96d2e7.diff", + "New 'exec' task for dynamic commands @see https://github.com/openeuropa/task-runner/pull/124": "https://patch-diff.githubusercontent.com/raw/openeuropa/task-runner/pull/124.diff" + } + }, + "autoload": { + "psr-4": { + "OpenEuropa\\TaskRunner\\": "./src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "EUPL-1.2" + ], + "description": "PHP task runner based on Robo, focused on extensibility.", + "keywords": [ + "automation", + "robo", + "task-runner", + "yaml" + ], + "time": "2019-06-27T09:46:47+00:00" }, { "name": "openeuropa/webtools-geocoding-provider", @@ -9156,14 +10327,61 @@ "homepage": "https://paragonie.com" } ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2018-07-02T15:55:56+00:00" + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "pdepend/pdepend", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/pdepend/pdepend.git", + "reference": "daba1cf0a6edaf172fa02a17807ae29f4c1c7471" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/daba1cf0a6edaf172fa02a17807ae29f4c1c7471", + "reference": "daba1cf0a6edaf172fa02a17807ae29f4c1c7471", + "shasum": "" + }, + "require": { + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3|^4|^5", + "symfony/dependency-injection": "^2.3.0|^3|^4|^5", + "symfony/filesystem": "^2.3.0|^3|^4|^5" + }, + "require-dev": { + "easy-doc/easy-doc": "0.0.0 || ^1.2.3", + "gregwar/rst": "^1.0", + "phpunit/phpunit": "^4.8.35|^5.7", + "squizlabs/php_codesniffer": "^2.0.0" + }, + "bin": [ + "src/bin/pdepend" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "PDepend\\": "src/main/php/PDepend" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Official version of pdepend to be handled with Composer", + "time": "2020-02-08T12:06:13+00:00" }, { "name": "pear/archive_tar", @@ -10002,6 +11220,240 @@ ], "time": "2016-01-26T13:27:02+00:00" }, + { + "name": "phpcompatibility/php-compatibility", + "version": "9.3.5", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" + }, + "conflict": { + "squizlabs/php_codesniffer": "2.6.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "homepage": "https://github.com/wimg", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" + } + ], + "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", + "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", + "keywords": [ + "compatibility", + "phpcs", + "standards" + ], + "time": "2019-12-27T09:44:58+00:00" + }, + { + "name": "phpmd/phpmd", + "version": "2.8.2", + "source": { + "type": "git", + "url": "https://github.com/phpmd/phpmd.git", + "reference": "714629ed782537f638fe23c4346637659b779a77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/714629ed782537f638fe23c4346637659b779a77", + "reference": "714629ed782537f638fe23c4346637659b779a77", + "shasum": "" + }, + "require": { + "composer/xdebug-handler": "^1.0", + "ext-xml": "*", + "pdepend/pdepend": "^2.7.1", + "php": ">=5.3.9" + }, + "require-dev": { + "easy-doc/easy-doc": "0.0.0 || ^1.3.2", + "gregwar/rst": "^1.0", + "mikey179/vfsstream": "^1.6.4", + "phpunit/phpunit": "^4.8.36 || ^5.7.27", + "squizlabs/php_codesniffer": "^2.0" + }, + "bin": [ + "src/bin/phpmd" + ], + "type": "library", + "autoload": { + "psr-0": { + "PHPMD\\": "src/main/php" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" + } + ], + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "https://phpmd.org/", + "keywords": [ + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" + ], + "time": "2020-02-16T20:15:50+00:00" + }, + { + "name": "phpro/grumphp", + "version": "v0.15.2", + "source": { + "type": "git", + "url": "https://github.com/phpro/grumphp.git", + "reference": "c153840bead6fbed370d35cc84c63dca33de0ca4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpro/grumphp/zipball/c153840bead6fbed370d35cc84c63dca33de0ca4", + "reference": "c153840bead6fbed370d35cc84c63dca33de0ca4", + "shasum": "" + }, + "require": { + "composer-plugin-api": "~1.0", + "composer/composer": "^1.0", + "doctrine/collections": "~1.2", + "gitonomy/gitlib": "^1.0.3", + "monolog/monolog": "~1.16", + "php": ">=7.0", + "seld/jsonlint": "~1.1", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/filesystem": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/options-resolver": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "nikic/php-parser": "~2.1", + "phpspec/phpspec": "^3.2.2", + "phpspec/prophecy": "^1.6.2", + "phpunit/phpunit": "^6.5|^7.0", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/exporter": "^3.1", + "sensiolabs/security-checker": "^5.0", + "squizlabs/php_codesniffer": "~2.9" + }, + "suggest": { + "allocine/twigcs": "Lets GrumPHP check Twig coding standard.", + "atoum/atoum": "Lets GrumPHP run your unit tests.", + "behat/behat": "Lets GrumPHP validate your project features.", + "brianium/paratest": "Lets GrumPHP run PHPUnit in parallel.", + "codeception/codeception": "Lets GrumPHP run your project's full stack tests", + "codegyre/robo": "Lets GrumPHP run your automated PHP tasks.", + "designsecurity/progpilot": "Lets GrumPHP be sure that there are no vulnerabilities in your code.", + "doctrine/orm": "Lets GrumPHP validate your Doctrine mapping files.", + "friendsofphp/php-cs-fixer": "Lets GrumPHP automatically fix your codestyle.", + "infection/infection": "Lets GrumPHP evaluate the quality your unit tests", + "jakub-onderka/php-parallel-lint": "Lets GrumPHP quickly lint your entire code base.", + "localheinz/composer-normalize": "Lets GrumPHP tidy and normalize your composer.json file.", + "maglnet/composer-require-checker": "Lets GrumPHP analyze composer dependencies.", + "malukenho/kawaii-gherkin": "Lets GrumPHP lint your Gherkin files.", + "nikic/php-parser": "Lets GrumPHP run static analyses through your PHP files.", + "phan/phan": "Lets GrumPHP unleash a static analyzer on your code", + "phing/phing": "Lets GrumPHP run your automated PHP tasks.", + "phpmd/phpmd": "Lets GrumPHP sort out the mess in your code", + "phpspec/phpspec": "Lets GrumPHP spec your code.", + "phpstan/phpstan": "Lets GrumPHP discover bugs in your code without running it.", + "phpunit/phpunit": "Lets GrumPHP run your unit tests.", + "povils/phpmnd": "Lets GrumPHP help you detect magic numbers in PHP code.", + "roave/security-advisories": "Lets GrumPHP be sure that there are no known security issues.", + "sebastian/phpcpd": "Lets GrumPHP find duplicated code.", + "sensiolabs/security-checker": "Lets GrumPHP be sure that there are no known security issues.", + "squizlabs/php_codesniffer": "Lets GrumPHP sniff on your code.", + "sstalle/php7cc": "Lets GrumPHP check PHP 5.3 - 5.6 code compatibility with PHP 7.", + "symfony/phpunit-bridge": "Lets GrumPHP run your unit tests with the phpunit-bridge of Symfony.", + "symplify/easycodingstandard": "Lets GrumPHP check coding standard.", + "vimeo/psalm": "Lets GrumPHP discover errors in your code without running it." + }, + "bin": [ + "bin/grumphp" + ], + "type": "composer-plugin", + "extra": { + "class": "GrumPHP\\Composer\\GrumPHPPlugin" + }, + "autoload": { + "psr-4": { + "GrumPHP\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Toon Verwerft", + "email": "toon.verwerft@phpro.be" + }, + { + "name": "Community", + "homepage": "https://github.com/phpro/grumphp/graphs/contributors" + } + ], + "description": "A composer plugin that enables source code quality checks.", + "time": "2019-05-17T11:56:59+00:00" + }, { "name": "predis/predis", "version": "v1.1.1", @@ -10533,6 +11985,57 @@ "type": "library", "time": "2019-03-13T23:53:42+00:00" }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.5.5", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6", + "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2020-04-17T01:09:41+00:00" + }, { "name": "stack/builder", "version": "v1.0.5", @@ -10687,17 +12190,88 @@ "homepage": "https://github.com/symfony-cmf/Routing/contributors" } ], - "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers", - "homepage": "http://cmf.symfony.com", - "keywords": [ - "database", - "routing" - ], - "time": "2017-05-09T08:10:41+00:00" + "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers", + "homepage": "http://cmf.symfony.com", + "keywords": [ + "database", + "routing" + ], + "time": "2017-05-09T08:10:41+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v3.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367", + "reference": "1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/dom-crawler": "~2.8|~3.0|~4.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/process": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-15T09:38:08+00:00" }, { "name": "symfony/class-loader", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", @@ -10766,54 +12340,46 @@ "time": "2020-03-15T09:38:08+00:00" }, { - "name": "symfony/console", - "version": "v3.4.39", + "name": "symfony/config", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "bf60d5e606cd595391c5f82bf6b570d9573fa120" + "url": "https://github.com/symfony/config.git", + "reference": "8ba41fe053683e1e6e3f6fa21f07ea5c4dd9e4c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/bf60d5e606cd595391c5f82bf6b570d9573fa120", - "reference": "bf60d5e606cd595391c5f82bf6b570d9573fa120", + "url": "https://api.github.com/repos/symfony/config/zipball/8ba41fe053683e1e6e3f6fa21f07ea5c4dd9e4c0", + "reference": "8ba41fe053683e1e6e3f6fa21f07ea5c4dd9e4c0", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" + "php": "^7.1.3", + "symfony/filesystem": "^3.4|^4.0|^5.0", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" + "symfony/finder": "<3.4" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" + "symfony/event-dispatcher": "^3.4|^4.0|^5.0", + "symfony/finder": "^3.4|^4.0|^5.0", + "symfony/messenger": "^4.1|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^3.4|^4.0|^5.0" }, "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "symfony/yaml": "To use the yaml reference dumper" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" + "Symfony\\Component\\Config\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -10833,7 +12399,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Symfony Config Component", "homepage": "https://symfony.com", "funding": [ { @@ -10849,41 +12415,57 @@ "type": "tidelift" } ], - "time": "2020-03-27T17:07:22+00:00" + "time": "2020-04-15T15:56:18+00:00" }, { - "name": "symfony/debug", - "version": "v4.4.7", + "name": "symfony/console", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "346636d2cae417992ecfd761979b2ab98b339a45" + "url": "https://github.com/symfony/console.git", + "reference": "bf60d5e606cd595391c5f82bf6b570d9573fa120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/346636d2cae417992ecfd761979b2ab98b339a45", - "reference": "346636d2cae417992ecfd761979b2ab98b339a45", + "url": "https://api.github.com/repos/symfony/console/zipball/bf60d5e606cd595391c5f82bf6b570d9573fa120", + "reference": "bf60d5e606cd595391c5f82bf6b570d9573fa120", "shasum": "" }, "require": { - "php": "^7.1.3", - "psr/log": "~1.0" + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/http-kernel": "<3.4" + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" }, "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" + "psr/log": "~1.0", + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -10903,7 +12485,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony Console Component", "homepage": "https://symfony.com", "funding": [ { @@ -10919,56 +12501,34 @@ "type": "tidelift" } ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-03-27T17:07:22+00:00" }, { - "name": "symfony/dependency-injection", - "version": "v3.4.39", + "name": "symfony/css-selector", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "f516f2bd2f43c82124392fa0a846d8c3261b324b" + "url": "https://github.com/symfony/css-selector.git", + "reference": "afc26133a6fbdd4f8842e38893e0ee4685c7c94b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f516f2bd2f43c82124392fa0a846d8c3261b324b", - "reference": "f516f2bd2f43c82124392fa0a846d8c3261b324b", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/afc26133a6fbdd4f8842e38893e0ee4685c7c94b", + "reference": "afc26133a6fbdd4f8842e38893e0ee4685c7c94b", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/container": "^1.0" - }, - "conflict": { - "symfony/config": "<3.3.7", - "symfony/finder": "<3.3", - "symfony/proxy-manager-bridge": "<3.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "psr/container-implementation": "1.0" - }, - "require-dev": { - "symfony/config": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" + "Symfony\\Component\\CssSelector\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -10983,12 +12543,16 @@ "name": "Fabien Potencier", "email": "fabien@symfony.com" }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", "funding": [ { @@ -11004,48 +12568,41 @@ "type": "tidelift" } ], - "time": "2020-03-16T08:31:04+00:00" + "time": "2020-03-27T16:54:36+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v3.4.39", + "name": "symfony/debug", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48" + "url": "https://github.com/symfony/debug.git", + "reference": "346636d2cae417992ecfd761979b2ab98b339a45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9d4e22943b73acc1ba50595b7de1a01fe9dbad48", - "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48", + "url": "https://api.github.com/repos/symfony/debug/zipball/346636d2cae417992ecfd761979b2ab98b339a45", + "reference": "346636d2cae417992ecfd761979b2ab98b339a45", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3", + "psr/log": "~1.0" }, "conflict": { - "symfony/dependency-injection": "<3.3" + "symfony/http-kernel": "<3.4" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/http-kernel": "^3.4|^4.0|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Component\\Debug\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -11065,7 +12622,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Debug Component", "homepage": "https://symfony.com", "funding": [ { @@ -11081,35 +12638,56 @@ "type": "tidelift" } ], - "time": "2020-03-15T09:38:08+00:00" + "time": "2020-03-27T16:54:36+00:00" }, { - "name": "symfony/filesystem", - "version": "v4.4.7", + "name": "symfony/dependency-injection", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "fe297193bf2e6866ed900ed2d5869362768df6a7" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "d10ff5503b0b27711087eef4ac7835a752fe42fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/fe297193bf2e6866ed900ed2d5869362768df6a7", - "reference": "fe297193bf2e6866ed900ed2d5869362768df6a7", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d10ff5503b0b27711087eef4ac7835a752fe42fd", + "reference": "d10ff5503b0b27711087eef4ac7835a752fe42fd", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-ctype": "~1.8" + "php": "^5.5.9|>=7.0.8", + "psr/container": "^1.0" + }, + "conflict": { + "symfony/config": "<3.3.7", + "symfony/finder": "<3.3", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Filesystem\\": "" + "Symfony\\Component\\DependencyInjection\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -11129,7 +12707,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", "funding": [ { @@ -11145,24 +12723,36 @@ "type": "tidelift" } ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-04-13T09:33:40+00:00" }, { - "name": "symfony/finder", - "version": "v4.4.7", + "name": "symfony/dom-crawler", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "5729f943f9854c5781984ed4907bbb817735776b" + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "4d0fb3374324071ecdd94898367a3fa4b5563162" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/5729f943f9854c5781984ed4907bbb817735776b", - "reference": "5729f943f9854c5781984ed4907bbb817735776b", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4d0fb3374324071ecdd94898367a3fa4b5563162", + "reference": "4d0fb3374324071ecdd94898367a3fa4b5563162", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "masterminds/html5": "<2.6" + }, + "require-dev": { + "masterminds/html5": "^2.6", + "symfony/css-selector": "^3.4|^4.0|^5.0" + }, + "suggest": { + "symfony/css-selector": "" }, "type": "library", "extra": { @@ -11172,7 +12762,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Component\\DomCrawler\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -11192,7 +12782,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", "funding": [ { @@ -11208,29 +12798,38 @@ "type": "tidelift" } ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-03-29T19:12:22+00:00" }, { - "name": "symfony/http-foundation", - "version": "v3.4.39", + "name": "symfony/event-dispatcher", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "a8833c56f6a4abcf17a319d830d71fdb0ba93675" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8833c56f6a4abcf17a319d830d71fdb0ba93675", - "reference": "a8833c56f6a4abcf17a319d830d71fdb0ba93675", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9d4e22943b73acc1ba50595b7de1a01fe9dbad48", + "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php70": "~1.6" + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" }, "require-dev": { - "symfony/expression-language": "~2.8|~3.0|~4.0" + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, "type": "library", "extra": { @@ -11240,7 +12839,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -11260,7 +12859,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpFoundation Component", + "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", "funding": [ { @@ -11276,75 +12875,35 @@ "type": "tidelift" } ], - "time": "2020-03-23T12:14:52+00:00" + "time": "2020-03-15T09:38:08+00:00" }, { - "name": "symfony/http-kernel", - "version": "v3.4.39", + "name": "symfony/filesystem", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "c15b5acab571224b1bf792692ff2ad63239081fe" + "url": "https://github.com/symfony/filesystem.git", + "reference": "a3ebf3bfd8a98a147c010a568add5a8aa4edea0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c15b5acab571224b1bf792692ff2ad63239081fe", - "reference": "c15b5acab571224b1bf792692ff2ad63239081fe", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/a3ebf3bfd8a98a147c010a568add5a8aa4edea0f", + "reference": "a3ebf3bfd8a98a147c010a568add5a8aa4edea0f", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0", - "symfony/debug": "^3.3.3|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~3.4.12|~4.0.12|^4.1.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php56": "~1.8" - }, - "conflict": { - "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.4.10|<4.0.10,>=4", - "symfony/var-dumper": "<3.3", - "twig/twig": "<1.34|<2.4,>=2" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "~2.8|~3.0|~4.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/console": "~2.8|~3.0|~4.0", - "symfony/css-selector": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "^3.4.10|^4.0.10", - "symfony/dom-crawler": "~2.8|~3.0|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/process": "~2.8|~3.0|~4.0", - "symfony/routing": "~3.4|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0", - "symfony/templating": "~2.8|~3.0|~4.0", - "symfony/translation": "~2.8|~3.0|~4.0", - "symfony/var-dumper": "~3.3|~4.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -11364,7 +12923,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpKernel Component", + "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", "funding": [ { @@ -11380,40 +12939,37 @@ "type": "tidelift" } ], - "time": "2020-03-30T06:25:13+00:00" + "time": "2020-04-12T14:39:55+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.15.0", + "name": "symfony/finder", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" + "url": "https://github.com/symfony/finder.git", + "reference": "5729f943f9854c5781984ed4907bbb817735776b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", + "url": "https://api.github.com/repos/symfony/finder/zipball/5729f943f9854c5781984ed4907bbb817735776b", + "reference": "5729f943f9854c5781984ed4907bbb817735776b", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Symfony\\Component\\Finder\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -11422,22 +12978,16 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -11452,40 +13002,42 @@ "type": "tidelift" } ], - "time": "2020-02-27T09:26:54+00:00" + "time": "2020-03-27T16:54:36+00:00" }, { - "name": "symfony/polyfill-iconv", - "version": "v1.15.0", + "name": "symfony/http-foundation", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "ad6d62792bfbcfc385dd34b424d4fcf9712a32c8" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "eded33daef1147be7ff1249706be9a49fe2c7a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/ad6d62792bfbcfc385dd34b424d4fcf9712a32c8", - "reference": "ad6d62792bfbcfc385dd34b424d4fcf9712a32c8", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/eded33daef1147be7ff1249706be9a49fe2c7a44", + "reference": "eded33daef1147be7ff1249706be9a49fe2c7a44", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php70": "~1.6" }, - "suggest": { - "ext-iconv": "For best performance" + "require-dev": { + "symfony/expression-language": "~2.8|~3.0|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" + "Symfony\\Component\\HttpFoundation\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -11494,23 +13046,16 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Iconv extension", + "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -11525,42 +13070,78 @@ "type": "tidelift" } ], - "time": "2020-03-09T19:04:49+00:00" + "time": "2020-04-18T20:23:17+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.15.0", + "name": "symfony/http-kernel", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "139d477cc926de9ca03c3d59b51ab6e22450c6df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", - "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/139d477cc926de9ca03c3d59b51ab6e22450c6df", + "reference": "139d477cc926de9ca03c3d59b51ab6e22450c6df", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.10" + "php": "^5.5.9|>=7.0.8", + "psr/log": "~1.0", + "symfony/debug": "^3.3.3|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "~3.4.12|~4.0.12|^4.1.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php56": "~1.8" + }, + "conflict": { + "symfony/config": "<2.8", + "symfony/dependency-injection": "<3.4.10|<4.0.10,>=4", + "symfony/var-dumper": "<3.3", + "twig/twig": "<1.34|<2.4,>=2" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "~2.8|~3.0|~4.0", + "symfony/class-loader": "~2.8|~3.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/console": "~2.8|~3.0|~4.0", + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "^3.4.10|^4.0.10", + "symfony/dom-crawler": "~2.8|~3.0|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/process": "~2.8|~3.0|~4.0", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0", + "symfony/templating": "~2.8|~3.0|~4.0", + "symfony/translation": "~2.8|~3.0|~4.0", + "symfony/var-dumper": "~3.3|~4.0" }, "suggest": { - "ext-intl": "For best performance" + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" + "Symfony\\Component\\HttpKernel\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -11569,24 +13150,16 @@ ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -11601,40 +13174,37 @@ "type": "tidelift" } ], - "time": "2020-03-09T19:04:49+00:00" + "time": "2020-04-28T17:41:38+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.15.0", + "name": "symfony/options-resolver", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" + "url": "https://github.com/symfony/options-resolver.git", + "reference": "ade3d89dd3b875b83c8cff2980c9bb0daf6ef297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/ade3d89dd3b875b83c8cff2980c9bb0daf6ef297", + "reference": "ade3d89dd3b875b83c8cff2980c9bb0daf6ef297", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "4.4-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Component\\OptionsResolver\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -11643,22 +13213,20 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony OptionsResolver Component", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "config", + "configuration", + "options" ], "funding": [ { @@ -11674,25 +13242,27 @@ "type": "tidelift" } ], - "time": "2020-03-09T19:04:49+00:00" + "time": "2020-04-06T10:16:26+00:00" }, { - "name": "symfony/polyfill-php56", + "name": "symfony/polyfill-ctype", "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "d51ec491c8ddceae7dca8dd6c7e30428f543f37d" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/d51ec491c8ddceae7dca8dd6c7e30428f543f37d", - "reference": "d51ec491c8ddceae7dca8dd6c7e30428f543f37d", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", + "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", "shasum": "" }, - "require": { - "php": ">=5.3.3", - "symfony/polyfill-util": "~1.0" + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" }, "type": "library", "extra": { @@ -11702,7 +13272,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php56\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, "files": [ "bootstrap.php" @@ -11714,21 +13284,21 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], "funding": [ { @@ -11744,26 +13314,28 @@ "type": "tidelift" } ], - "time": "2020-03-09T19:04:49+00:00" + "time": "2020-02-27T09:26:54+00:00" }, { - "name": "symfony/polyfill-php70", + "name": "symfony/polyfill-iconv", "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "2a18e37a489803559284416df58c71ccebe50bf0" + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "ad6d62792bfbcfc385dd34b424d4fcf9712a32c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/2a18e37a489803559284416df58c71ccebe50bf0", - "reference": "2a18e37a489803559284416df58c71ccebe50bf0", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/ad6d62792bfbcfc385dd34b424d4fcf9712a32c8", + "reference": "ad6d62792bfbcfc385dd34b424d4fcf9712a32c8", "shasum": "" }, "require": { - "paragonie/random_compat": "~1.0|~2.0|~9.99", "php": ">=5.3.3" }, + "suggest": { + "ext-iconv": "For best performance" + }, "type": "library", "extra": { "branch-alias": { @@ -11772,13 +13344,10 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php70\\": "" + "Symfony\\Polyfill\\Iconv\\": "" }, "files": [ "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -11795,32 +13364,52 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "description": "Symfony polyfill for the Iconv extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "iconv", "polyfill", "portable", "shim" ], - "time": "2020-02-27T09:26:54+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-09T19:04:49+00:00" }, { - "name": "symfony/polyfill-php72", + "name": "symfony/polyfill-intl-idn", "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "37b0976c78b94856543260ce09b460a7bc852747" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/37b0976c78b94856543260ce09b460a7bc852747", - "reference": "37b0976c78b94856543260ce09b460a7bc852747", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", + "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { @@ -11830,7 +13419,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" + "Symfony\\Polyfill\\Intl\\Idn\\": "" }, "files": [ "bootstrap.php" @@ -11842,18 +13431,20 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Laurent Bassin", + "email": "laurent@bassin.info" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "idn", + "intl", "polyfill", "portable", "shim" @@ -11872,25 +13463,28 @@ "type": "tidelift" } ], - "time": "2020-02-27T09:26:54+00:00" + "time": "2020-03-09T19:04:49+00:00" }, { - "name": "symfony/polyfill-util", + "name": "symfony/polyfill-mbstring", "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-util.git", - "reference": "d8e76c104127675d0ea3df3be0f2ae24a8619027" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/d8e76c104127675d0ea3df3be0f2ae24a8619027", - "reference": "d8e76c104127675d0ea3df3be0f2ae24a8619027", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "suggest": { + "ext-mbstring": "For best performance" + }, "type": "library", "extra": { "branch-alias": { @@ -11899,8 +13493,11 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Util\\": "" - } + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -11916,12 +13513,13 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony utilities for portability of PHP codes", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ - "compat", "compatibility", + "mbstring", "polyfill", + "portable", "shim" ], "funding": [ @@ -11938,37 +13536,38 @@ "type": "tidelift" } ], - "time": "2020-03-02T11:55:35+00:00" + "time": "2020-03-09T19:04:49+00:00" }, { - "name": "symfony/process", - "version": "v3.4.39", + "name": "symfony/polyfill-php56", + "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "1dbc09f6e14703ae2398efc86b02ae2bcd9a9931" + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "d51ec491c8ddceae7dca8dd6c7e30428f543f37d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1dbc09f6e14703ae2398efc86b02ae2bcd9a9931", - "reference": "1dbc09f6e14703ae2398efc86b02ae2bcd9a9931", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/d51ec491c8ddceae7dca8dd6c7e30428f543f37d", + "reference": "d51ec491c8ddceae7dca8dd6c7e30428f543f37d", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.15-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Polyfill\\Php56\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -11977,16 +13576,22 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -12001,123 +13606,41 @@ "type": "tidelift" } ], - "time": "2020-03-20T06:07:50+00:00" - }, - { - "name": "symfony/psr-http-message-bridge", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad", - "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad", - "shasum": "" - }, - "require": { - "php": "^7.1", - "psr/http-message": "^1.0", - "symfony/http-foundation": "^3.4 || ^4.0" - }, - "require-dev": { - "nyholm/psr7": "^1.1", - "symfony/phpunit-bridge": "^3.4.20 || ^4.0", - "zendframework/zend-diactoros": "^1.4.1 || ^2.0" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", - "keywords": [ - "http", - "http-message", - "psr-17", - "psr-7" - ], - "time": "2019-03-11T18:22:33+00:00" + "time": "2020-03-09T19:04:49+00:00" }, { - "name": "symfony/routing", - "version": "v3.4.39", + "name": "symfony/polyfill-php70", + "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "785e4e6b835e9ab4f9412862855d0e1b7a2b4627" + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "2a18e37a489803559284416df58c71ccebe50bf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/785e4e6b835e9ab4f9412862855d0e1b7a2b4627", - "reference": "785e4e6b835e9ab4f9412862855d0e1b7a2b4627", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/2a18e37a489803559284416df58c71ccebe50bf0", + "reference": "2a18e37a489803559284416df58c71ccebe50bf0", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" - }, - "conflict": { - "symfony/config": "<3.3.1", - "symfony/dependency-injection": "<3.3", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "psr/log": "~1.0", - "symfony/config": "^3.3.1|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "paragonie/random_compat": "~1.0|~2.0|~9.99", + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.15-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Polyfill\\Php70\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -12125,98 +13648,54 @@ "MIT" ], "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Routing Component", + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2020-03-25T12:02:26+00:00" + "time": "2020-02-27T09:26:54+00:00" }, { - "name": "symfony/serializer", - "version": "v3.4.39", + "name": "symfony/polyfill-php72", + "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/serializer.git", - "reference": "2b5a266b4e9b4403d669449de059686dd186ed33" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "37b0976c78b94856543260ce09b460a7bc852747" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/2b5a266b4e9b4403d669449de059686dd186ed33", - "reference": "2b5a266b4e9b4403d669449de059686dd186ed33", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/37b0976c78b94856543260ce09b460a7bc852747", + "reference": "37b0976c78b94856543260ce09b460a7bc852747", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "phpdocumentor/type-resolver": "<0.2.1", - "symfony/dependency-injection": "<3.2", - "symfony/property-access": ">=3.0,<3.0.4|>=2.8,<2.8.4", - "symfony/property-info": "<3.1", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0", - "symfony/cache": "~3.1|~4.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.2|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/property-access": "~2.8|~3.0|~4.0", - "symfony/property-info": "^3.4.13|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "psr/cache-implementation": "For using the metadata cache.", - "symfony/config": "For using the XML mapping loader.", - "symfony/http-foundation": "For using a MIME type guesser within the DataUriNormalizer.", - "symfony/property-access": "For using the ObjectNormalizer.", - "symfony/property-info": "To deserialize relations.", - "symfony/yaml": "For using the default YAML mapping loader." + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.15-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Serializer\\": "" + "Symfony\\Polyfill\\Php72\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -12225,16 +13704,22 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Serializer Component", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -12249,59 +13734,35 @@ "type": "tidelift" } ], - "time": "2020-03-16T08:31:04+00:00" + "time": "2020-02-27T09:26:54+00:00" }, { - "name": "symfony/translation", - "version": "v3.4.39", + "name": "symfony/polyfill-util", + "version": "v1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "e06ca83b2682eba25854b97a8a9af22c1da491f5" + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "d8e76c104127675d0ea3df3be0f2ae24a8619027" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e06ca83b2682eba25854b97a8a9af22c1da491f5", - "reference": "e06ca83b2682eba25854b97a8a9af22c1da491f5", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/d8e76c104127675d0ea3df3be0f2ae24a8619027", + "reference": "d8e76c104127675d0ea3df3be0f2ae24a8619027", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/http-kernel": "~3.4|~4.0", - "symfony/intl": "^2.8.18|^3.2.5|~4.0", - "symfony/var-dumper": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.15-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Util\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -12309,16 +13770,22 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Symfony utilities for portability of PHP codes", "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -12333,61 +13800,24 @@ "type": "tidelift" } ], - "time": "2020-03-16T08:31:04+00:00" + "time": "2020-03-02T11:55:35+00:00" }, { - "name": "symfony/validator", - "version": "v3.4.39", + "name": "symfony/process", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/validator.git", - "reference": "5d4d0184dbf402233c4d73491285ac3615206e62" + "url": "https://github.com/symfony/process.git", + "reference": "f5104c9dcbc2cfad45d01d5150c1da9836967271" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5d4d0184dbf402233c4d73491285ac3615206e62", - "reference": "5d4d0184dbf402233c4d73491285ac3615206e62", + "url": "https://api.github.com/repos/symfony/process/zipball/f5104c9dcbc2cfad45d01d5150c1da9836967271", + "reference": "f5104c9dcbc2cfad45d01d5150c1da9836967271", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation": "~2.8|~3.0|~4.0" - }, - "conflict": { - "doctrine/lexer": "<1.0.2", - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/dependency-injection": "<3.3", - "symfony/http-kernel": "<3.3.5", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.7", - "doctrine/cache": "~1.0", - "egulias/email-validator": "^2.1.10", - "symfony/cache": "~3.1|~4.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/http-kernel": "^3.3.5|~4.0", - "symfony/intl": "^2.8.18|^3.2.5|~4.0", - "symfony/property-access": "~2.8|~3.0|~4.0", - "symfony/var-dumper": "~3.3|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "egulias/email-validator": "Strict (RFC compliant) email validation", - "psr/cache-implementation": "For using the metadata cache.", - "symfony/config": "", - "symfony/expression-language": "For using the Expression validator", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For accessing properties within comparison constraints", - "symfony/yaml": "" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { @@ -12397,7 +13827,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Component\\Validator\\": "" + "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -12417,7 +13847,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Validator Component", + "description": "Symfony Process Component", "homepage": "https://symfony.com", "funding": [ { @@ -12433,57 +13863,44 @@ "type": "tidelift" } ], - "time": "2020-03-28T10:14:53+00:00" + "time": "2020-04-12T14:33:46+00:00" }, { - "name": "symfony/var-dumper", - "version": "v4.4.7", + "name": "symfony/psr-http-message-bridge", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "5a0c2d93006131a36cf6f767d10e2ca8333b0d4a" + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5a0c2d93006131a36cf6f767d10e2ca8333b0d4a", - "reference": "5a0c2d93006131a36cf6f767d10e2ca8333b0d4a", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad", + "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" + "php": "^7.1", + "psr/http-message": "^1.0", + "symfony/http-foundation": "^3.4 || ^4.0" }, "require-dev": { - "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.34|^2.4|^3.0" + "nyholm/psr7": "^1.1", + "symfony/phpunit-bridge": "^3.4.20 || ^4.0", + "zendframework/zend-diactoros": "^1.4.1 || ^2.0" }, "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", + "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "1.2-dev" } }, "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" + "Symfony\\Bridge\\PsrHttpMessage\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -12494,63 +13911,62 @@ "MIT" ], "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, { "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" + "homepage": "http://symfony.com/contributors" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "time": "2020-03-27T16:54:36+00:00" + "description": "PSR HTTP message bridge", + "homepage": "http://symfony.com", + "keywords": [ + "http", + "http-message", + "psr-17", + "psr-7" + ], + "time": "2019-03-11T18:22:33+00:00" }, { - "name": "symfony/yaml", - "version": "v3.4.39", + "name": "symfony/routing", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "e701b47e11749970f63803879c4febb520f07b6c" + "url": "https://github.com/symfony/routing.git", + "reference": "53b432fde8eea7dab820e75abda5b97fdaa829b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e701b47e11749970f63803879c4febb520f07b6c", - "reference": "e701b47e11749970f63803879c4febb520f07b6c", + "url": "https://api.github.com/repos/symfony/routing/zipball/53b432fde8eea7dab820e75abda5b97fdaa829b4", + "reference": "53b432fde8eea7dab820e75abda5b97fdaa829b4", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" + "php": "^5.5.9|>=7.0.8" }, "conflict": { - "symfony/console": "<3.4" + "symfony/config": "<3.3.1", + "symfony/dependency-injection": "<3.3", + "symfony/yaml": "<3.4" }, "require-dev": { - "symfony/console": "~3.4|~4.0" + "doctrine/annotations": "~1.0", + "psr/log": "~1.0", + "symfony/config": "^3.3.1|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { - "symfony/console": "For validating YAML files using the lint command" + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" }, "type": "library", "extra": { @@ -12560,7 +13976,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -12580,8 +13996,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", + "description": "Symfony Routing Component", "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -12596,260 +14018,152 @@ "type": "tidelift" } ], - "time": "2020-03-25T12:02:26+00:00" + "time": "2020-04-12T09:58:27+00:00" }, { - "name": "twig/twig", - "version": "v1.42.5", + "name": "symfony/serializer", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e" + "url": "https://github.com/symfony/serializer.git", + "reference": "2e1bdec403d8e7a350884cbbe4807ab7c2a843d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e", - "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e", + "url": "https://api.github.com/repos/symfony/serializer/zipball/2e1bdec403d8e7a350884cbbe4807ab7c2a843d4", + "reference": "2e1bdec403d8e7a350884cbbe4807ab7c2a843d4", "shasum": "" }, "require": { - "php": ">=5.5.0", - "symfony/polyfill-ctype": "^1.8" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.42-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - }, - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "time": "2020-02-11T05:59:23+00:00" - }, - { - "name": "typhonius/behattask", - "version": "1.0", - "source": { - "type": "git", - "url": "https://gist.github.com/5719e15be9687ff7c138.git", - "reference": "0ea666882cba3099dfa4feeb02e1bb85b2c0bde9" - }, - "type": "library", - "autoload": { - "classmap": [ - "BehatTask.php" - ] - }, - "include-path": [ - "." - ] - }, - { - "name": "typo3/phar-stream-wrapper", - "version": "v3.1.4", - "source": { - "type": "git", - "url": "https://github.com/TYPO3/phar-stream-wrapper.git", - "reference": "e0c1b495cfac064f4f5c4bcb6bf67bb7f345ed04" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/e0c1b495cfac064f4f5c4bcb6bf67bb7f345ed04", - "reference": "e0c1b495cfac064f4f5c4bcb6bf67bb7f345ed04", - "shasum": "" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" }, - "require": { - "ext-json": "*", - "php": "^7.0" + "conflict": { + "phpdocumentor/type-resolver": "<0.2.1", + "symfony/dependency-injection": "<3.2", + "symfony/property-access": ">=3.0,<3.0.4|>=2.8,<2.8.4", + "symfony/property-info": "<3.1", + "symfony/yaml": "<3.4" }, "require-dev": { - "ext-xdebug": "*", - "phpunit/phpunit": "^6.5" + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/cache": "~3.1|~4.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.2|~4.0", + "symfony/http-foundation": "~2.8|~3.0|~4.0", + "symfony/property-access": "~2.8|~3.0|~4.0", + "symfony/property-info": "^3.4.13|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { - "ext-fileinfo": "For PHP builtin file type guessing, otherwise uses internal processing" + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/http-foundation": "For using a MIME type guesser within the DataUriNormalizer.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/property-info": "To deserialize relations.", + "symfony/yaml": "For using the default YAML mapping loader." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "v3.x-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "TYPO3\\PharStreamWrapper\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Interceptors for PHP's native phar:// stream handling", - "homepage": "https://typo3.org/", - "keywords": [ - "phar", - "php", - "security", - "stream-wrapper" - ], - "time": "2019-12-10T11:53:27+00:00" - }, - { - "name": "webflo/drupal-finder", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webflo/drupal-finder.git", - "reference": "123e248e14ee8dd3fbe89fb5a733a6cf91f5820e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/123e248e14ee8dd3fbe89fb5a733a6cf91f5820e", - "reference": "123e248e14ee8dd3fbe89fb5a733a6cf91f5820e", - "shasum": "" - }, - "require": { - "ext-json": "*" - }, - "require-dev": { - "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^4.8" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/DrupalFinder.php" + "Symfony\\Component\\Serializer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0+" + "MIT" ], "authors": [ { - "name": "Florian Weber", - "email": "florian@webflo.org" - } - ], - "description": "Helper class to locate a Drupal installation from a given path.", - "time": "2019-08-02T08:06:18+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", - "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "vimeo/psalm": "<3.9.1" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "type": "library", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" ], - "authors": [ + "description": "Symfony Serializer Component", + "homepage": "https://symfony.com", + "funding": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2020-04-18T12:12:48+00:00" + "time": "2020-04-12T14:33:46+00:00" }, { - "name": "webmozart/path-util", - "version": "2.3.0", + "name": "symfony/translation", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" + "url": "https://github.com/symfony/translation.git", + "reference": "4e844362f573713e6d45949795c95a4cb6cf760d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "url": "https://api.github.com/repos/symfony/translation/zipball/4e844362f573713e6d45949795c95a4cb6cf760d", + "reference": "4e844362f573713e6d45949795c95a4cb6cf760d", "shasum": "" }, "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/intl": "^2.8.18|^3.2.5|~4.0", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -12857,47 +14171,95 @@ ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "time": "2015-12-17T08:42:14+00:00" + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T16:39:58+00:00" }, { - "name": "willdurand/geocoder", - "version": "4.2.2", + "name": "symfony/validator", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/geocoder-php/php-common.git", - "reference": "31bc59626c737871c3d5cc4dc9bc468a7668d0d1" + "url": "https://github.com/symfony/validator.git", + "reference": "0d4d26bacafdead3b73586302fc5019efdfbdb2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/geocoder-php/php-common/zipball/31bc59626c737871c3d5cc4dc9bc468a7668d0d1", - "reference": "31bc59626c737871c3d5cc4dc9bc468a7668d0d1", + "url": "https://api.github.com/repos/symfony/validator/zipball/0d4d26bacafdead3b73586302fc5019efdfbdb2e", + "reference": "0d4d26bacafdead3b73586302fc5019efdfbdb2e", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation": "~2.8|~3.0|~4.0" + }, + "conflict": { + "doctrine/lexer": "<1.0.2", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/dependency-injection": "<3.3", + "symfony/http-kernel": "<3.3.5", + "symfony/yaml": "<3.4" }, "require-dev": { - "nyholm/nsa": "^1.1", - "phpunit/phpunit": "^6.5 || ^7.5", - "symfony/stopwatch": "~2.5" + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "egulias/email-validator": "^2.1.10", + "symfony/cache": "~3.1|~4.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "~2.8|~3.0|~4.0", + "symfony/http-kernel": "^3.3.5|~4.0", + "symfony/intl": "^2.8.18|^3.2.5|~4.0", + "symfony/property-access": "~2.8|~3.0|~4.0", + "symfony/var-dumper": "~3.3|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { - "symfony/stopwatch": "If you want to use the TimedGeocoder" + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "", + "symfony/expression-language": "For using the Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For accessing properties within comparison constraints", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Geocoder\\": "" + "Symfony\\Component\\Validator\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -12909,115 +14271,162 @@ ], "authors": [ { - "name": "William Durand", - "email": "william.durand1@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Common files for PHP Geocoder", - "homepage": "http://geocoder-php.org", - "keywords": [ - "abstraction", - "geocoder", - "geocoding", - "geoip" + "description": "Symfony Validator Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2020-01-22T09:02:24+00:00" + "time": "2020-04-26T08:10:12+00:00" }, { - "name": "zaporylie/composer-drupal-optimizations", - "version": "1.1.1", + "name": "symfony/var-dumper", + "version": "v4.4.8", "source": { "type": "git", - "url": "https://github.com/zaporylie/composer-drupal-optimizations.git", - "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "c587e04ce5d1aa62d534a038f574d9a709e814cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zaporylie/composer-drupal-optimizations/zipball/fb231d92adc862a2c9276bccbc90f684816dc75d", - "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c587e04ce5d1aa62d534a038f574d9a709e814cf", + "reference": "c587e04ce5d1aa62d534a038f574d9a709e814cf", "shasum": "" }, "require": { - "composer-plugin-api": "^1.1" + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php72": "~1.5" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/console": "<3.4" }, "require-dev": { - "composer/composer": "^1.6", - "phpunit/phpunit": "^6" + "ext-iconv": "*", + "symfony/console": "^3.4|^4.0|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^1.34|^2.4|^3.0" }, - "type": "composer-plugin", + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", "extra": { - "class": "zaporylie\\ComposerDrupalOptimizations\\Plugin" + "branch-alias": { + "dev-master": "4.4-dev" + } }, "autoload": { + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { - "zaporylie\\ComposerDrupalOptimizations\\": "src/" - } + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0-or-later" + "MIT" ], "authors": [ { - "name": "Jakub Piasecki", - "email": "jakub@piaseccy.pl" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Composer plugin to improve composer performance for Drupal projects", - "time": "2019-10-02T17:01:11+00:00" - } - ], - "packages-dev": [ + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T16:14:02+00:00" + }, { - "name": "behat/behat", - "version": "v3.6.1", + "name": "symfony/yaml", + "version": "v3.4.40", "source": { "type": "git", - "url": "https://github.com/Behat/Behat.git", - "reference": "9bfe195b4745c32e068af03fa4df9558b4916d30" + "url": "https://github.com/symfony/yaml.git", + "reference": "8fef49ac1357f4e05c997a1f139467ccb186bffa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/9bfe195b4745c32e068af03fa4df9558b4916d30", - "reference": "9bfe195b4745c32e068af03fa4df9558b4916d30", + "url": "https://api.github.com/repos/symfony/yaml/zipball/8fef49ac1357f4e05c997a1f139467ccb186bffa", + "reference": "8fef49ac1357f4e05c997a1f139467ccb186bffa", "shasum": "" }, "require": { - "behat/gherkin": "^4.6.0", - "behat/transliterator": "^1.2", - "container-interop/container-interop": "^1.2", - "ext-mbstring": "*", - "php": ">=5.3.3", - "psr/container": "^1.0", - "symfony/config": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", - "symfony/console": "^2.7.51 || ^2.8.33 || ^3.3.15 || ^3.4.3 || ^4.0.3 || ^5.0", - "symfony/dependency-injection": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", - "symfony/event-dispatcher": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", - "symfony/translation": "^2.7.51 || ^3.0 || ^4.0 || ^5.0", - "symfony/yaml": "^2.7.51 || ^3.0 || ^4.0 || ^5.0" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" }, "require-dev": { - "herrera-io/box": "~1.6.1", - "phpunit/phpunit": "^4.8.36 || ^6.3", - "symfony/process": "~2.5 || ^3.0 || ^4.0 || ^5.0" + "symfony/console": "~3.4|~4.0" }, "suggest": { - "ext-dom": "Needed to output test results in JUnit format." + "symfony/console": "For validating YAML files using the lint command" }, - "bin": [ - "bin/behat" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "3.6.x-dev" + "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { - "Behat\\Behat\\": "src/Behat/Behat/", - "Behat\\Testwork\\": "src/Behat/Testwork/" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -13025,239 +14434,232 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Scenario-oriented BDD framework for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "Agile", - "BDD", - "ScenarioBDD", - "Scrum", - "StoryBDD", - "User story", - "business", - "development", - "documentation", - "examples", - "symfony", - "testing" + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2020-02-06T09:54:48+00:00" + "time": "2020-04-24T10:16:04+00:00" }, { - "name": "behat/gherkin", - "version": "v4.6.2", + "name": "twig/twig", + "version": "v1.42.5", "source": { "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31" + "url": "https://github.com/twigphp/Twig.git", + "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/51ac4500c4dc30cbaaabcd2f25694299df666a31", - "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e", + "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e", "shasum": "" }, "require": { - "php": ">=5.3.1" + "php": ">=5.5.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { - "phpunit/phpunit": "~4.5|~5", - "symfony/phpunit-bridge": "~2.7|~3|~4", - "symfony/yaml": "~2.3|~3|~4" - }, - "suggest": { - "symfony/yaml": "If you want to parse features, represented in YAML files" + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "1.42-dev" } }, "autoload": { "psr-0": { - "Behat\\Gherkin": "src/" + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" } ], - "description": "Gherkin DSL parser for PHP 5.3", - "homepage": "http://behat.org/", + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", "keywords": [ - "BDD", - "Behat", - "Cucumber", - "DSL", - "gherkin", - "parser" + "templating" ], - "time": "2020-03-17T14:03:26+00:00" + "time": "2020-02-11T05:59:23+00:00" }, { - "name": "behat/mink", - "version": "v1.8.0", + "name": "typhonius/behattask", + "version": "1.0", "source": { "type": "git", - "url": "https://github.com/minkphp/Mink.git", - "reference": "e1772aabb6b654464264a6cc72158c8b3409d8bc" + "url": "https://gist.github.com/5719e15be9687ff7c138.git", + "reference": "0ea666882cba3099dfa4feeb02e1bb85b2c0bde9" + }, + "type": "library", + "autoload": { + "classmap": [ + "BehatTask.php" + ] + }, + "include-path": [ + "." + ] + }, + { + "name": "typo3/phar-stream-wrapper", + "version": "v3.1.4", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/phar-stream-wrapper.git", + "reference": "e0c1b495cfac064f4f5c4bcb6bf67bb7f345ed04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/e1772aabb6b654464264a6cc72158c8b3409d8bc", - "reference": "e1772aabb6b654464264a6cc72158c8b3409d8bc", + "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/e0c1b495cfac064f4f5c4bcb6bf67bb7f345ed04", + "reference": "e0c1b495cfac064f4f5c4bcb6bf67bb7f345ed04", "shasum": "" }, "require": { - "php": ">=5.3.1", - "symfony/css-selector": "^2.7|^3.0|^4.0|^5.0" + "ext-json": "*", + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20", - "symfony/debug": "^2.7|^3.0|^4.0", - "symfony/phpunit-bridge": "^3.4.38 || ^5.0.5" + "ext-xdebug": "*", + "phpunit/phpunit": "^6.5" }, "suggest": { - "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", - "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", - "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", - "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)", - "dmore/chrome-mink-driver": "fast and JS-enabled driver for any app (requires chromium or google chrome)" + "ext-fileinfo": "For PHP builtin file type guessing, otherwise uses internal processing" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "v3.x-dev" } }, "autoload": { "psr-4": { - "Behat\\Mink\\": "src/" + "TYPO3\\PharStreamWrapper\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Browser controller/emulator abstraction for PHP", - "homepage": "http://mink.behat.org/", + "description": "Interceptors for PHP's native phar:// stream handling", + "homepage": "https://typo3.org/", "keywords": [ - "browser", - "testing", - "web" + "phar", + "php", + "security", + "stream-wrapper" ], - "time": "2020-03-11T15:26:34+00:00" + "time": "2019-12-10T11:53:27+00:00" }, { - "name": "behat/mink-browserkit-driver", - "version": "v1.3.4", + "name": "webflo/drupal-finder", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", - "reference": "e3b90840022ebcd544c7b394a3c9597ae242cbee" + "url": "https://github.com/webflo/drupal-finder.git", + "reference": "123e248e14ee8dd3fbe89fb5a733a6cf91f5820e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/e3b90840022ebcd544c7b394a3c9597ae242cbee", - "reference": "e3b90840022ebcd544c7b394a3c9597ae242cbee", + "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/123e248e14ee8dd3fbe89fb5a733a6cf91f5820e", + "reference": "123e248e14ee8dd3fbe89fb5a733a6cf91f5820e", "shasum": "" }, "require": { - "behat/mink": "^1.7.1@dev", - "php": ">=5.3.6", - "symfony/browser-kit": "~2.3|~3.0|~4.0", - "symfony/dom-crawler": "~2.3|~3.0|~4.0" + "ext-json": "*" }, "require-dev": { - "mink/driver-testsuite": "dev-master", - "symfony/debug": "^2.7|^3.0|^4.0", - "symfony/http-kernel": "~2.3|~3.0|~4.0" - }, - "type": "mink-driver", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.8" }, + "type": "library", "autoload": { - "psr-4": { - "Behat\\Mink\\Driver\\": "src/" - } + "classmap": [ + "src/DrupalFinder.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "GPL-2.0+" ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Florian Weber", + "email": "florian@webflo.org" } ], - "description": "Symfony2 BrowserKit driver for Mink framework", - "homepage": "http://mink.behat.org/", - "keywords": [ - "Mink", - "Symfony2", - "browser", - "testing" - ], - "time": "2020-03-11T09:49:45+00:00" + "description": "Helper class to locate a Drupal installation from a given path.", + "time": "2019-08-02T08:06:18+00:00" }, { - "name": "behat/mink-extension", - "version": "2.3.1", + "name": "webmozart/assert", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/Behat/MinkExtension.git", - "reference": "80f7849ba53867181b7e412df9210e12fba50177" + "url": "https://github.com/webmozart/assert.git", + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/80f7849ba53867181b7e412df9210e12fba50177", - "reference": "80f7849ba53867181b7e412df9210e12fba50177", + "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", "shasum": "" }, "require": { - "behat/behat": "^3.0.5", - "behat/mink": "^1.5", - "php": ">=5.3.2", - "symfony/config": "^2.7|^3.0|^4.0" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, - "require-dev": { - "behat/mink-goutte-driver": "^1.1", - "phpspec/phpspec": "^2.0" + "conflict": { + "vimeo/psalm": "<3.9.1" }, - "type": "behat-extension", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, + "type": "library", "autoload": { - "psr-0": { - "Behat\\MinkExtension": "src/" + "psr-4": { + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -13266,56 +14668,49 @@ ], "authors": [ { - "name": "Christophe Coevoet", - "email": "stof@notk.org" - }, - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Mink extension for Behat", - "homepage": "http://extensions.behat.org/mink", + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "browser", - "gui", - "test", - "web" + "assert", + "check", + "validate" ], - "time": "2018-02-06T15:36:30+00:00" + "time": "2020-04-18T12:12:48+00:00" }, { - "name": "behat/mink-goutte-driver", - "version": "v1.2.1", + "name": "webmozart/path-util", + "version": "2.3.0", "source": { "type": "git", - "url": "https://github.com/minkphp/MinkGoutteDriver.git", - "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca" + "url": "https://github.com/webmozart/path-util.git", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", - "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", + "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", "shasum": "" }, "require": { - "behat/mink": "~1.6@dev", - "behat/mink-browserkit-driver": "~1.2@dev", - "fabpot/goutte": "~1.0.4|~2.0|~3.1", - "php": ">=5.3.1" + "php": ">=5.3.3", + "webmozart/assert": "~1.0" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7|~3.0" + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" }, - "type": "mink-driver", + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "2.3-dev" } }, "autoload": { "psr-4": { - "Behat\\Mink\\Driver\\": "src/" + "Webmozart\\PathUtil\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -13324,53 +14719,51 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Goutte driver for Mink framework", - "homepage": "http://mink.behat.org/", - "keywords": [ - "browser", - "goutte", - "headless", - "testing" - ], - "time": "2016-03-05T09:04:22+00:00" + "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", + "time": "2015-12-17T08:42:14+00:00" }, { - "name": "behat/mink-selenium2-driver", - "version": "v1.4.0", + "name": "willdurand/geocoder", + "version": "4.2.2", "source": { "type": "git", - "url": "https://github.com/minkphp/MinkSelenium2Driver.git", - "reference": "312a967dd527f28980cce40850339cd5316da092" + "url": "https://github.com/geocoder-php/php-common.git", + "reference": "31bc59626c737871c3d5cc4dc9bc468a7668d0d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/312a967dd527f28980cce40850339cd5316da092", - "reference": "312a967dd527f28980cce40850339cd5316da092", + "url": "https://api.github.com/repos/geocoder-php/php-common/zipball/31bc59626c737871c3d5cc4dc9bc468a7668d0d1", + "reference": "31bc59626c737871c3d5cc4dc9bc468a7668d0d1", "shasum": "" }, "require": { - "behat/mink": "~1.7@dev", - "instaclick/php-webdriver": "~1.1", - "php": ">=5.4" + "php": "^7.0" }, "require-dev": { - "mink/driver-testsuite": "dev-master" + "nyholm/nsa": "^1.1", + "phpunit/phpunit": "^6.5 || ^7.5", + "symfony/stopwatch": "~2.5" }, - "type": "mink-driver", + "suggest": { + "symfony/stopwatch": "If you want to use the TimedGeocoder" + }, + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { - "Behat\\Mink\\Driver\\": "src/" - } + "Geocoder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -13378,73 +14771,65 @@ ], "authors": [ { - "name": "Pete Otaqui", - "email": "pete@otaqui.com", - "homepage": "https://github.com/pete-otaqui" - }, - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "William Durand", + "email": "william.durand1@gmail.com" } ], - "description": "Selenium2 (WebDriver) driver for Mink framework", - "homepage": "http://mink.behat.org/", + "description": "Common files for PHP Geocoder", + "homepage": "http://geocoder-php.org", "keywords": [ - "ajax", - "browser", - "javascript", - "selenium", - "testing", - "webdriver" + "abstraction", + "geocoder", + "geocoding", + "geoip" ], - "time": "2020-03-11T14:43:21+00:00" + "time": "2020-01-22T09:02:24+00:00" }, { - "name": "behat/transliterator", - "version": "v1.3.0", + "name": "zaporylie/composer-drupal-optimizations", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/Behat/Transliterator.git", - "reference": "3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc" + "url": "https://github.com/zaporylie/composer-drupal-optimizations.git", + "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Transliterator/zipball/3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc", - "reference": "3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc", + "url": "https://api.github.com/repos/zaporylie/composer-drupal-optimizations/zipball/fb231d92adc862a2c9276bccbc90f684816dc75d", + "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d", "shasum": "" }, "require": { - "php": ">=5.3.3" + "composer-plugin-api": "^1.1" }, "require-dev": { - "chuyskywalker/rolling-curl": "^3.1", - "php-yaoi/php-yaoi": "^1.0", - "phpunit/phpunit": "^4.8.36|^6.3" + "composer/composer": "^1.6", + "phpunit/phpunit": "^6" }, - "type": "library", + "type": "composer-plugin", "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } + "class": "zaporylie\\ComposerDrupalOptimizations\\Plugin" }, "autoload": { "psr-4": { - "Behat\\Transliterator\\": "src/Behat/Transliterator" + "zaporylie\\ComposerDrupalOptimizations\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Artistic-1.0" + "GPL-2.0-or-later" ], - "description": "String transliterator", - "keywords": [ - "i18n", - "slug", - "transliterator" + "authors": [ + { + "name": "Jakub Piasecki", + "email": "jakub@piaseccy.pl" + } ], - "time": "2020-01-14T16:39:13+00:00" - }, + "description": "Composer plugin to improve composer performance for Drupal projects", + "time": "2019-10-02T17:01:11+00:00" + } + ], + "packages-dev": [ { "name": "doctrine/instantiator", "version": "1.3.0", @@ -13679,44 +15064,6 @@ "issues": "https://www.drupal.org/project/issues/cas_mock_server" } }, - { - "name": "drupal/coder", - "version": "8.3.8", - "source": { - "type": "git", - "url": "https://git.drupalcode.org/project/coder.git", - "reference": "e53e75b45842a5d2b454b08c318a17f57339e60e" - }, - "require": { - "ext-mbstring": "*", - "php": ">=7.0.8", - "squizlabs/php_codesniffer": "^3.5.4", - "symfony/yaml": ">=2.0.5" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.5", - "phpunit/phpunit": "^6.0 || ^7.0" - }, - "type": "phpcodesniffer-standard", - "autoload": { - "psr-4": { - "Drupal\\": "coder_sniffer/Drupal/", - "DrupalPractice\\": "coder_sniffer/DrupalPractice/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "description": "Coder is a library to review Drupal code.", - "homepage": "https://www.drupal.org/project/coder", - "keywords": [ - "code review", - "phpcs", - "standards" - ], - "time": "2020-03-08T19:03:35+00:00" - }, { "name": "drupal/config_devel", "version": "1.6.0", @@ -13790,29 +15137,26 @@ }, { "name": "drupal/config_inspector", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/config_inspector.git", - "reference": "8.x-1.0" + "reference": "8.x-1.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/config_inspector-8.x-1.0.zip", - "reference": "8.x-1.0", - "shasum": "dc92ceb8fd3e289f9e5c058692346e4b9ef3fa74" + "url": "https://ftp.drupal.org/files/projects/config_inspector-8.x-1.1.zip", + "reference": "8.x-1.1", + "shasum": "9f6dca8b2fa69f2410b732c09e3edea23422fa04" }, "require": { - "drupal/core": "*" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0", - "datestamp": "1569419586", + "version": "8.x-1.1", + "datestamp": "1588166264", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -13841,13 +15185,13 @@ "name": "aspilicious", "homepage": "https://www.drupal.org/user/172527" }, - { - "name": "ilchovuchkov", - "homepage": "https://www.drupal.org/user/3568458" - }, { "name": "vijaycs85", "homepage": "https://www.drupal.org/user/93488" + }, + { + "name": "vuil", + "homepage": "https://www.drupal.org/user/3568458" } ], "description": "Provides a configuration data and structure inspector tool", @@ -14023,136 +15367,6 @@ "irc": "irc://irc.freenode.org/drupal-contribute" } }, - { - "name": "drupal/drupal-driver", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/jhedstrom/DrupalDriver.git", - "reference": "b648a6e80f926e59146b8a67ffe33ee0d0d8d84a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jhedstrom/DrupalDriver/zipball/b648a6e80f926e59146b8a67ffe33ee0d0d8d84a", - "reference": "b648a6e80f926e59146b8a67ffe33ee0d0d8d84a", - "shasum": "" - }, - "require": { - "drupal/core-utility": "^8.4", - "php": ">=5.6", - "symfony/dependency-injection": "~2.6|~3.0", - "symfony/process": "~2.5|~3.0" - }, - "require-dev": { - "drupal/coder": "~8.2.0", - "drush-ops/behat-drush-endpoint": "*", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "mockery/mockery": "0.9.4", - "phpspec/phpspec": "~2.0 || ~4.0", - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Drupal\\Driver": "src/", - "Drupal\\Tests\\Driver": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Jonathan Hedstrom", - "email": "jhedstrom@gmail.com" - } - ], - "description": "A collection of reusable Drupal drivers", - "homepage": "http://github.com/jhedstrom/DrupalDriver", - "keywords": [ - "drupal", - "test", - "web" - ], - "time": "2019-09-27T19:33:08+00:00" - }, - { - "name": "drupal/drupal-extension", - "version": "v4.0.1", - "source": { - "type": "git", - "url": "https://github.com/jhedstrom/drupalextension.git", - "reference": "34a3425f15f199911c2741f74ff0f27a97a7af98" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jhedstrom/drupalextension/zipball/34a3425f15f199911c2741f74ff0f27a97a7af98", - "reference": "34a3425f15f199911c2741f74ff0f27a97a7af98", - "shasum": "" - }, - "require": { - "behat/behat": "~3.2", - "behat/mink": "~1.5", - "behat/mink-extension": "~2.0", - "behat/mink-goutte-driver": "~1.0", - "behat/mink-selenium2-driver": "~1.1", - "drupal/drupal-driver": "^2.0.0", - "symfony/browser-kit": "^3.4", - "symfony/dependency-injection": "~3.0", - "symfony/translation": "^3.4" - }, - "require-dev": { - "drupal/coder": "~8.2.12", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "phpspec/phpspec": "~2.0 || ~4.0" - }, - "type": "behat-extension", - "extra": { - "patches_applied": { - "Add space arround the keywords to avoid wrongly matching @see https://github.com/jhedstrom/drupalextension/pull/561": "https://patch-diff.githubusercontent.com/raw/jhedstrom/drupalextension/pull/561.patch" - } - }, - "autoload": { - "psr-0": { - "Drupal\\Drupal": "src/", - "Drupal\\Exception": "src/", - "Drupal\\DrupalExtension": "src/", - "Drupal\\MinkExtension": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Jonathan Hedstrom", - "email": "jhedstrom@gmail.com" - }, - { - "name": "Melissa Anderson", - "homepage": "https://github.com/eliza411" - }, - { - "name": "Pieter Frenssen", - "homepage": "https://github.com/pfrenssen" - } - ], - "description": "Drupal extension for Behat", - "homepage": "http://drupal.org/project/drupalextension", - "keywords": [ - "drupal", - "test", - "web" - ], - "time": "2019-10-08T21:13:07+00:00" - }, { "name": "drupal/filecache", "version": "dev-1.x", @@ -14471,61 +15685,6 @@ "homepage": "https://github.com/drupaltest/behat-one-time-login", "time": "2020-01-17T09:12:53+00:00" }, - { - "name": "fabpot/goutte", - "version": "v3.2.3", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/Goutte.git", - "reference": "3f0eaf0a40181359470651f1565b3e07e3dd31b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/3f0eaf0a40181359470651f1565b3e07e3dd31b8", - "reference": "3f0eaf0a40181359470651f1565b3e07e3dd31b8", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0", - "symfony/browser-kit": "~2.1|~3.0|~4.0", - "symfony/css-selector": "~2.1|~3.0|~4.0", - "symfony/dom-crawler": "~2.1|~3.0|~4.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3.3 || ^4" - }, - "type": "application", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Goutte\\": "Goutte" - }, - "exclude-from-classmap": [ - "Goutte/Tests" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "A simple PHP Web Scraper", - "homepage": "https://github.com/FriendsOfPHP/Goutte", - "keywords": [ - "scraper" - ], - "time": "2018-06-29T15:13:57+00:00" - }, { "name": "friends-of-behat/service-container-extension", "version": "v1.0.1", @@ -14565,70 +15724,11 @@ { "name": "Kamil Kokot", "email": "kamil@kokot.me", - "homepage": "http://kamil.kokot.me" - } - ], - "description": "Allows to declare own services inside Behat container without writing an extension.", - "time": "2018-02-13T17:50:03+00:00" - }, - { - "name": "instaclick/php-webdriver", - "version": "1.4.7", - "source": { - "type": "git", - "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "b5f330e900e9b3edfc18024a5ec8c07136075712" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/b5f330e900e9b3edfc18024a5ec8c07136075712", - "reference": "b5f330e900e9b3edfc18024a5ec8c07136075712", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "^4.8", - "satooshi/php-coveralls": "^1.0||^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "WebDriver": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Justin Bishop", - "email": "jubishop@gmail.com", - "role": "Developer" - }, - { - "name": "Anthon Pang", - "email": "apang@softwaredevelopment.ca", - "role": "Fork Maintainer" + "homepage": "http://kamil.kokot.me" } ], - "description": "PHP WebDriver for Selenium 2", - "homepage": "http://instaclick.com/", - "keywords": [ - "browser", - "selenium", - "webdriver", - "webtest" - ], - "time": "2019-09-25T09:05:11+00:00" + "description": "Allows to declare own services inside Behat container without writing an extension.", + "time": "2018-02-13T17:50:03+00:00" }, { "name": "jcalderonzumba/gastonjs", @@ -15352,24 +16452,21 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", "shasum": "" }, "require": { "php": ">=7.1" }, - "require-dev": { - "phpunit/phpunit": "~6" - }, "type": "library", "extra": { "branch-alias": { @@ -15400,7 +16497,7 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "time": "2020-04-27T09:25:28+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -16525,571 +17622,229 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "shasum": "" - }, - "require": { - "php": ">=5.6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28T20:34:47+00:00" - }, - { - "name": "sebastian/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "slevomat/coding-standard", - "version": "6.3.2", - "source": { - "type": "git", - "url": "https://github.com/slevomat/coding-standard.git", - "reference": "6de1e23a949c4b026f6d92584d2f47841f740868" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/6de1e23a949c4b026f6d92584d2f47841f740868", - "reference": "6de1e23a949c4b026f6d92584d2f47841f740868", - "shasum": "" - }, - "require": { - "php": "^7.1", - "phpstan/phpdoc-parser": "0.4.0 - 0.4.4", - "squizlabs/php_codesniffer": "^3.5.5" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "0.6.2", - "phing/phing": "2.16.3", - "php-parallel-lint/php-parallel-lint": "1.2.0", - "phpstan/phpstan": "0.12.19", - "phpstan/phpstan-deprecation-rules": "0.12.2", - "phpstan/phpstan-phpunit": "0.12.8", - "phpstan/phpstan-strict-rules": "0.12.2", - "phpunit/phpunit": "7.5.20|8.5.2|9.1.2" - }, - "type": "phpcodesniffer-standard", - "extra": { - "branch-alias": { - "dev-master": "6.x-dev" - } - }, - "autoload": { - "psr-4": { - "SlevomatCodingStandard\\": "SlevomatCodingStandard" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "funding": [ - { - "url": "https://github.com/kukulich", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", - "type": "tidelift" - } - ], - "time": "2020-04-20T12:29:46+00:00" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "3.5.5", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6", - "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "bin": [ - "bin/phpcs", - "bin/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", - "keywords": [ - "phpcs", - "standards" - ], - "time": "2020-04-17T01:09:41+00:00" + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" }, { - "name": "symfony/browser-kit", - "version": "v3.4.39", + "name": "sebastian/recursion-context", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367", - "reference": "1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/dom-crawler": "~2.8|~3.0|~4.0" + "php": "^7.0" }, "require-dev": { - "symfony/css-selector": "~2.8|~3.0|~4.0", - "symfony/process": "~2.8|~3.0|~4.0" - }, - "suggest": { - "symfony/process": "" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "url": "https://github.com/fabpot", - "type": "github" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "time": "2020-03-15T09:38:08+00:00" + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" }, { - "name": "symfony/config", - "version": "v4.4.7", + "name": "sebastian/resource-operations", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "3f4a3de1af498ed0ea653d4dc2317794144e6ca4" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/3f4a3de1af498ed0ea653d4dc2317794144e6ca4", - "reference": "3f4a3de1af498ed0ea653d4dc2317794144e6ca4", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/filesystem": "^3.4|^4.0|^5.0", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/finder": "<3.4" - }, - "require-dev": { - "symfony/event-dispatcher": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/messenger": "^4.1|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" + "php": ">=5.6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "time": "2020-03-27T16:54:36+00:00" + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { - "name": "symfony/css-selector", - "version": "v4.4.7", + "name": "sebastian/version", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "afc26133a6fbdd4f8842e38893e0ee4685c7c94b" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/afc26133a6fbdd4f8842e38893e0ee4685c7c94b", - "reference": "afc26133a6fbdd4f8842e38893e0ee4685c7c94b", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=5.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "time": "2020-03-27T16:54:36+00:00" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" }, { - "name": "symfony/dom-crawler", - "version": "v4.4.7", + "name": "slevomat/coding-standard", + "version": "6.3.3", "source": { "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "4d0fb3374324071ecdd94898367a3fa4b5563162" + "url": "https://github.com/slevomat/coding-standard.git", + "reference": "b905a82255749de847fd4de607c7a4c8163f058d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4d0fb3374324071ecdd94898367a3fa4b5563162", - "reference": "4d0fb3374324071ecdd94898367a3fa4b5563162", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/b905a82255749de847fd4de607c7a4c8163f058d", + "reference": "b905a82255749de847fd4de607c7a4c8163f058d", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "masterminds/html5": "<2.6" + "php": "^7.1", + "phpstan/phpdoc-parser": "0.4.0 - 0.4.4", + "squizlabs/php_codesniffer": "^3.5.5" }, "require-dev": { - "masterminds/html5": "^2.6", - "symfony/css-selector": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/css-selector": "" + "dealerdirect/phpcodesniffer-composer-installer": "0.6.2", + "phing/phing": "2.16.3", + "php-parallel-lint/php-parallel-lint": "1.2.0", + "phpstan/phpstan": "0.12.19", + "phpstan/phpstan-deprecation-rules": "0.12.2", + "phpstan/phpstan-phpunit": "0.12.8", + "phpstan/phpstan-strict-rules": "0.12.2", + "phpunit/phpunit": "7.5.20|8.5.2|9.1.2" }, - "type": "library", + "type": "phpcodesniffer-standard", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "6.x-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "SlevomatCodingStandard\\": "SlevomatCodingStandard" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "https://symfony.com", + "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/kukulich", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", "type": "tidelift" } ], - "time": "2020-03-29T19:12:22+00:00" + "time": "2020-04-28T07:15:08+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v4.4.7", + "version": "v4.4.8", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "6937c1a1590da7c314537b4f3f741c9255a7072e" + "reference": "fa585895dccc34afb32b7e7e01761e412ee7a987" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/6937c1a1590da7c314537b4f3f741c9255a7072e", - "reference": "6937c1a1590da7c314537b4f3f741c9255a7072e", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/fa585895dccc34afb32b7e7e01761e412ee7a987", + "reference": "fa585895dccc34afb32b7e7e01761e412ee7a987", "shasum": "" }, "require": { "php": ">=5.5.9" }, "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0|<6.4,>=6.0" + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0|<6.4,>=6.0|9.1.2" }, "suggest": { "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" @@ -17148,7 +17903,7 @@ "type": "tidelift" } ], - "time": "2020-03-27T16:54:36+00:00" + "time": "2020-04-28T17:55:16+00:00" }, { "name": "theseer/tokenizer", diff --git a/resources/patch/task-runner-119.patch b/resources/patch/task-runner-119.patch new file mode 100644 index 0000000000..03ba42e84b --- /dev/null +++ b/resources/patch/task-runner-119.patch @@ -0,0 +1,227 @@ +diff --git a/src/Commands/AbstractDrupalCommands.php b/src/Commands/AbstractDrupalCommands.php +index 28e1592..03ab322 100644 +--- a/src/Commands/AbstractDrupalCommands.php ++++ b/src/Commands/AbstractDrupalCommands.php +@@ -80,7 +80,7 @@ public function validateSiteInstall(CommandData $commandData) + $input = $commandData->input(); + + // Validate if permissions will be set up. +- if (!$input->getOption('skip-permissions-setup')) { ++ if (!$input->hasOption('skip-permissions-setup') || !$input->getOption('skip-permissions-setup')) { + return; + } + +diff --git a/src/Commands/DynamicCommands.php b/src/Commands/DynamicCommands.php +index 624751a..779c9cc 100644 +--- a/src/Commands/DynamicCommands.php ++++ b/src/Commands/DynamicCommands.php +@@ -3,6 +3,7 @@ + namespace OpenEuropa\TaskRunner\Commands; + + use OpenEuropa\TaskRunner\Tasks as TaskRunnerTasks; ++use Robo\Robo; + + /** + * Class DynamicCommands +@@ -18,8 +19,10 @@ class DynamicCommands extends AbstractCommands + */ + public function runTasks() + { +- $command = $this->input()->getArgument('command'); +- $tasks = $this->getConfig()->get("commands.{$command}"); ++ $commandName = $this->input()->getArgument('command'); ++ /** @var \Consolidation\AnnotatedCommand\AnnotatedCommand $command */ ++ $command = Robo::application()->get($commandName); ++ $tasks = $command->getAnnotationData()['tasks']; + + return $this->taskCollectionFactory($tasks); + } +diff --git a/src/TaskRunner.php b/src/TaskRunner.php +index 1e3228a..b2a47e0 100644 +--- a/src/TaskRunner.php ++++ b/src/TaskRunner.php +@@ -71,7 +71,6 @@ class TaskRunner + private $defaultCommandClasses = [ + ChangelogCommands::class, + DrupalCommands::class, +- DynamicCommands::class, + ReleaseCommands::class, + ]; + +@@ -97,7 +96,6 @@ public function __construct(InputInterface $input, OutputInterface $output, Clas + + // Create and initialize runner. + $this->runner = new RoboRunner(); +- $this->runner->setRelativePluginNamespace('TaskRunner'); + $this->runner->setContainer($this->container); + } + +@@ -106,8 +104,12 @@ public function __construct(InputInterface $input, OutputInterface $output, Clas + */ + public function run() + { ++ // Discover early the commands to allow dynamic command overrides. ++ $commandClasses = $this->discoverCommandClasses(); ++ $commandClasses = array_merge($this->defaultCommandClasses, $commandClasses); ++ + // Register command classes. +- $this->runner->registerCommandClasses($this->application, $this->defaultCommandClasses); ++ $this->runner->registerCommandClasses($this->application, $commandClasses); + + // Register commands defined in runner.yml file. + $this->registerDynamicCommands($this->application); +@@ -239,14 +241,47 @@ private function getWorkingDir(InputInterface $input) + */ + private function registerDynamicCommands(Application $application) + { +- foreach ($this->getConfig()->get('commands', []) as $name => $tasks) { +- /** @var \Consolidation\AnnotatedCommand\AnnotatedCommandFactory $commandFactory */ +- $commandFileName = DynamicCommands::class."Commands"; +- $commandClass = $this->container->get($commandFileName); +- $commandFactory = $this->container->get('commandFactory'); ++ if (!$commands = $this->getConfig()->get('commands')) { ++ return; ++ } ++ ++ /** @var \Consolidation\AnnotatedCommand\AnnotatedCommandFactory $commandFactory */ ++ $commandFactory = $this->container->get('commandFactory'); ++ $commandFileName = DynamicCommands::class."Commands"; ++ $this->runner->registerCommandClass($this->application, DynamicCommands::class); ++ $commandClass = $this->container->get($commandFileName); ++ ++ foreach ($commands as $name => $tasks) { ++ $aliases = []; ++ // This command has been already registered as an annotated command. ++ if ($application->has($name)) { ++ $registeredCommand = $application->get($name); ++ $aliases = $registeredCommand->getAliases(); ++ // The dynamic command overrides an alias rather than a ++ // registered command main name. Get the command main name. ++ if (in_array($name, $aliases, true)) { ++ $name = $registeredCommand->getName(); ++ } ++ } ++ + $commandInfo = $commandFactory->createCommandInfo($commandClass, 'runTasks'); +- $command = $commandFactory->createCommand($commandInfo, $commandClass)->setName($name); ++ $commandInfo->addAnnotation('tasks', $tasks); ++ $command = $commandFactory->createCommand($commandInfo, $commandClass) ++ ->setName($name) ++ ->setAliases($aliases); + $application->add($command); + } + } ++ ++ /** ++ * @return string[] ++ */ ++ protected function discoverCommandClasses() ++ { ++ /** @var \Robo\ClassDiscovery\RelativeNamespaceDiscovery $discovery */ ++ $discovery = Robo::service('relativeNamespaceDiscovery'); ++ $discovery->setRelativeNamespace('TaskRunner\Commands') ++ ->setSearchPattern('/.*Commands?\.php$/'); ++ return $discovery->getClasses(); ++ } + } +diff --git a/tests/CommandsTest.php b/tests/CommandsTest.php +index 8408fee..9c3b4bf 100644 +--- a/tests/CommandsTest.php ++++ b/tests/CommandsTest.php +@@ -369,6 +369,29 @@ public function testUserConfigFile() + $this->assertNotEquals($drupalRoot, $runner->getConfig()->get('drupal.root')); + } + ++ /** ++ * @dataProvider overrideCommandDataProvider ++ * ++ * @param $command ++ * @param array $runnerConfig ++ * @param array $expected ++ */ ++ public function testOverrideCommand($command, array $runnerConfig, array $expected) ++ { ++ $runnerConfigFile = $this->getSandboxFilepath('runner.yml'); ++ file_put_contents($runnerConfigFile, Yaml::dump($runnerConfig)); ++ ++ $input = new StringInput("{$command} --working-dir=".$this->getSandboxRoot()); ++ $output = new BufferedOutput(); ++ $runner = new TaskRunner($input, $output, $this->getClassLoader()); ++ $runner->run(); ++ $text = $output->fetch(); ++ ++ foreach ($expected as $row) { ++ $this->assertContains($row, $text); ++ } ++ } ++ + /** + * @return array + */ +@@ -425,6 +448,14 @@ public function changelogDataProvider() + return $this->getFixtureContent('changelog.yml'); + } + ++ /** ++ * @return array ++ */ ++ public function overrideCommandDataProvider() ++ { ++ return $this->getFixtureContent('override.yml'); ++ } ++ + /** + * @param string $content + * @param array $expected +diff --git a/tests/fixtures/override.yml b/tests/fixtures/override.yml +new file mode 100644 +index 0000000..5b7ceb8 +--- /dev/null ++++ b/tests/fixtures/override.yml +@@ -0,0 +1,46 @@ ++# Override a default command by its main name. ++# Run command by its main name. ++- command: drupal:site-install ++ runnerConfig: ++ commands: ++ drupal:site-install: ++ - echo "Hello world!" ++ - echo "Hey you!" ++ expected: ++ - '[Exec] Running echo "Hello world!"' ++ - '[Exec] Running echo "Hey you!"' ++ ++# Override a default command by its main name. ++# Run command by one of its aliases. ++- command: drupal:site-install ++ runnerConfig: ++ commands: ++ dsi: ++ - echo "Hello world!" ++ - echo "Hey you!" ++ expected: ++ - '[Exec] Running echo "Hello world!"' ++ - '[Exec] Running echo "Hey you!"' ++ ++# Override a default command by one of its aliases. ++# Run command by other alias. ++- command: drupal:si ++ runnerConfig: ++ commands: ++ dsi: ++ - echo "Hello world!" ++ - echo "Hey you!" ++ expected: ++ - '[Exec] Running echo "Hello world!"' ++ - '[Exec] Running echo "Hey you!"' ++ ++# Override a custom command. ++- command: custom:command-two ++ runnerConfig: ++ commands: ++ custom:command-two: ++ - echo "Hello world!" ++ - echo "Hey you!" ++ expected: ++ - '[Exec] Running echo "Hello world!"' ++ - '[Exec] Running echo "Hey you!"' From 634293b67cac34bf52ba85800c60f3d3a6ce89ae Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:32:52 +0300 Subject: [PATCH 05/35] ISAICP-5825: Ignore local files. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 0a7b97094c..c7151247c3 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,9 @@ /tests/behat.yml /phpunit.xml /web/sites/default/services.yml +/grumphp.yml +/runner.yml +/local.env # Ignore compiled CSS. /web/themes/joinup/css From 4bfff11f0f4d4b4e31d14107a8326aa3fc2e11d2 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:32:00 +0300 Subject: [PATCH 06/35] ISAICP-5825: Provide Joinup specific configuration. --- .../ConfigProviders/JoinupConfigProvider.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/TaskRunner/ConfigProviders/JoinupConfigProvider.php diff --git a/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php b/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php new file mode 100644 index 0000000000..f5fb924c15 --- /dev/null +++ b/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php @@ -0,0 +1,35 @@ +locateRoot(getcwd())) { + throw new AbortTasksException('Cannot locate Drupal path.'); + } + $config->set('joinup.dir', $drupalFinder->getComposerRoot()); + + // Import configurations from ./runner/config/. + static::importFromFiles($config, glob('runner/*.yml')); + } + +} From 9a57f244cb04f73d9cfe01e220f6c67ee48f294a Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:41:08 +0300 Subject: [PATCH 07/35] ISAICP-5825: Convert all Solr commands (except configure-apache-solr-drupal). --- build.continuousphp.xml | 1 + build.project.xml | 18 +- build.solr.xml | 220 +--------------------- runner/solr.yml | 154 +++++++++++++++ src/Phing/SolrBackup.php | 230 ----------------------- src/TaskRunner/Commands/SolrCommands.php | 213 +++++++++++++++++++++ 6 files changed, 395 insertions(+), 441 deletions(-) create mode 100644 runner/solr.yml delete mode 100644 src/Phing/SolrBackup.php create mode 100644 src/TaskRunner/Commands/SolrCommands.php diff --git a/build.continuousphp.xml b/build.continuousphp.xml index 3c1cbe1a9d..31986e704c 100644 --- a/build.continuousphp.xml +++ b/build.continuousphp.xml @@ -97,6 +97,7 @@ sudo rsync -avz /opt/solr/search_api_solr/solr-conf/6.x/ /opt/solr/server/solr/d + diff --git a/build.project.xml b/build.project.xml index f036023795..2c698996dc 100644 --- a/build.project.xml +++ b/build.project.xml @@ -625,7 +625,23 @@ + depends="setup-virtuoso-permissions, purge-virtuoso-backend, clean-redis-settings, disable-webtools-geocoding-cache, setup-config-sync-dir"> + + + + + + + + + + + + + + + + diff --git a/build.solr.xml b/build.solr.xml index 15e73dd47d..9a9ddbd242 100644 --- a/build.solr.xml +++ b/build.solr.xml @@ -2,149 +2,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -162,83 +19,26 @@ + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +${line.separator}$config['search_api.server.solr_unpublished']['backend_config']['connector_config']['core'] = '${env.SOLR_CORE_PUBLISHED_NAME}';${line.separator}"/> diff --git a/runner/solr.yml b/runner/solr.yml new file mode 100644 index 0000000000..fd18eba789 --- /dev/null +++ b/runner/solr.yml @@ -0,0 +1,154 @@ +# Solr configs and commands. + +solr: + version: '6.6.6' + vendor_dir: ${joinup.dir}/vendor/apache + dir: ${solr.vendor_dir}/solr-${solr.version} + bin: ${joinup.dir}/vendor/bin/solr + download_url: http://archive.apache.org/dist/lucene/solr/${solr.version}/solr-${solr.version}.tgz + config_dir: ${joinup.dir}/web/modules/contrib/search_api_solr/solr-conf/6.x + core: + published: + dir: ${solr.dir}/server/solr/${env.SOLR_CORE_PUBLISHED_NAME} + unpublished: + dir: ${solr.dir}/server/solr/${env.SOLR_CORE_UNPUBLISHED_NAME} + +commands: + + # Starts Solr. + solr:start: + - task: exec + command: ${solr.bin} status ; test $? == 0 || ${solr.bin} start + + # Stops Solr. + solr:stop: + - task: exec + command: ${solr.bin} status ; test $? != 0 || ${solr.bin} stop + + # Restarts Solr. + solr:restart: + - task: exec + command: ${solr.bin} restart + + # Downloads and unpacks the Sole snapshot. + solr:download-snapshot: + # Cleanup any stale data. + - task: remove + file: ${toolkit.tmp_folder}/solr.tar + - task: remove + file: ${toolkit.tmp_folder}/solr + # Download and unpack the archive. + - task: run + command: toolkit:download-dump + options: + asda-url: ${env.ASDA_URL}/solr + dumpfile: ${toolkit.tmp_folder}/solr.tar + # Unpack and organize. + - task: mkdir + dir: ${toolkit.tmp_folder}/solr + - task: exec + command: tar -xvf ${toolkit.tmp_folder}/solr.tar -C ${toolkit.tmp_folder}/solr + - task: rename + from: ${toolkit.tmp_folder}/solr/snapshot.joinup + to: ${toolkit.tmp_folder}/solr/snapshot.published + - task: rename + from: ${toolkit.tmp_folder}/solr/snapshot.joinup-unpublished + to: ${toolkit.tmp_folder}/solr/snapshot.unpublished + # Cleanup. + - task: remove + file: ${toolkit.tmp_folder}/solr.tar + + # Empties the Solr backed. + solr:empty: + - task: run + command: solr:start + - task: exec + command: curl + arguments: + - ${env.SOLR_CORE_PUBLISHED_URL}/${env.SOLR_CORE_PUBLISHED_NAME}/update?stream.body=*:*&commit=true + - task: exec + command: curl + arguments: + - ${env.SOLR_CORE_UNPUBLISHED_URL}/${env.SOLR_CORE_UNPUBLISHED_NAME}/update?stream.body=*:*&commit=true + + # Restores the Sole index from a snapshot. + solr:restore: + - task: run + command: solr:empty + - task: run + command: solr:restore-core + arguments: + - published + - task: run + command: solr:restore-core + arguments: + - unpublished + + # Takes a snapshot of the Solr index. + solr:backup: + - task: run + command: solr:backup-core + arguments: + - published + - task: run + command: solr:backup-core + arguments: + - unpublished + + # Downloads and installs the Solr binary. + solr:download-bin: + - task: exec + command: wget + arguments: + - ${solr.download_url} + options: + no-host-directories: null + directory-prefix: ${toolkit.tmp_folder} + timestamping: null + - task: mkdir + dir: ${solr.dir} + - task: exec + command: tar + arguments: + - xzf + - ${toolkit.tmp_folder}/solr-${solr.version}.tgz + options: + directory: ${solr.vendor_dir} + keep-old-files: null + - task: remove + file: ${solr.bin} + - task: symlink + from: ${solr.dir}/bin/solr + to: ${solr.bin} + + # Configures the Solr core. + solr:config: + - task: run + command: solr:start + - task: exec + command: test -d ${solr.core.published.dir} || ${solr.bin} create_core -c ${env.SOLR_CORE_PUBLISHED_NAME} -d ${solr.config_dir} + - task: exec + command: test -d ${solr.core.unpublished.dir} || ${solr.bin} create_core -c ${env.SOLR_CORE_UNPUBLISHED_NAME} -d ${solr.config_dir} + + # TODO: What's the value of this command? Consider removing it. + solr:setup: + - task: run + command: solr:download-bin + - task: run + command: solr:config + + # TODO: What's the value of this command? Consider removing it. + solr:reindex: + - task: exec + command: ${drush.bin} + arguments: + - search-api:clear + options: + yes: null + - task: exec + command: ${drush.bin} + arguments: + - search-api:index + options: + yes: null + batch-size: 250 diff --git a/src/Phing/SolrBackup.php b/src/Phing/SolrBackup.php deleted file mode 100644 index e871db1ad1..0000000000 --- a/src/Phing/SolrBackup.php +++ /dev/null @@ -1,230 +0,0 @@ - [ - FALSE => 'backup', - TRUE => 'details', - ], - 'restore' => [ - FALSE => 'restore', - TRUE => 'restorestatus', - ], - ]; - - /** - * The Solr core. - * - * @var string - */ - protected $core; - - /** - * The operation: 'backup' or 'restore'. - * - * @var string - */ - protected $operation; - - /** - * The HTTP client. - * - * @var \GuzzleHttp\Client - */ - protected $httpClient; - - /** - * Counter of 'get status' attempts. - * - * @var int - */ - protected $attempt; - - /** - * Constructs a new task instance. - */ - public function __construct() { - $this->httpClient = new Client(); - } - - /** - * {@inheritdoc} - */ - public function main():void { - $this->log("Executing {$this->operation} on Solr '{$this->core}' core."); - $this->executeCommand()->waitToComplete(); - $this->log("Successfully executed {$this->operation} on Solr '{$this->core}' core."); - } - - /** - * Executes a command: backup or restore. - * - * @return $this - * - * @throws \BuildException - * When the server response is invalid. - */ - protected function executeCommand(): self { - try { - $response = $this->httpClient->get($this->getUrl()); - } - catch (\Exception $exception) { - throw new \BuildException($exception->getMessage(), $exception); - } - if ($response->getStatusCode() != 200) { - throw new \BuildException("Solr server returned HTTP code {$response->getStatusCode()}, while trying to {$this->operation} Solr '{$this->core}' core."); - } - return $this; - } - - /** - * Checks the status until receives the success signal. - * - * Solr core backup and restore are asynchronous processes. In order to - * consider the backup/restore done, we need to check the status of the last - * process. - * - * @return $this - * - * @throws \BuildException - * When the operation failed. - * @throws \BuildTimeoutException - * When the status execution has timed-out. - */ - protected function waitToComplete(): self { - $start = time(); - $this->attempt = 0; - - do { - $status = $this->getStatus(); - - // Getting status has timed-out. - if (time() - $start > static::MAX_EXECUTION_TIME) { - throw new \BuildTimeoutException("Timed-out while getting the {$this->operation} status for the Solr '{$this->core}' core."); - } - - if ($status === 'in progress') { - // Wait 2 seconds before trying again. - sleep(2); - } - } while ($status !== 'success'); - - return $this; - } - - /** - * Gets the operation status. - * - * @return string - * Could be: 'in progress', 'success', 'failed'. - * - * @throws \BuildException - * If an invalid response has been received from the Solr server or the - * operation is invalid. - */ - protected function getStatus(): string { - $this->log(sprintf('Get %s status in progress. Attempt: #%d', $this->operation, ++$this->attempt)); - $response = $this->httpClient->get($this->getUrl(TRUE)); - - if (($content = Json::decode($response->getBody()->getContents())) === NULL) { - throw new \BuildException("Invalid response from Solr server, while trying to get the {$this->operation} status of Solr '{$this->core}'core."); - } - - $status = strtolower($this->operation === 'backup' ? $content['details']['backup']['status'] : $content['restorestatus']['status']); - - // Operation failed. - if ($status === 'failed') { - throw new \BuildException("Failed to {$this->operation}, with output:\n" . print_r($content, TRUE)); - } - - return $status; - } - - /** - * Builds the Solr replicate URL. - * - * @param bool $check_status - * (optional) If the command is checking the status of the operation. - * Defaults to FALSE. - - * @return string - * The URL. - * - * @see https://lucene.apache.org/solr/guide/7_7/making-and-restoring-backups.html - */ - protected function getUrl(bool $check_status = FALSE): string { - $properties = $this->getProject()->getProperties(); - $core_url = $properties["solr.core.{$this->core}.url"]; - $core_name = $properties["solr.core.{$this->core}.name"]; - return "{$core_url}/{$core_name}/replication?command={$this->getCommand($check_status)}&name={$this->core}&location={$properties['exports.solr.destination.folder']}&wt=json&json.nl=map"; - } - - /** - * Returns the command to be performed. - * - * @param bool $check_status - * (optional) If the command is checking the status of the operation. - * Defaults to FALSE. - * - * @return string - * The command to be passed to 'command' query string item. - */ - protected function getCommand(bool $check_status = FALSE): string { - return static::COMMAND_MAP[$this->operation][$check_status]; - } - - /** - * Sets the Solr core. - * - * @param string $core - * The Solr core. - */ - public function setCore(string $core): void { - if (empty($core)) { - throw new \BuildException("The Solr core should be set."); - } - $this->core = $core; - } - - /** - * Sets the operation whose status is checked. - * - * @param string $operation - * The operation whose status is checked. - * - * @throws \InvalidArgumentException - * If the passed operation is not 'backup' or 'restore'. - */ - public function setOperation(string $operation): void { - if (!in_array($operation, ['backup', 'restore'], TRUE)) { - throw new \BuildException("The operation should be 'backup' or 'restore', '$operation' given."); - } - $this->operation = $operation; - } - -} diff --git a/src/TaskRunner/Commands/SolrCommands.php b/src/TaskRunner/Commands/SolrCommands.php new file mode 100644 index 0000000000..d6a50bb1f9 --- /dev/null +++ b/src/TaskRunner/Commands/SolrCommands.php @@ -0,0 +1,213 @@ + [ + FALSE => 'backup', + TRUE => 'details', + ], + 'restore' => [ + FALSE => 'restore', + TRUE => 'restorestatus', + ], + ]; + + /** + * The cached HTTP client. + * + * @var \GuzzleHttp\Client + */ + protected $httpClient; + + /** + * Takes a snapshot from the Solr server index. + * + * @param string $core + * The core name. + * + * @command solr:backup-core + * + * @throws \Robo\Exception\AbortTasksException + * When the server response is invalid. + */ + public function backupSolr(string $core): void { + $this->say("Backup Solr '{$core}' core."); + $this->executeReplicationCommand($core, 'backup'); + $this->say("Successfully backed-up Solr '{$core}' core."); + } + + /** + * Restores the Solr server index from a snapshot. + * + * @param string $core + * The core name. + * + * @command solr:restore-core + * + * @throws \Robo\Exception\AbortTasksException + * When the server response is invalid. + */ + public function restoreSolr(string $core): void { + $this->say("Restoring Solr '{$core}' core."); + $this->executeReplicationCommand($core, 'restore'); + $this->say("Successfully restored Solr '{$core}' core."); + } + + /** + * Executes a command: backup or restore. + * + * @param string $core + * The core name for which to build the URL. + * @param string $operation + * The operation to be performed: 'restore' or 'backup'. + * + * @throws \Robo\Exception\AbortTasksException + * When the server response is invalid. + */ + protected function executeReplicationCommand(string $core, string $operation): void { + $this->httpGet($this->getUrl($core, $operation)); + + // Solr core backup and restore are asynchronous processes. In order to + // consider the backup/restore done, we need to check the status of the last + // process. + $start = time(); + $attempt = 0; + do { + $status = $this->getOperationStatus($core, $operation, $attempt); + + // Status has timed-out. + if (time() - $start > static::MAX_EXECUTION_TIME) { + throw new AbortTasksException("Timed-out while getting the {$operation} status for the Solr '{$core}' core."); + } + + if ($status === 'in progress') { + // Wait 2 seconds before trying again. + sleep(2); + } + } while ($status !== 'success'); + } + + /** + * Gets the operation status. + * + * @param string $core + * The core name for which to build the URL. + * @param string $operation + * The operation to be performed: 'restore' or 'backup'. + * @param int $attempt + * The attempt number. + * + * @return string + * Could be: 'in progress', 'success', 'failed'. + * + * @throws \Robo\Exception\AbortTasksException + * When the Solr server response is invalid. + */ + protected function getOperationStatus(string $core, string $operation, int &$attempt): string { + $attempt++; + $this->say("Check if {$operation} is complete (attempt: #{$attempt})"); + + $response = $this->httpGet($this->getUrl($core, $operation, TRUE)); + + if (($content = Json::decode($response->getBody()->getContents())) === NULL) { + throw new AbortTasksException("Invalid response from Solr server, while trying to get the {$operation} status of Solr '{$core}' core."); + } + + if ($operation === 'backup') { + $status = $content['details']['backup']['status'] ?? 'in progress'; + } + elseif ($operation === 'restore') { + $status = $content['restorestatus']['status']; + } + $status = strtolower($status); + + // Operation failed. + if ($status === 'failed') { + throw new AbortTasksException("Failed to {$operation}, with output:\n" . print_r($content, TRUE)); + } + + return $status; + } + + /** + * Builds the Solr replicate URL. + * + * @param string $core + * The core name for which to build the URL. + * @param string $operation + * The operation to be performed: 'restore' or 'backup'. + * @param bool $checkStatus + * (optional) If the command is checking the status of the operation. + * Defaults to FALSE. + * + * @return string + * The URL. + * + * @see https://lucene.apache.org/solr/guide/6_6/making-and-restoring-backups.html + */ + protected function getUrl(string $core, string $operation, bool $checkStatus = FALSE): string { + $config = $this->getConfig(); + $envCorePrefix = 'env.SOLR_CORE_' . strtoupper($core); + $coreUrl = $config->get("${envCorePrefix}_URL"); + $coreName = $config->get("${envCorePrefix}_NAME"); + $command = static::COMMAND_MAP[$operation][$checkStatus]; + return "{$coreUrl}/{$coreName}/replication?command={$command}&name={$core}&location={$config->get('toolkit.tmp_folder')}/solr&wt=json&json.nl=map"; + } + + /** + * Performs an HTTP get request. + * + * @param string $url + * The HTTP get request URL. + * + * @return \Psr\Http\Message\ResponseInterface + * The HTTP response + * + * @throws \Robo\Exception\AbortTasksException + * When the Solr server response is invalid. + */ + protected function httpGet(string $url): ResponseInterface { + if (!isset($this->httpClient)) { + $this->httpClient = new Client(); + } + + try { + $response = $this->httpClient->get($url); + } + catch (\Exception $exception) { + throw new AbortTasksException($exception->getMessage(), 0, $exception); + } + if ($response->getStatusCode() != 200) { + throw new AbortTasksException("Solr server returned HTTP code {$response->getStatusCode()}, while querying {$url}."); + } + + return $response; + } + +} From 4ad71ae1217922eb575393a500e7efddf3ff56ab Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:47:15 +0300 Subject: [PATCH 08/35] ISAICP-5825: Covert MySQL manipulation commands. --- build.project.xml | 292 ++++++++++++++++++++++----- runner/mysql.yml | 18 ++ src/Phing/MySqlEmptyDatabaseTask.php | 26 --- 3 files changed, 262 insertions(+), 74 deletions(-) create mode 100644 runner/mysql.yml delete mode 100644 src/Phing/MySqlEmptyDatabaseTask.php diff --git a/build.project.xml b/build.project.xml index 2c698996dc..ec0e7b2a01 100644 --- a/build.project.xml +++ b/build.project.xml @@ -41,11 +41,251 @@ - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${drupal.modules.dev} + + + + + + + ${module} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -156,50 +396,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - getConnection(); - $tables = $connection->query('SHOW TABLES;')->fetchAll(\PDO::FETCH_COLUMN); - - foreach ($tables as $table) { - $query = "DROP TABLE `$table`"; - $statement = $connection->prepare($query); - $statement->execute(); - } - } - -} From e74098e8a2b37b2c1125c6b135c45ff1f51551e1 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 15:31:42 +0300 Subject: [PATCH 09/35] ISAICP-5825: Convert Virtuoso commands. --- build.project.xml | 31 ------------------- runner/virtuoso.yml | 72 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 31 deletions(-) create mode 100644 runner/virtuoso.yml diff --git a/build.project.xml b/build.project.xml index ec0e7b2a01..2b7431cdc1 100644 --- a/build.project.xml +++ b/build.project.xml @@ -365,37 +365,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - Date: Sat, 25 Apr 2020 15:34:17 +0300 Subject: [PATCH 10/35] ISAICP-5825: Remove unused 'rebuild-dev' Phing target. --- build.project.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build.project.xml b/build.project.xml index 2b7431cdc1..248b4d85dd 100644 --- a/build.project.xml +++ b/build.project.xml @@ -782,11 +782,6 @@ description="Build a development environment." depends="install-composer-dependencies, setup-behat, setup-php-codesniffer, setup-phpunit, setup-drush, compile-scss" /> - - Date: Sat, 25 Apr 2020 15:36:44 +0300 Subject: [PATCH 11/35] ISAICP-5825: Convert environment rebuild commands. --- .opts.yml | 10 ++++++++++ build.project.xml | 31 ------------------------------- runner.yml.dist | 19 +++++++++++++++++++ runner/dev.yml | 29 +++++++++++++++++++++++++++++ runner/joinup.yml | 28 ++++++++++++++++++++++++++++ 5 files changed, 86 insertions(+), 31 deletions(-) create mode 100644 .opts.yml create mode 100644 runner.yml.dist create mode 100644 runner/dev.yml create mode 100644 runner/joinup.yml diff --git a/.opts.yml b/.opts.yml new file mode 100644 index 0000000000..f16f7630b0 --- /dev/null +++ b/.opts.yml @@ -0,0 +1,10 @@ +upgrade_commands: + default: + - ${drush.bin} state:set system.maintenance_mode 1 --input-format=integer --yes + - ${phing.bin} disable-config-read-only + - ${phing.bin} redis-flush + - ${drush.bin} updatedb --no-post-updates --yes + - ${drush.bin} config:import --yes + - ${drush.bin} updatedb --yes + - ${phing.bin} enable-config-read-only + - ${drush.bin} state:set system.maintenance_mode 0 --input-format=integer --yes diff --git a/build.project.xml b/build.project.xml index 248b4d85dd..29cac2e492 100644 --- a/build.project.xml +++ b/build.project.xml @@ -338,33 +338,6 @@ Port="${sparql.port}" /> - - - - - - - - - - - - - - - - - - Date: Sat, 25 Apr 2020 15:37:47 +0300 Subject: [PATCH 12/35] ISAICP-5825: Adapt and/or remove stale Phing properties. --- build.properties | 70 +++++------------------------------------------- 1 file changed, 7 insertions(+), 63 deletions(-) diff --git a/build.properties b/build.properties index 998c1ad7ce..a5653f23ad 100644 --- a/build.properties +++ b/build.properties @@ -20,11 +20,11 @@ drupal.db.password = db_pass drupal.db.dsn = ${drupal.db.type}:host=${drupal.db.host};dbname=${drupal.db.name} # SPARQL database settings. -sparql.host = localhost -sparql.port = 8890 -sparql.dsn = localhost -sparql.user = dba -sparql.password = dba +sparql.host = ${env.SPARQL_HOST} +sparql.port = ${env.SPARQL_PORT} +sparql.dsn = ${env.SPARQL_HOST} +sparql.user = ${env.SPARQL_USER} +sparql.password = ${env.SPARQL_PASSWORD} sparql.namespace = Drupal\\Driver\\Database\\joinup_sparql # Comma-separated list of demo users to create. The username and password will @@ -33,24 +33,12 @@ sparql.namespace = Drupal\\Driver\\Database\\joinup_sparql drupal.demo.users = administrator, moderator -# Virtuoso -# -------- - -# The location of the Virtuoso binary. Preferably overwrite this locally with a -# absolute path for increased security. -virtuoso.binary = virtuoso-t - -# The location of the database dump to use when restoring Virtuoso. -virtuoso.backup = ${exports.virtuoso.destination.folder} - - # Paths # ----- # Paths to executables. git.bin = /usr/bin/git isql.bin = /usr/bin/isql-vt -solr.bin = ${project.basedir}/vendor/bin/solr # Files and directories inside the Drupal installation. documentroot.path = web @@ -120,39 +108,11 @@ phpunit.sparql_url = sparql://${sparql.host}:${sparql.port}/ # Apache Solr configuration # ------------------------- -# Apache Solr version to use. -solr.version = 7.7.1 - -# Filename of the download. -solr.tarball.filename = solr-${solr.version}.tgz - -# Download URL. -solr.download.url = http://archive.apache.org/dist/lucene/solr/${solr.version}/${solr.tarball.filename} - -# Installation path. -solr.vendor.dir = ${project.basedir}/vendor/apache -solr.dir = ${solr.vendor.dir}/solr-${solr.version} - -# Search API configuration path. -solr.config.dir = ${website.modules.dir}/contrib/search_api_solr/solr-conf/6.x - # Solr core for published content. -solr.core.published.name = drupal_published -solr.core.published.scheme = http -solr.core.published.host = localhost -solr.core.published.port = 8983 -solr.core.published.path = /solr -solr.core.published.url = ${solr.core.published.scheme}://${solr.core.published.host}:${solr.core.published.port}${solr.core.published.path} -solr.core.published.dir = ${solr.dir}/server/solr/${solr.core.published.name} +solr.core.published.url = ${env.SOLR_CORE_PUBLISHED_URL} # Solr core for unpublished content. -solr.core.unpublished.name = drupal_unpublished -solr.core.unpublished.scheme = http -solr.core.unpublished.host = localhost -solr.core.unpublished.port = 8983 -solr.core.unpublished.path = /solr -solr.core.unpublished.url = ${solr.core.unpublished.scheme}://${solr.core.unpublished.host}:${solr.core.unpublished.port}${solr.core.unpublished.path} -solr.core.unpublished.dir = ${solr.dir}/server/solr/${solr.core.unpublished.name} +solr.core.unpublished.url = ${env.SOLR_CORE_UNPUBLISHED_URL} # Development options @@ -193,22 +153,6 @@ exports.s3.bucket = joinup2 exports.s3.key = exports.s3.secret = -# The paths to the database dumps. Note that the Virtuoso dump consists of -# multiple files so this is pointing to the folder containing the files. -# Folder names should end in slashes. -# The following two variables also need to be set. Each, is the direct link to the -# corresponding dump. -# exports.virtuoso.source = http://example.com/virtuoso.tar.gz -# exports.sql.source = http://example.com/sql.sql.gz -# exports.solr.filename = solr.tar.gz -# exports.solr.source = http://example.com/${export.solr.filename} -exports.virtuoso.destination.folder = ${tmp.dir}/dump-virtuoso/ -exports.sql.destination = ${tmp.dir}/dump.sql.gz -exports.solr.destination.folder = ${tmp.dir}/solr - -asda.username = -asda.password = - # Packer configuration # -------------------- From 9781671161b89dbe29de1a87746b9d3e163b8c26 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 15:39:38 +0300 Subject: [PATCH 13/35] ISAICP-5825: Make developer aware about command replacements. --- build.converted.xml | 149 ++++++++++++++++++++++++++++++++++++++++++++ build.xml | 3 + runner/joinup.yml | 28 --------- 3 files changed, 152 insertions(+), 28 deletions(-) create mode 100644 build.converted.xml delete mode 100644 runner/joinup.yml diff --git a/build.converted.xml b/build.converted.xml new file mode 100644 index 0000000000..857ba63ebc --- /dev/null +++ b/build.converted.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.xml b/build.xml index 3b241c96a8..12f66a5c2a 100644 --- a/build.xml +++ b/build.xml @@ -5,6 +5,9 @@ + + + diff --git a/runner/joinup.yml b/runner/joinup.yml deleted file mode 100644 index 567752aacf..0000000000 --- a/runner/joinup.yml +++ /dev/null @@ -1,28 +0,0 @@ -joinup: - asda: - url: https://asda.fpfis.tech.ec.europa.eu/${toolkit.project_id}/dumps - -commands: - - joinup:download-databases: - - { task: "run", command: "mysql:download-dump" } - - { task: "run", command: "virtuoso:download-snapshot" } - - { task: "run", command: "solr:download-snapshot" } - - joinup:restore-databases: - - task: run - command: solr:restore - - task: run - command: virtuoso:restore - - task: exec - command: ${phing.bin} - arguments: - - disable-webtools-geocoding-cache - - task: run - command: toolkit:install-dump - - joinup:rebuild-environment: - - task: run - command: joinup:restore-databases - - task: run - command: run-deploy From d4ccb104c85c3cf1c9fa1df3fc2163265c282be2 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 15:40:23 +0300 Subject: [PATCH 14/35] ISAICP-5825: Document which & how environment variables should be set. --- local.env.dist | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 local.env.dist diff --git a/local.env.dist b/local.env.dist new file mode 100755 index 0000000000..6abd9a4eb1 --- /dev/null +++ b/local.env.dist @@ -0,0 +1,27 @@ +# Joinup environment variables +# +# Declaring sensitive data in environment variables is an industry standard, as +# it is a very friendly mechanism for configuring the applications on different +# environments and in continuous intergartion flows, as well. Depending on the +# development environment or developer practices, the system environment +# variables can be assigned in different ways, most simple is declaring them in +# the `~/.bashrc` or `~/.zshrc` files on Bash respectively Z shells. But some +# prefer to keep them inside the project's directory tree, as they are project +# specific variables. In order to do so, just copy this file as `local.env` and +# fill the sensitive values. Note that the `local.env` file is not under VCS +# control. Run the `source local.env` command to make the variables available to +# your application. + +export ASDA_URL= +export ASDA_USER= +export ASDA_PASSWORD= + +export SPARQL_HOST=localhost +export SPARQL_PORT=8890 +export SPARQL_USER=dba +export SPARQL_PASSWORD=dba + +export SOLR_CORE_PUBLISHED_NAME=drupal_published +export SOLR_CORE_PUBLISHED_URL=http://localhost:8983/solr +export SOLR_CORE_UNPUBLISHED_NAME=drupal_unpublished +export SOLR_CORE_UBPUBLISHED_URL=http://localhost:8983/solr From c67fe637a0351226361f941cc7a2e058bb767b2e Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 14:35:57 +0300 Subject: [PATCH 15/35] ISAICP-5825: Adapt documentation. --- README.md | 27 ++++++++++++++------------- resources/docker/README.md | 15 ++++++--------- resources/mac/README.md | 29 ++++++----------------------- scripts/solr/restore_solr.sh | 5 ++--- 4 files changed, 28 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index c885b236c8..d36bd66dc7 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ run the Behat test, please refer directly to the documention of folder `./vendor/apache/solr`. ``` - $ ./vendor/bin/phing setup-apache-solr + $ ./vendor/bin/run solr:setup ``` * Install Virtuoso. For basic instructions, see [setting up @@ -124,23 +124,11 @@ Example `build.properties.local`: # The location of the Composer binary. composer.bin = /usr/bin/composer -# The location of the Virtuoso console (Debian / Ubuntu). -isql.bin = /usr/bin/virtuoso-isql -# The location of the Virtuoso console (Arch Linux). -isql.bin = /usr/bin/virtuoso-isql -# The location of the Virtuoso console (Redhat / Fedora / OSX with Homebrew). -isql.bin = /usr/local/bin/isql - # SQL database settings. drupal.db.name = my_database drupal.db.user = root drupal.db.password = hunter2 -# SPARQL database settings. -sparql.dsn = localhost -sparql.user = my_username -sparql.password = qwerty123 - # Admin user. drupal.admin.username = admin drupal.admin.password = admin @@ -152,6 +140,19 @@ drupal.base_url = http://joinup.local drush.verbose = yes ``` +#### Create a local task runner configuration file + +In order to override any configuration of the task runner (`./vendor/bin/run`), +create a `runner.yml` file in the project's top directory. You can override +there any default runner configuration, or any other declared in `./runner` +files or in `runner.yml.dist`. Note that the `runner.yml` file is not under VCS +control. + +#### Setup environment variables + +Sensitive data will be stored in [environment variables]( +https://en.wikipedia.org/wiki/Environment_variable). See `local.env.dist` for +details. #### Build the project diff --git a/resources/docker/README.md b/resources/docker/README.md index 3a8be089fc..83921ce1c3 100644 --- a/resources/docker/README.md +++ b/resources/docker/README.md @@ -183,22 +183,19 @@ By default, there is no need to pass any settings to the XDEBUG_CONFIG environme from the xdebug ini files. ## Rebuild from existing databases + ### Obtain credentials The production databases are stored on a private server. In order to get access, ask your friendly project manager for the paths and credentials. Store them in the `build.properties.local` file in the following properties: - `exports.s3.key` - `exports.s3.secret` -- `exports.virtuoso.source` -- `exports.sql.source` -- `asda.username` -- `asda.password` ### Download databases Download both the SPARQL and SQL database dumps using the following command: ``` -$ docker-compose exec --user www-data web php -d memory_limit=-1 ./vendor/bin/phing download-databases +$ docker-compose exec --user www-data web php -d memory_limit=-1 ./vendor/bin/run dev:download-databases ``` By default the downloaded databases are stored in the `tmp` folder which is located in the project root. The virtuoso @@ -226,20 +223,20 @@ image, and the virtuoso dumps within the startup directory of the virtuoso image **Note:** As you can see in `docker-compose.db.yml`, the dumps need to be placed in a specific folder in the container. You can alter the configuration using your override to draw the dump from anywhere in the host, but the container target must remain the same. The download of the database is *not* automatic. You need to download and place them in the -specific directories manually or by using the `download-databases` phing target. In any case, the dumps must be placed -as described in the volumes entry in `docker-compose.prod_db.yml`. +specific directories manually or by using the `dev:download-databases` runner command. In any case, the dumps must be +placed as described in the volumes entry in `docker-compose.prod_db.yml`. After the images have been built and the databases have been restored, run the following command to execute the updates: ``` -$ docker-compose exec --user www-data web ./vendor/bin/phing execute-updates +$ docker-compose exec --user www-data web ./vendor/bin/run toolkit:run-deploy --sequence-file=runner/deploy.yml --sequence-key=default ``` Finally, in order to run a full re-index of the site, run the command: ``` -$ docker-compose exec --user www-data web ./vendor/bin/phing reindex-apache-solr +$ docker-compose exec --user www-data web ./vendor/bin/run solr:reindex ``` **IMPORTANT**: All images start normally and the web server is available almost immediately. However, mysql container diff --git a/resources/mac/README.md b/resources/mac/README.md index 7bab0cb3ec..417eab9d36 100644 --- a/resources/mac/README.md +++ b/resources/mac/README.md @@ -100,23 +100,6 @@ Redis](https://medium.com/@petehouston/install-and-config-redis-on-mac-os-x-via- piwik.website_id = 1 piwik.url.http = http://piwik.test/ - # The credentials of the S3 bucket containing the databases. - # Production db dumps. - #exports.sql.source = joinupv2.0/dumps/prod/Joinup-full-20180220.sql - - # Virtuoso - virtuoso.binary = /usr/local/bin/virtuoso-t - - # Solr - solr.download.url = https://archive.apache.org/dist/lucene/solr/7.7.1/solr-7.7.1.tgz - - # ASDA settings - asda.username = '' - asda.password = '' - exports.virtuoso.source = '' - exports.sql.source = '' - exports.solr.filename = '' - exports.solr.source = '' exports.s3.bucket = '' exports.s3.key = '' exports.s3.secret = '' @@ -149,8 +132,8 @@ Redis](https://medium.com/@petehouston/install-and-config-redis-on-mac-os-x-via- 6. Setup Virtuoso ```bash - $ ./vendor/bin/phing virtuoso-setup - $ ./vendor/bin/phing virtuoso-start + $ ./vendor/bin/run virtuoso:setup + $ ./vendor/bin/run virtuoso:start $ ./vendor/bin/phing setup-virtuoso-permissions ``` @@ -165,7 +148,7 @@ Redis](https://medium.com/@petehouston/install-and-config-redis-on-mac-os-x-via- 8. Setup Solr and check if it's running ```bash - $ ./vendor/bin/phing setup-apache-solr + $ ./vendor/bin/run solr:setup ``` [Check Solr](http://localhost:8983/solr/#/) @@ -173,13 +156,13 @@ Redis](https://medium.com/@petehouston/install-and-config-redis-on-mac-os-x-via- 9. Download production Databases ```bash - $ ./vendor/bin/phing download-databases + $ ./vendor/bin/run dev:download-databases ``` 10. Rebuild environment ```bash - $ ./vendor/bin/phing rebuild-environment + $ ./vendor/bin/run toolkit:install-clone ``` 11. Enable developers settings @@ -213,5 +196,5 @@ date: ```bash $ ./vendor/bin/phing build-dev -$ ./vendor/bin/phing rebuild-environment +$ ./vendor/bin/run toolkit:install-clone ``` diff --git a/scripts/solr/restore_solr.sh b/scripts/solr/restore_solr.sh index 1722772d4c..99e329d1c2 100755 --- a/scripts/solr/restore_solr.sh +++ b/scripts/solr/restore_solr.sh @@ -2,9 +2,8 @@ # Restores a backup of the Solr data. # This script is intended to be run in the Jenkins pipelines of the acceptance -# and UAT environments. For local development it is easier to run the Phing -# target: -# $ ./vendor/bin/phing restore-databases +# and UAT environments. For local development better use the runner command: +# $ ./vendor/bin/run toolkit:install-dump SOLR_SERVER_URL="http://localhost:8983/solr" TIMEOUT=300 From 1d092a6378a743dd2c5675762b1060735cd53565 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 17:05:36 +0300 Subject: [PATCH 16/35] ISAICP-5825: Cleanup build.continuousphp.xml. --- build.continuousphp.xml | 68 +------- build.dist.xml | 358 ---------------------------------------- build.properties.dist | 194 ---------------------- composer.json | 3 +- composer.lock | 127 +------------- 5 files changed, 9 insertions(+), 741 deletions(-) delete mode 100644 build.dist.xml delete mode 100644 build.properties.dist diff --git a/build.continuousphp.xml b/build.continuousphp.xml index 31986e704c..77192aa9d6 100644 --- a/build.continuousphp.xml +++ b/build.continuousphp.xml @@ -2,61 +2,20 @@ - - - - - - - - - - - - - - - - - + - - + - - - - + @@ -71,15 +30,7 @@ sudo rsync -avz /opt/solr/search_api_solr/solr-conf/6.x/ /opt/solr/server/solr/d - - - - - - + @@ -100,11 +51,6 @@ sudo rsync -avz /opt/solr/search_api_solr/solr-conf/6.x/ /opt/solr/server/solr/d - - - diff --git a/build.dist.xml b/build.dist.xml deleted file mode 100644 index 90c31c47c5..0000000000 --- a/build.dist.xml +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${drupal.demo.user} - ${drupal.demo.user} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${drupal.modules.dev} - - - - - - - ${module} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build.properties.dist b/build.properties.dist deleted file mode 100644 index 83d40f81b2..0000000000 --- a/build.properties.dist +++ /dev/null @@ -1,194 +0,0 @@ -# Drupal configuration -# -------------------- - -# The project name. -project.name = myproject - -# The install profile to use. -website.profile.name = standard - -# The site name. -website.site.name = MyDrupalProject - -# Database settings. -drupal.db.type = mysql -drupal.db.name = ${project.name} -drupal.db.user = root -drupal.db.password = -drupal.db.host = 127.0.0.1 -drupal.db.port = 3306 -drupal.db.url = ${drupal.db.type}://${drupal.db.user}:${drupal.db.password}@${drupal.db.host}:${drupal.db.port}/${drupal.db.name} - -# Admin user. -drupal.admin.username = admin -drupal.admin.password = admin -drupal.admin.email = admin@example.com - -# Comma-separated list of demo users to create. The username and password will -# be taken from the role. A normal authenticated user with username and password -# 'user' will also be created. -drupal.demo.users = administrator - -# The base URL. This is used for doing functional tests in Behat and PHPUnit. -drupal.base_url = http://localhost - -# The namespace of the sparql connection class. -sparql.namespace = Drupal\\Driver\\Database\\sparql - -# Paths -# ----- - -# Paths to executables. -composer.bin = ${project.basedir}/vendor/bin/composer -drush.bin = ${project.basedir}/vendor/bin/drush -phing.bin = ${project.basedir}/vendor/bin/phing - -# Files and directories inside the Drupal installation. -website.drupal.dir = ${project.basedir}/web - -website.sites.dir = ${website.drupal.dir}/sites -website.site.dir = ${website.drupal.sites.dir}/all - -website.settings.dir = ${website.sites.dir}/default -website.settings.php = ${website.settings.dir}/settings.php -website.settings.php.default = ${website.settings.dir}/default.settings.php -website.settings.local.php.example = ${website.sites.dir}/example.settings.local.php -website.settings.local.php = ${website.settings.dir}/settings.local.php -website.services.yml = ${website.settings.dir}/services.yml -website.services.yml.default = ${website.settings.dir}/default.services.yml -website.files.dir = ${website.settings.dir}/files - -website.modules.dir = ${website.drupal.dir}/modules -website.profiles.dir = ${website.drupal.dir}/profiles -website.themes.dir = ${website.drupal.dir}/themes - -drupal.private_files.dir = ${project.basedir}/private - - -# Behat configuration -# ------------------- - -# The location of the Behat executable. -behat.bin = ${project.basedir}/vendor/bin/behat - -# The location of the Behat tests. -behat.dir = ${project.basedir}/tests - -# The location of the Behat configuration template. -behat.yml.template = ${behat.dir}/behat.yml.dist - -# The location of the generated Behat configuration file. -behat.yml.path = ${behat.dir}/behat.yml - -# The base URL to use in Behat tests. -behat.base_url = ${drupal.base_url} - -# The browser to use for testing, either 'firefox' or 'chrome'. -behat.browser_name = chrome - -# The port of the webdriver host (e.g. Selenium or PhantomJS). -behat.webdriver_port = 4444 - -# The URL of the webdriver host (e.g. Selenium or PhantomJS). -behat.webdriver_url = http://localhost:${behat.webdriver_port}/wd/hub - -# The location to search for Behat subcontexts. -behat.subcontexts.path = ${website.modules.dir} - -# The output format to use for Behat tests, either 'progress' or 'pretty'. -behat.formatter.name = progress - -# The location of the test files. -behat.files.path = ${behat.dir}/fixtures/files -behat.webtools_geocoding.cache.path = ${behat.dir}/fixtures/webtools_geocoding_cache - - -# PHP CodeSniffer configuration -# ----------------------------- - -# The file extensions to test. -phpcs.extensions = php inc module install info test profile theme css js - -# The default configuration file to generate. -phpcs.config = ${project.basedir}/phpcs.xml - -# The coding standard to use. If you want to customize the rules, make a copy of -# the file and name it 'phpcs-ruleset.xml'. Then copy this property to your -# build.properties file and remove the '.dist' suffix. -phpcs.standard = ${project.basedir}/phpcs-ruleset.xml.dist - -# Paths to check, delimited by semicolons. -phpcs.files = ${website.modules.dir};${website.profiles.dir};${website.themes.dir} - -# Paths to ignore, delimited by semicolons. -phpcs.ignore = ${website.modules.dir}/contrib - -# The report format. For example 'full', 'summary', 'diff', 'xml', 'json'. -phpcs.report = full - -# Whether or not to show sniff codes in the report. -phpcs.sniffcodes = 0 - -# Whether or not to show the progress of the run. -phpcs.progress = 1 - -# The location of the file containing the global configuration options. -phpcs.global.config = ${project.basedir}/vendor/squizlabs/php_codesniffer/CodeSniffer.conf - -# Whether or not to run a coding standards check before doing a git push. Note -# that this will abort the push if the coding standards check fails. -phpcs.prepush.enable = 0 - -# The source and destination paths of the git pre-push hook. -phpcs.prepush.source = ${project.basedir}/vendor/pfrenssen/phpcs-pre-push/pre-push -phpcs.prepush.destination = ${project.basedir}/.git/hooks/pre-push - - -# PHPUnit configuration -# --------------------- - -# The path to the configuration file template. -phpunit.dist = ${project.basedir}/phpunit.xml.dist - -# The path to the generated configuration file. -phpunit.config = ${project.basedir}/phpunit.xml - -# The base URL to use in functional tests. -phpunit.base_url = ${drupal.base_url} - -# The database URL to use in kernel tests and functional tests. -phpunit.db_url = ${drupal.db.url} - -# The path to the directory where HTML output from browsertests is stored. -phpunit.browsertest_output_dir = ${website.sites.dir}/simpletest/browser_output - -# The path to the file that lists HTML output from browsertests. -phpunit.browsertest_output_file = ${phpunit.browsertest_output_dir}/outputfile.txt - - -# Drush configuration -# ------------------- - -# The location of the Drush configuration folder. -drush.dir = ${project.basedir}/drush - -# The location of the Drush configuration template. -drush.yml.template = ${drush.dir}/drush.yml.dist - -# The location of the generated Drush configuration file. -drush.yml.path = ${drush.dir}/drush.yml - -# Verbosity of Drush commands. Set to 'true' for verbose output. -drush.verbose = false - - -# Development options -# ------------------- - -# Development modules to enable. -drupal.modules.dev = config_update devel field_ui menu_ui views_ui - -# Redirect outgoing e-mail to disk. This prevents e-mail from being -# accidentally sent out on development machines. The mails can be found in the -# folder temporary://devel-mails. This requires the devel module to be enabled. -drupal.redirect.email = yes diff --git a/composer.json b/composer.json index 5fd1958617..82d932c44e 100644 --- a/composer.json +++ b/composer.json @@ -6,9 +6,9 @@ "require": { "php": ">=7.1.0", "ext-json": "*", + "aws/aws-sdk-php": "~3.0", "composer/composer": "^1.9.1", "composer/installers": "^1.7", - "continuousphp/aws-sdk-phing": "~0.5", "cpliakas/git-wrapper": "~1.7", "cweagans/composer-patches": "^1.6.4", "dkarv/mdl-chip-input": "dev-master", @@ -77,7 +77,6 @@ "drupal/views_data_export": "^1.0", "drush/drush": "~10", "easyrdf/easyrdf": "0.10.0-alpha1 as 0.9.2", - "ec-europa/infra": "dev-master", "ec-europa/joinup-tallinn-dashboard": "dev-master", "ec-europa/material-design-lite": "dev-joinup", "ec-europa/toolkit": "^4.0", diff --git a/composer.lock b/composer.lock index ce3c982d24..4378b676df 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5cb95a79d287cdd219c2260e9949dfb8", + "content-hash": "19a281cef5e27886b9d4d5810bfea172", "packages": [ { "name": "SEMICeu/adms-ap_validator", @@ -2013,48 +2013,6 @@ "abandoned": "psr/container", "time": "2017-02-14T19:40:03+00:00" }, - { - "name": "continuousphp/aws-sdk-phing", - "version": "0.5.0", - "source": { - "type": "git", - "url": "https://github.com/continuousphp/aws-sdk-phing.git", - "reference": "ed4399d5a7f2a1a602b285726db594ce3c538a44" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/continuousphp/aws-sdk-phing/zipball/ed4399d5a7f2a1a602b285726db594ce3c538a44", - "reference": "ed4399d5a7f2a1a602b285726db594ce3c538a44", - "shasum": "" - }, - "require": { - "aws/aws-sdk-php": "~3.0", - "phing/phing": "~2.7", - "php": ">=5.4" - }, - "require-dev": { - "psy/psysh": "@stable" - }, - "type": "library", - "autoload": { - "psr-4": { - "Aws\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frederic Dewinne", - "email": "frederic@continuousphp.com" - } - ], - "description": "phing tasks for Amazon AWS", - "homepage": "https://github.com/continuousphp/aws-sdk-phing", - "time": "2017-10-13T13:25:42+00:00" - }, { "name": "cpliakas/git-wrapper", "version": "1.7.0", @@ -8146,44 +8104,6 @@ ], "time": "2015-11-01T12:15:43+00:00" }, - { - "name": "ec-europa/infra", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/ec-europa/infra.git", - "reference": "e05207c2a1f05468f0df063d1095ef03e376e548" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ec-europa/infra/zipball/e05207c2a1f05468f0df063d1095ef03e376e548", - "reference": "e05207c2a1f05468f0df063d1095ef03e376e548", - "shasum": "" - }, - "require": { - "continuousphp/aws-sdk-phing": "~0.2", - "pear/archive_tar": "^1.4", - "pear/versioncontrol_git": "dev-master", - "phing/phing": "2.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Aws\\": "src/Aws" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-3.0" - ], - "authors": [ - { - "name": "Gregory Boddin", - "email": "gregory@siwhine.net" - } - ], - "time": "2018-08-01T11:20:25+00:00" - }, { "name": "ec-europa/joinup-tallinn-dashboard", "version": "dev-master", @@ -10650,50 +10570,6 @@ ], "time": "2019-12-10T10:24:42+00:00" }, - { - "name": "pear/versioncontrol_git", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/pear/VersionControl_Git.git", - "reference": "6308acdf0ef5c57d1545e6a720fbddf755813753" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pear/VersionControl_Git/zipball/6308acdf0ef5c57d1545e6a720fbddf755813753", - "reference": "6308acdf0ef5c57d1545e6a720fbddf755813753", - "shasum": "" - }, - "require": { - "pear/pear-core-minimal": "^1.9", - "pear/pear_exception": "~1.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^5" - }, - "type": "library", - "autoload": { - "psr-0": { - "VersionControl": "./" - } - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "./" - ], - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Kousuke Ebihara", - "email": "ebihara@php.net", - "role": "Lead" - } - ], - "description": "VersionControl_Git is a library that provides OO interface to handle Git repository.", - "time": "2018-01-29T21:14:27+00:00" - }, { "name": "pfrenssen/matomo-reporting-api", "version": "2.0.0", @@ -18061,7 +17937,6 @@ "drupal/simple_sitemap": 20, "drupal/swiftmailer": 20, "drupal/view_unpublished": 15, - "ec-europa/infra": 20, "ec-europa/joinup-tallinn-dashboard": 20, "ec-europa/material-design-lite": 20, "jacklmoore/autosize": 20, From 864efca556cf0e3c62a8a0977ac0cda3dc46e0eb Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sat, 25 Apr 2020 17:06:35 +0300 Subject: [PATCH 17/35] ISAICP-5825: Merge build.dist.xml, build.properties.dist into build.project.xml and build.properties. --- README.md | 10 +- build.docker.main.xml | 1 - build.project.xml | 269 ++++++++++++++++++++++++++++++++++++++++ build.properties | 131 ++++++++++++++++++- build.xml | 4 - resources/mac/README.md | 2 +- 6 files changed, 403 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d36bd66dc7..3a81537786 100644 --- a/README.md +++ b/README.md @@ -106,17 +106,17 @@ using your favourite text editor: $ vim build.properties.local ``` -This file will contain configuration which is unique to your development +This file will contain the configuration which is unique to your development machine. This is mainly useful for specifying your database credentials and the -username and password of the Drupal admin user so they can be used during the +username and password of the Drupal admin user, so they can be used during the installation. Because these settings are personal they should not be shared with the rest of the team. Make sure you never commit this file! -All options you can use can be found in the `build.properties.dist` file. Just -copy the lines you want to override and change their values. Do not copy the -entire `build.properties.dist` file, since this would override all options. +All options you can use can be found in the `build.properties` file. Just copy +the lines you want to override and change their values. Do not copy the entire +`build.properties` file, since this would override all options. Example `build.properties.local`: diff --git a/build.docker.main.xml b/build.docker.main.xml index e7005b93e4..e51e6ea13f 100644 --- a/build.docker.main.xml +++ b/build.docker.main.xml @@ -9,7 +9,6 @@ - diff --git a/build.project.xml b/build.project.xml index 29cac2e492..ccad72f959 100644 --- a/build.project.xml +++ b/build.project.xml @@ -2,6 +2,8 @@ + + @@ -282,6 +284,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${drupal.modules.dev} + + + + + + + ${module} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - diff --git a/resources/mac/README.md b/resources/mac/README.md index 417eab9d36..4ba5fa56b1 100644 --- a/resources/mac/README.md +++ b/resources/mac/README.md @@ -76,7 +76,7 @@ Redis](https://medium.com/@petehouston/install-and-config-redis-on-mac-os-x-via- composer.bin = /usr/local/bin/composer # Database settings. - drupal.db.name = Joinup + drupal.db.name = joinup drupal.db.user = root drupal.db.password = From 9f281aa89a7c0320f2eb6d46a7ed3dc071bcad7c Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sun, 26 Apr 2020 11:52:40 +0300 Subject: [PATCH 18/35] ISAICP-5825: EchoTask already overrides an existing file. --- build.project.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/build.project.xml b/build.project.xml index ccad72f959..c0a226b0b8 100644 --- a/build.project.xml +++ b/build.project.xml @@ -375,13 +375,6 @@ - - - - - - - From 7a506b5e220e605ae1f9e112d356eb448a430c73 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sun, 26 Apr 2020 11:55:19 +0300 Subject: [PATCH 19/35] ISAICP-5825: file_put_contents() already overrides an existing file. --- build.project.xml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/build.project.xml b/build.project.xml index c0a226b0b8..9849f50e7e 100644 --- a/build.project.xml +++ b/build.project.xml @@ -332,20 +332,6 @@ - - - - - - - - - - - - - - - + From f49de7eecd1c6f7adb304893730cac15cf54b4ee Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Tue, 28 Apr 2020 10:37:00 +0300 Subject: [PATCH 20/35] ISAICP-5825: Drop 'truncate-cache-tables' Phing target. They are not backed-up anymore. --- build.project.xml | 8 ---- src/Phing/TruncateCacheTablesTask.php | 57 --------------------------- 2 files changed, 65 deletions(-) delete mode 100644 src/Phing/TruncateCacheTablesTask.php diff --git a/build.project.xml b/build.project.xml index 9849f50e7e..2d97ab1dc8 100644 --- a/build.project.xml +++ b/build.project.xml @@ -586,14 +586,6 @@ Port="${sparql.port}" /> - - - - - connection = $this->getConnection(); - - foreach ($this->getCacheTables() as $table) { - $this->truncateTable($table); - } - } - - /** - * Returns a list of cache table names. - * - * @return array - * An indexed array of cache table names. - */ - protected function getCacheTables(): array { - // We cannot query the Drupal API at this point to get the full list of - // cache tables, so just return all tables starting with 'cache_'. - $query = 'SHOW TABLES LIKE "cache\_%"'; - return $this->connection->query($query, \PDO::FETCH_NUM)->fetchAll(\PDO::FETCH_COLUMN); - } - - /** - * Truncates the given table. - * - * @param string $table - * The name of the table to truncate. - */ - protected function truncateTable(string $table): void { - $query = "TRUNCATE TABLE `$table`"; - $statement = $this->connection->prepare($query); - $statement->execute(); - } - -} From f6e91c39671f2b3167a051e3599fac5b9f625edc Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Mon, 4 May 2020 11:10:58 +0300 Subject: [PATCH 21/35] ISAICP-5825: Drop the 'setmysqlautoincrement' task. It's a migration artefact. --- build.project.xml | 6 --- src/Phing/SetMysqlAutoincrement.php | 84 ----------------------------- 2 files changed, 90 deletions(-) delete mode 100644 src/Phing/SetMysqlAutoincrement.php diff --git a/build.project.xml b/build.project.xml index 2d97ab1dc8..9946cf5115 100644 --- a/build.project.xml +++ b/build.project.xml @@ -34,9 +34,6 @@ - - - @@ -557,9 +554,6 @@ install_settings_form.sparql.namespace=${sparql.namespace} - - - diff --git a/src/Phing/SetMysqlAutoincrement.php b/src/Phing/SetMysqlAutoincrement.php deleted file mode 100644 index 35e3b7b288..0000000000 --- a/src/Phing/SetMysqlAutoincrement.php +++ /dev/null @@ -1,84 +0,0 @@ - MAX(D6.comments.cid) + 500,000. - * - {file_managed}.fid -> MAX(D6.files.fid) + 500,000. - * - {node}.nid -> MAX(D6.node.nid) + 500,000. - * - {users}.uid -> MAX(D6.users.uid) + 500,000. - */ -class SetMysqlAutoincrement extends \Task { - - /** - * Sets table auto-increment. - * - * @todo For performance reasons on the CI containers we hardcode the values - * for auto-increment, instead of computing them. The hardcoded values are - * safely covering the actual database maximum values. - */ - public function main() { - $project = $this->getProject(); - - // $d6_host = $project->getProperty('migration.db.host'); - // $d6_port = $project->getProperty('migration.db.port'); - // $d6_username = $project->getProperty('migration.db.user'); - // $d6_passwd = $project->getProperty('migration.db.password'); - // $d6_dbname = $project->getProperty('migration.db.name'); - - $d8_host = $project->getProperty('drupal.db.host'); - $d8_port = $project->getProperty('drupal.db.port'); - $d8_username = $project->getProperty('drupal.db.user'); - $d8_passwd = $project->getProperty('drupal.db.password'); - $d8_dbname = $project->getProperty('drupal.db.name'); - - // PHP 7.x uses the pdo_mysql extension by default, while PHP 5.x defaults - // to mysqli. - if (class_exists('\mysqli')) { - // $d6 = new \mysqli($d6_host, $d6_username, $d6_passwd, $d6_dbname, $d6_port); - $d8 = new \mysqli($d8_host, $d8_username, $d8_passwd, $d8_dbname, $d8_port); - } - elseif (class_exists('\PDO')) { - $d8 = new \PDO("mysql:host=$d8_host;port=$d8_port;dbname=$d8_dbname", $d8_username, $d8_passwd); - } - else { - throw new \Exception('No supported MySQL extension found.'); - } - - $safety_margin = 500000; - - // Comments. - // $result = $d6->query("SELECT MAX(cid) FROM comments"); - // $max_cid = $result->fetch_assoc()['MAX(cid)'] + $safety_margin; - $max_cid = $safety_margin; - $d8->query("ALTER TABLE comment AUTO_INCREMENT=$max_cid"); - - // Files. - // $result = $d6->query("SELECT MAX(fid) FROM files"); - // $max_fid = $result->fetch_assoc()['MAX(fid)'] + $safety_margin; - $max_fid = $safety_margin; - $d8->query("ALTER TABLE file_managed AUTO_INCREMENT=$max_fid"); - - // Nodes. - // $result = $d6->query("SELECT MAX(nid) FROM node"); - // $max_nid = $result->fetch_assoc()['MAX(nid)'] + $safety_margin; - $max_nid = 700000; - $d8->query("ALTER TABLE node AUTO_INCREMENT=$max_nid"); - - // Users. - // $result = $d6->query("SELECT MAX(uid) FROM users"); - //$max_uid = $result->fetch_assoc()['MAX(uid)'] + $safety_margin; - $max_uid = 700000; - // The {users} table is not using auto-increment but {sequences}. - // @see \Drupal\Core\Database\Driver\mysql\Connection::nextId() - $d8->query("INSERT INTO sequences (value) VALUES ($max_uid) ON DUPLICATE KEY UPDATE value = value"); - $d8->query("INSERT INTO sequences () VALUES ()"); - } - -} From 9ef95c2ca6f7d4b29ca7e8dd40a5f414c37fa6b4 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Mon, 4 May 2020 14:54:39 +0300 Subject: [PATCH 22/35] ISAICP-5825: Drop 'install-composer-dependencies-dist' Phint target as is never used. --- build.docker.overrides.xml | 7 ------- build.project.xml | 18 +----------------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/build.docker.overrides.xml b/build.docker.overrides.xml index 9f54a12bab..829ceaa866 100644 --- a/build.docker.overrides.xml +++ b/build.docker.overrides.xml @@ -2,13 +2,6 @@ - - - - - - - - - - - @@ -459,14 +451,6 @@ - - - - - - - - @@ -978,7 +962,7 @@ + depends="compile-scss, setup-drush" /> Date: Mon, 4 May 2020 15:04:15 +0300 Subject: [PATCH 23/35] ISAICP-5825: Composer install shouldn't be part of 'build-dev'. --- build.docker.main.xml | 3 --- build.docker.overrides.xml | 12 ------------ build.project.xml | 16 +--------------- 3 files changed, 1 insertion(+), 30 deletions(-) delete mode 100644 build.docker.overrides.xml diff --git a/build.docker.main.xml b/build.docker.main.xml index e51e6ea13f..4195f7aed6 100644 --- a/build.docker.main.xml +++ b/build.docker.main.xml @@ -13,9 +13,6 @@ - - - diff --git a/build.docker.overrides.xml b/build.docker.overrides.xml deleted file mode 100644 index 829ceaa866..0000000000 --- a/build.docker.overrides.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/build.project.xml b/build.project.xml index 43c660ef20..3cad9fe925 100644 --- a/build.project.xml +++ b/build.project.xml @@ -206,13 +206,6 @@ - - - - - - - @@ -444,13 +437,6 @@ - - - - - - - @@ -967,7 +953,7 @@ + depends="setup-behat, setup-php-codesniffer, setup-phpunit, setup-drush, compile-scss" /> Date: Mon, 4 May 2020 15:13:34 +0300 Subject: [PATCH 24/35] ISAICP-5825: Remove duplicated Phing targets. --- build.project.xml | 231 ---------------------------------------------- 1 file changed, 231 deletions(-) diff --git a/build.project.xml b/build.project.xml index 3cad9fe925..c05f094fa8 100644 --- a/build.project.xml +++ b/build.project.xml @@ -266,237 +266,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${drupal.modules.dev} - - - - - - - ${module} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Date: Tue, 5 May 2020 10:24:32 +0300 Subject: [PATCH 25/35] ISAICP-5825: Remove the unused 'enable-uat-modules' Phing target. --- build.project.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/build.project.xml b/build.project.xml index c05f094fa8..7fdb7deca9 100644 --- a/build.project.xml +++ b/build.project.xml @@ -356,19 +356,6 @@ - - - - ${drupal.modules.uat} - - - Date: Tue, 5 May 2020 11:10:35 +0300 Subject: [PATCH 26/35] ISAICP-5825: Typo. --- runner/solr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runner/solr.yml b/runner/solr.yml index fd18eba789..282033d70f 100644 --- a/runner/solr.yml +++ b/runner/solr.yml @@ -30,7 +30,7 @@ commands: - task: exec command: ${solr.bin} restart - # Downloads and unpacks the Sole snapshot. + # Downloads and unpacks the Solr snapshot. solr:download-snapshot: # Cleanup any stale data. - task: remove From f72b5e0601a71e29cef6ed5e594ffa8ba434730f Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Tue, 5 May 2020 11:40:35 +0300 Subject: [PATCH 27/35] ISAICP-5825: Remove the heavyweight proprietary ECAS mock server Phing targets. Not used anymore. --- build.eulogin.xml | 75 --- .../EuLoginBuildEcasMockDockerCompose.php | 77 --- .../samlConfiguration.xml | 183 ------- .../stsConfiguration.xml | 456 ------------------ .../ecas-mock-server-config/userDataBase.xml | 118 ----- 5 files changed, 909 deletions(-) delete mode 100644 src/Phing/EuLoginBuildEcasMockDockerCompose.php delete mode 100644 web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/samlConfiguration.xml delete mode 100644 web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/stsConfiguration.xml delete mode 100644 web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/userDataBase.xml diff --git a/build.eulogin.xml b/build.eulogin.xml index 8deb4a0ae1..4e23153eae 100644 --- a/build.eulogin.xml +++ b/build.eulogin.xml @@ -2,81 +2,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Phing/EuLoginBuildEcasMockDockerCompose.php b/src/Phing/EuLoginBuildEcasMockDockerCompose.php deleted file mode 100644 index db51c32c0a..0000000000 --- a/src/Phing/EuLoginBuildEcasMockDockerCompose.php +++ /dev/null @@ -1,77 +0,0 @@ -getProject()->getProperties(); - - // @todo Add MacOS NFS optimisation. - // @see https://medium.com/@sean.handley/how-to-set-up-docker-for-mac-with-native-nfs-145151458adc - $compose = [ - 'version' => '2', - 'services' => [ - 'authentication' => [ - 'image' => $properties['eulogin.ecas_mock.docker.image'], - 'volumes' => [ - "{$properties['eulogin.ecas_mock.config_fixtures.dir']}:/data/ecas-mock-server-shared", - ], - 'ports' => [ - '7001:7001', - '7002:7002', - '7003:7003', - ], - ], - ], - ]; - - file_put_contents("{$this->destination}/docker-compose.yml", Yaml::encode($compose)); - $this->log("Created {$this->destination}/docker-compose.yml."); - } - - /** - * Sets the destination directory. - * - * @param string $destination - * The destination directory. - */ - public function setDestination(string $destination): void { - $this->destination = $destination; - } - - /** - * Sets the Docker Server version. - * - * @param string $dockerServerVersion - * The he Docker Server version. - */ - public function setDockerServerVersion(string $dockerServerVersion): void { - $this->dockerServerVersion = $dockerServerVersion; - } - -} diff --git a/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/samlConfiguration.xml b/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/samlConfiguration.xml deleted file mode 100644 index 65983cd8d3..0000000000 --- a/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/samlConfiguration.xml +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - MIIF8zCCA9ugAwIBAgIQE99Cv9GVttdXCQgWKWSHMDANBgkqhkiG9w0BAQ0FADCB - mTELMAkGA1UEBhMCQkUxETAPBgNVBAgMCEJydXNzZWxzMREwDwYDVQQHDAhCcnVz - c2VsczEcMBoGA1UECgwTRXVyb3BlYW4gQ29tbWlzc2lvbjEOMAwGA1UECwwFRElH - SVQxNjA0BgNVBAMMLUVDQVMgTW9jay1VcCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg - KERldiBPbmx5KTAeFw0xNTA2MTQwODEwNDBaFw0xODA2MTYwODEwNDBaMIGWMQsw - CQYDVQQGEwJCRTERMA8GA1UEBwwIQnJ1c3NlbHMxHDAaBgNVBAoME0V1cm9wZWFu - IENvbW1pc3Npb24xDjAMBgNVBAsMBURJR0lUMSwwKgYJKoZIhvcNAQkBFh15b3Vy - LmVjYXMubW9ja3VwQGVjLmV1cm9wYS5ldTEYMBYGA1UEAwwPZWNhcy1tb2NrdXAt - c3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyHV6EiUq4r29HRP - CQ+PrR2axyopDpiWO6p92KtCoRb8SP6KB3NoGd3LYnrsgbGtt22u+dhnkOtPmdlE - VeMDiSWJBe+Ui1K1QyQLAS+zYkbnmfcbbR0TuTIA/qa4uRqUL98HodBSL8Gp0fzl - s90MeeXbwdZQlxQ5RrRbirPXLEVFKHNLIRNOAPQT8+nfIdMWxB7KFRJFdPe6VInZ - HRel5SVseWhFhGVL6Ike+C4Jp1OHgvDY6LX9riHYgU4pFVJgyR/3ar6LuFFw/T2l - h7sutcBav/a7i0fq8HwcGvKzG5UQImIICfZ4r2lw1iOKQoj6Bqn6FmoDROXNpfWe - j5CdHQIDAQABo4IBNjCCATIwEQYJYIZIAYb4QgEBBAQDAgTwMB0GA1UdDgQWBBQ4 - WdrbjJvCmHgWe2WpfS8RMiYv8jALBgNVHQ8EBAMCBPAwSgYDVR0RBEMwQYIKbW9j - a3VwaG9zdIIJMTI3LjAuMC4xgglsb2NhbGhvc3SBHXlvdXIuZWNhcy5tb2NrdXBA - ZWMuZXVyb3BhLmV1MAkGA1UdEwQCMAAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cHM6 - Ly9lY2FzZC5jYy5jZWMuZXUuaW50OjcwMDIvY2FzL2NhL2NybDA7BgNVHSUENDAy - BggrBgEFBQcDCAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUH - AwQwHwYDVR0jBBgwFoAUdea+mpws+tMG4gSSTyDo2fYfElowDQYJKoZIhvcNAQEN - BQADggIBAHxFUqMB4noep7Vb+kM3M1n8EhOZRFYEdp3r9Yn4cYvrFgKGDx7IhEL9 - KBRl/TSSsGFGKLM1LZ1nakeiYLaghQTDcn7nJpe239vSHNLw6cDFKoblfnTokueU - DQu5zTGipvmPiQGTC6uemp3NmVk6E5aCEgUE2HJvSafBGivDpdtNyspSnKsptL6o - 5QdawI6ig2cYfENubqQd3J7tLMG5TvgEZ6sdsx8P5khq1k5okASmrDd5YQrG3kvB - hb+WQPHZLze5u0d02ctFiL40anV2jolTNPv3V7MUI3ZZdYWXVhgaAbu+OEqNOYRE - qZTSGb33q1TjarpRqVE9K3OrKlXh5DvnGVdPH/wduqX1rDlq4718y369wfSD+rK/ - WMT/472HoNck8lN+7awOnvx1bjMvr0sJJJIXC3t2nZfvTFfhbwxUbZDagVw+8Mpt - vclQYSQ+KIJl2ctg9059gXz0DwhIBH2zBdi/uzqD5cRvtQ8SplyTGtK69oFxGbgq - 4BEJF1kG2BeY85QYkTjjO7qMZ2/y0Mbiy8djAAUPW5JU3Fm9McYEF6EfmKRbXcKG - TxE82Vk0EcZwi69inNsN6LxzoQZ6lL+Z3aOV5iNYZyiHMOJfFySGVcOmGf9ytGBM - GiHlENMMhZKvisP7sz/JtWneg6gYl7L3nfZ6UPuhQPZsbXHhPtUo - - - MIIF8zCCA9ugAwIBAgIQQo5i8kWxuYByLXouRxKXdjANBgkqhkiG9w0BAQ0FADCB - mTELMAkGA1UEBhMCQkUxETAPBgNVBAgMCEJydXNzZWxzMREwDwYDVQQHDAhCcnVz - c2VsczEcMBoGA1UECgwTRXVyb3BlYW4gQ29tbWlzc2lvbjEOMAwGA1UECwwFRElH - SVQxNjA0BgNVBAMMLUVDQVMgTW9jay1VcCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg - KERldiBPbmx5KTAeFw0xNTA2MTQwODEwMzlaFw0xODA2MTYwODEwMzlaMIGWMQsw - CQYDVQQGEwJCRTERMA8GA1UEBwwIQnJ1c3NlbHMxHDAaBgNVBAoME0V1cm9wZWFu - IENvbW1pc3Npb24xDjAMBgNVBAsMBURJR0lUMSwwKgYJKoZIhvcNAQkBFh15b3Vy - LmVjYXMubW9ja3VwQGVjLmV1cm9wYS5ldTEYMBYGA1UEAwwPZWNhcy1tb2NrdXAt - c3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyzLoNIG92XW5viSE - P9BWgoNEJAcrb3ewmSZm1lD2czhHIRNI0FhAdNvi6wtq8licLw46vMUtI+DDerHK - jc5CpOJGzLEesmEBSxWaVA5n2X+HLQXWDfbd2t0WSg3wgNK6adRai3BHc6BQuHLv - wyS6gLFvFeBR5kofYgGlbKOs4AV7e+TYvs8TIEm7XuGHUwlmeLJo0ivppFvBCtmM - BSKgLajTxSKsXfK40aMAjLmR6Ai1nA7iErGxAynIAqxCEfKTe7pcdwnLrtImWQGn - rCIf2UOlN1T8p4PhB1VRgt/Mkgcx7vqnrVpESxlBgLgHEXr5qqk89C5iwT6lQ6SF - +1ZwmQIDAQABo4IBNjCCATIwEQYJYIZIAYb4QgEBBAQDAgTwMB0GA1UdDgQWBBS1 - vmfbuCIFUrG5ernADbJ0E6pNZDALBgNVHQ8EBAMCBPAwSgYDVR0RBEMwQYIKbW9j - a3VwaG9zdIIJMTI3LjAuMC4xgglsb2NhbGhvc3SBHXlvdXIuZWNhcy5tb2NrdXBA - ZWMuZXVyb3BhLmV1MAkGA1UdEwQCMAAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cHM6 - Ly9lY2FzZC5jYy5jZWMuZXUuaW50OjcwMDIvY2FzL2NhL2NybDA7BgNVHSUENDAy - BggrBgEFBQcDCAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUH - AwQwHwYDVR0jBBgwFoAUdea+mpws+tMG4gSSTyDo2fYfElowDQYJKoZIhvcNAQEN - BQADggIBAHxZG5DqDZZiNlwYXXKwJhBNIDW1f5DEAIX9sHL6WZfBekM3ChBVE+rm - hlQGyKjuvykcknxyyGOyU1bcGbGgsItzUJleZN8ZOmcOhaB5GITuQfiD2Sk9JEeM - CmxrIQPdQqyHRet7yye5kzu/7nZNHbn/9ZMhuq3+W0tjkpegujrVcDGsyWwokN0u - GqJM1uTL3Jj9fKUqDr5TDnz3AWK5en4v7DY9nevT81DmidYCfwI2vmjoM/jXLO7k - /jwqXig4tEZ1ZUYGwrKd3eF1OnXHCUWcIToZhFMXITkvfrBlCA3k5ILq8R/Mi+7F - 69e06RdupJzpYhDh7ruS3YPDOIMA7sd8cOT01blME9XkUDR+B+rWS8MXQOEalQ7P - G6g6vT5FmswNbhzVKoUvEKdFPacy87NDilQg6xM/YwuO8dm/yRIKnd/VAks+F/US - +w3FAXudSllXZ6+ZD0Cxd5lPafuN0fUZ7HbcDtrbzaIYoMmsECpeA/JkURGHcWWk - JGUR84HoraRuvKYtXNShci4Eo1KusLdgaO05FdXY5aXLBzDGMh2txXs3cfgETgrF - Ad2Is1gNNMTUkCPN7W+o0KSHCqQuJU3HNz6fjWMzg6PJjsumaEYLCldIZjRPVH3o - ZAxD3Ig5aG9TRcbj3EQJlU0J89hH76nWWp1Onc1SZpSUoQlxZSmG - - - - - https://your-consumer-service-url - - - user - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - User Identifier - - uid - - - - email - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - Email - - userDetails.email - - - - domain - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - Organisation - - userDetails.organisation - - - - firstName - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - First Name - - userDetails.firstName - - - - groups - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - Groups - - group - - - - lastName - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - Last Name - - userDetails.lastName - - - - domainUsername - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - Organisation Username - - userDetails.organisationUsername - - - - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST - your-entity-id - - BASIC - PASSWORD_SMS - PASSWORD_TOKEN - - - - - diff --git a/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/stsConfiguration.xml b/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/stsConfiguration.xml deleted file mode 100644 index 429dd2cda1..0000000000 --- a/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/stsConfiguration.xml +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - MIIF8zCCA9ugAwIBAgIQE99Cv9GVttdXCQgWKWSHMDANBgkqhkiG9w0BAQ0FADCB - mTELMAkGA1UEBhMCQkUxETAPBgNVBAgMCEJydXNzZWxzMREwDwYDVQQHDAhCcnVz - c2VsczEcMBoGA1UECgwTRXVyb3BlYW4gQ29tbWlzc2lvbjEOMAwGA1UECwwFRElH - SVQxNjA0BgNVBAMMLUVDQVMgTW9jay1VcCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg - KERldiBPbmx5KTAeFw0xNTA2MTQwODEwNDBaFw0xODA2MTYwODEwNDBaMIGWMQsw - CQYDVQQGEwJCRTERMA8GA1UEBwwIQnJ1c3NlbHMxHDAaBgNVBAoME0V1cm9wZWFu - IENvbW1pc3Npb24xDjAMBgNVBAsMBURJR0lUMSwwKgYJKoZIhvcNAQkBFh15b3Vy - LmVjYXMubW9ja3VwQGVjLmV1cm9wYS5ldTEYMBYGA1UEAwwPZWNhcy1tb2NrdXAt - c3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyHV6EiUq4r29HRP - CQ+PrR2axyopDpiWO6p92KtCoRb8SP6KB3NoGd3LYnrsgbGtt22u+dhnkOtPmdlE - VeMDiSWJBe+Ui1K1QyQLAS+zYkbnmfcbbR0TuTIA/qa4uRqUL98HodBSL8Gp0fzl - s90MeeXbwdZQlxQ5RrRbirPXLEVFKHNLIRNOAPQT8+nfIdMWxB7KFRJFdPe6VInZ - HRel5SVseWhFhGVL6Ike+C4Jp1OHgvDY6LX9riHYgU4pFVJgyR/3ar6LuFFw/T2l - h7sutcBav/a7i0fq8HwcGvKzG5UQImIICfZ4r2lw1iOKQoj6Bqn6FmoDROXNpfWe - j5CdHQIDAQABo4IBNjCCATIwEQYJYIZIAYb4QgEBBAQDAgTwMB0GA1UdDgQWBBQ4 - WdrbjJvCmHgWe2WpfS8RMiYv8jALBgNVHQ8EBAMCBPAwSgYDVR0RBEMwQYIKbW9j - a3VwaG9zdIIJMTI3LjAuMC4xgglsb2NhbGhvc3SBHXlvdXIuZWNhcy5tb2NrdXBA - ZWMuZXVyb3BhLmV1MAkGA1UdEwQCMAAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cHM6 - Ly9lY2FzZC5jYy5jZWMuZXUuaW50OjcwMDIvY2FzL2NhL2NybDA7BgNVHSUENDAy - BggrBgEFBQcDCAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUH - AwQwHwYDVR0jBBgwFoAUdea+mpws+tMG4gSSTyDo2fYfElowDQYJKoZIhvcNAQEN - BQADggIBAHxFUqMB4noep7Vb+kM3M1n8EhOZRFYEdp3r9Yn4cYvrFgKGDx7IhEL9 - KBRl/TSSsGFGKLM1LZ1nakeiYLaghQTDcn7nJpe239vSHNLw6cDFKoblfnTokueU - DQu5zTGipvmPiQGTC6uemp3NmVk6E5aCEgUE2HJvSafBGivDpdtNyspSnKsptL6o - 5QdawI6ig2cYfENubqQd3J7tLMG5TvgEZ6sdsx8P5khq1k5okASmrDd5YQrG3kvB - hb+WQPHZLze5u0d02ctFiL40anV2jolTNPv3V7MUI3ZZdYWXVhgaAbu+OEqNOYRE - qZTSGb33q1TjarpRqVE9K3OrKlXh5DvnGVdPH/wduqX1rDlq4718y369wfSD+rK/ - WMT/472HoNck8lN+7awOnvx1bjMvr0sJJJIXC3t2nZfvTFfhbwxUbZDagVw+8Mpt - vclQYSQ+KIJl2ctg9059gXz0DwhIBH2zBdi/uzqD5cRvtQ8SplyTGtK69oFxGbgq - 4BEJF1kG2BeY85QYkTjjO7qMZ2/y0Mbiy8djAAUPW5JU3Fm9McYEF6EfmKRbXcKG - TxE82Vk0EcZwi69inNsN6LxzoQZ6lL+Z3aOV5iNYZyiHMOJfFySGVcOmGf9ytGBM - GiHlENMMhZKvisP7sz/JtWneg6gYl7L3nfZ6UPuhQPZsbXHhPtUo - - - MIIF8zCCA9ugAwIBAgIQQo5i8kWxuYByLXouRxKXdjANBgkqhkiG9w0BAQ0FADCB - mTELMAkGA1UEBhMCQkUxETAPBgNVBAgMCEJydXNzZWxzMREwDwYDVQQHDAhCcnVz - c2VsczEcMBoGA1UECgwTRXVyb3BlYW4gQ29tbWlzc2lvbjEOMAwGA1UECwwFRElH - SVQxNjA0BgNVBAMMLUVDQVMgTW9jay1VcCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg - KERldiBPbmx5KTAeFw0xNTA2MTQwODEwMzlaFw0xODA2MTYwODEwMzlaMIGWMQsw - CQYDVQQGEwJCRTERMA8GA1UEBwwIQnJ1c3NlbHMxHDAaBgNVBAoME0V1cm9wZWFu - IENvbW1pc3Npb24xDjAMBgNVBAsMBURJR0lUMSwwKgYJKoZIhvcNAQkBFh15b3Vy - LmVjYXMubW9ja3VwQGVjLmV1cm9wYS5ldTEYMBYGA1UEAwwPZWNhcy1tb2NrdXAt - c3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyzLoNIG92XW5viSE - P9BWgoNEJAcrb3ewmSZm1lD2czhHIRNI0FhAdNvi6wtq8licLw46vMUtI+DDerHK - jc5CpOJGzLEesmEBSxWaVA5n2X+HLQXWDfbd2t0WSg3wgNK6adRai3BHc6BQuHLv - wyS6gLFvFeBR5kofYgGlbKOs4AV7e+TYvs8TIEm7XuGHUwlmeLJo0ivppFvBCtmM - BSKgLajTxSKsXfK40aMAjLmR6Ai1nA7iErGxAynIAqxCEfKTe7pcdwnLrtImWQGn - rCIf2UOlN1T8p4PhB1VRgt/Mkgcx7vqnrVpESxlBgLgHEXr5qqk89C5iwT6lQ6SF - +1ZwmQIDAQABo4IBNjCCATIwEQYJYIZIAYb4QgEBBAQDAgTwMB0GA1UdDgQWBBS1 - vmfbuCIFUrG5ernADbJ0E6pNZDALBgNVHQ8EBAMCBPAwSgYDVR0RBEMwQYIKbW9j - a3VwaG9zdIIJMTI3LjAuMC4xgglsb2NhbGhvc3SBHXlvdXIuZWNhcy5tb2NrdXBA - ZWMuZXVyb3BhLmV1MAkGA1UdEwQCMAAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cHM6 - Ly9lY2FzZC5jYy5jZWMuZXUuaW50OjcwMDIvY2FzL2NhL2NybDA7BgNVHSUENDAy - BggrBgEFBQcDCAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUH - AwQwHwYDVR0jBBgwFoAUdea+mpws+tMG4gSSTyDo2fYfElowDQYJKoZIhvcNAQEN - BQADggIBAHxZG5DqDZZiNlwYXXKwJhBNIDW1f5DEAIX9sHL6WZfBekM3ChBVE+rm - hlQGyKjuvykcknxyyGOyU1bcGbGgsItzUJleZN8ZOmcOhaB5GITuQfiD2Sk9JEeM - CmxrIQPdQqyHRet7yye5kzu/7nZNHbn/9ZMhuq3+W0tjkpegujrVcDGsyWwokN0u - GqJM1uTL3Jj9fKUqDr5TDnz3AWK5en4v7DY9nevT81DmidYCfwI2vmjoM/jXLO7k - /jwqXig4tEZ1ZUYGwrKd3eF1OnXHCUWcIToZhFMXITkvfrBlCA3k5ILq8R/Mi+7F - 69e06RdupJzpYhDh7ruS3YPDOIMA7sd8cOT01blME9XkUDR+B+rWS8MXQOEalQ7P - G6g6vT5FmswNbhzVKoUvEKdFPacy87NDilQg6xM/YwuO8dm/yRIKnd/VAks+F/US - +w3FAXudSllXZ6+ZD0Cxd5lPafuN0fUZ7HbcDtrbzaIYoMmsECpeA/JkURGHcWWk - JGUR84HoraRuvKYtXNShci4Eo1KusLdgaO05FdXY5aXLBzDGMh2txXs3cfgETgrF - Ad2Is1gNNMTUkCPN7W+o0KSHCqQuJU3HNz6fjWMzg6PJjsumaEYLCldIZjRPVH3o - ZAxD3Ig5aG9TRcbj3EQJlU0J89hH76nWWp1Onc1SZpSUoQlxZSmG - - - - - age-18-or-over - http://schemas.informationcard.net/@ics - http://schemas.informationcard.net/@ics/age-18-or-over/2008-11 - - - - age-21-or-over - http://schemas.informationcard.net/@ics - http://schemas.informationcard.net/@ics/age-21-or-over/2008-12 - - - - authenticationinstant - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant - loginTime - - - authenticationmethod - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod - loginMethod - - - CommonName - http://schemas.xmlsoap.org/claims - http://schemas.xmlsoap.org/claims/CommonName - - - - country - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country - - - - dateofbirth - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth - - - - denyonlyprimarygroupsid - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid - - - - denyonlyprimarysid - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid - - - - denyonlysid - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid - - - - department - http://schemas.ec.europa.eu/identity/claims - http://schemas.ec.europa.eu/identity/claims/department - userDetails.departmentNumber - - - emailaddress - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress - userDetails.email - - - EmailAddress - http://schemas.xmlsoap.org/claims - http://schemas.xmlsoap.org/claims/EmailAddress - userDetails.email - - - employeeType - http://schemas.ec.europa.eu/identity/claims - http://schemas.ec.europa.eu/identity/claims/employeeType - userDetails.employeeType - - - givenname - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname - userDetails.firstName - - - Group - http://schemas.xmlsoap.org/claims - http://schemas.xmlsoap.org/claims/Group - group - - - groupsid - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid - - - - identityprovider - http://schemas.microsoft.com/accesscontrolservice/2010/07/claims - http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider - - - - locality - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality - - - - mobilephone - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone - - - - name - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name - uid - - - nameidentifier - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier - uid - - - organisation - http://schemas.ec.europa.eu/identity/claims - http://schemas.ec.europa.eu/identity/claims/organisation - userDetails.organisation - - - otherphone - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone - userDetails.telephoneNumber - - - postalcode - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode - - - - privatepersonalidentifier - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier - uid - - - primarygroupsid - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid - - - - primarysid - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid - - - - role - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/role - - - - stateorprovince - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince - - - - streetaddress - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress - - - - surname - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname - userDetails.lastName - - - upn - http://schemas.xmlsoap.org/ws/2005/05/identity/claims - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn - - - - UPN - http://schemas.xmlsoap.org/claims - http://schemas.xmlsoap.org/claims/UPN - - - - username - http://schemas.informationcard.net/@ics - http://schemas.informationcard.net/@ics/username/2009-03 - uid - - - windowsaccountname - http://schemas.microsoft.com/ws/2008/06/identity/claims - http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname - - - - - - - MIIC6DCCAdCgAwIBAgIQeev+RkPM765PSmS9TTNu/DANBgkqhkiG9w0BAQsFADAwMS4wLAYDVQQDEyVBREZTIFNpZ25pbmcgLSBTVFMuQ1AtREVWMS5jZWMuZXUuaW50MB4XDTEwMDgyNTEyMTQzN1oXDTExMDgyNTEyMTQzN1owMDEuMCwGA1UEAxMlQURGUyBTaWduaW5nIC0gU1RTLkNQLURFVjEuY2VjLmV1LmludDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ1/0N7+8UDPCKfBAb5xyfhEKG1WW5qzrOWoR2E7eM9dOIqnyeWA/h7pJBjr9nwvEtP01uCquHMNRB+IPdV/IlHJOIr1pzyzIOImpqcvuVB/QLxA8nrUsh4LX6X71z4gLCWBj9dGdamvXFszniEQNP144z+c8GIMAxtqpwwAjtfuPeByOEMCAvqkkAFSU+OJO/9UZ/sdojSW1gb+FlNpSxJ00wc+bz4Vt+E2mUAgHMt27tdHRNlFvhcbmDA4Rt7znxLuGA/uTx+CBiS0PPuhCexyYbdgc0JXOPsMuXCt4SMWLAis97TeA5Cs2FUNV8sC++0XIG88zNZeT+L2DfmEWzsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAB6KVLUEMjS/K/dDZVT+obyB/nliYVqphhehcDWOZbIo8mkhas1OXRsonkrmsKBtriFTgL3RynmZnEB3Vc0WgxRtCzl6U5Xx/7+/59jXO1DQX7Z05Q+qAijcPxK0bY/MeVHDirpM6uLhDmYj4oV9Nlc+DmNhuj8PChMaLxTomu7sQA78c+owsNaqNGrFPvILGjUoNLaDFEaPHxNfc8BDOwByEOtef3Fyuq7H+w5VSfcr0U8q2ZQijQQ+Y/mNNQm0dTE9JbGQ5od7HSBEq1YD+n+kjZqW+w0tzU/46IWUcqJARMsuX0/WSlueFmcQMXGexWm4xl0xl82PJvv9+jcrIWA== - - - - - loginTime - - - - loginMethod - - - - userDetails.email - - - - userDetails.firstName - - - - group - - - - uid - - - - userDetails.lastName - - - 5 - SHA256withRSA - SAML_20 - HTTP_REDIRECT - https://some.template.eu/_trust - false - 1.3 - urn:ecast.cc.cec.eu.int:7002:generic_idp_template - true - true - - - - - - - - loginTime - - - - loginMethod - - - - userDetails.email - - - - userDetails.firstName - - - - group - - - - uid - - - - userDetails.lastName - - - 5 - SHA256withRSA - SAML_20 - HTTP_REDIRECT - http://some.sp.template.eu/_trust - false - 1.3 - - sp.template - - urn:sp.template:ecas - - BASIC - PASSWORD_SMS - CLIENT_CERT - - - - - - - userDetails.email - - - - userDetails.firstName - - - - group - - - - uid - - - - uid - - - - userDetails.lastName - - - 30 - SHA256withRSA - SAML_10 - HTTP_REDIRECT - http://sp-passive-url/_trust - false - 1.3 - - your-sp - - urn:sharepoint:your-sp:4444 - - BASIC - PASSWORD_SMS - PASSWORD_TOKEN - - - - diff --git a/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/userDataBase.xml b/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/userDataBase.xml deleted file mode 100644 index 1c00f7e976..0000000000 --- a/web/modules/custom/joinup_eulogin/tests/fixtures/ecas-mock-server-config/userDataBase.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - Chuck NORRIS - 1993-04-21T10:00:00.000+02:00 - INTERNET - LIVENEWS - TEXAS_RANGER - DIGIT.A.3.001 - chuckie - texasranger@chucknorris.com.eu - f - Chuck - 1 - NORRIS - COMREF:+32123456789 - a - eu.europa.ec - chucknorris - 2013-12-19T19:29:22.196+01:00 - 2dfe2ddd-a55e-4196-aa69-d52625c084ef - 8e9692d7-75ec-4bc1-8c92-402f706a8325 - c88eaa81-87c2-40df-8595-7789c0afa5fa - 27e87a8c-c742-4df8-a5a3-b5dcee821f05 - MOBISTAR:123@2011-05-04T14:00:00.000+02:00 - MOBISTAR:456@2011-05-05T14:00:00.000+02:00 - - {SEQ103}ceY2NvrK7mTlmS75Ho17xDN5/ljBgfUvLOZW1iAG7fNaE014NLaUo7tKJ2C/qtpc+zTWh32iMB3pWM9cHC4A5ivEKxYmBtYI1ErLtH63QJ/l6RXoInA/f8AMYCEuLBpp40WmpJbZbR3iOQX+M+Z3M8DTRPTnsydHAp2WAdMMgsDfsE71VUcEUKS/f+Eyg3ab4H+6XXQq0ZmRMmZhpjiRbIdSvf1tlbTMCUFEEVtUI6Dots4kd9UhCeaO638tnHBT1cx/BHZqBm1QcpL9YlrYX293cUKjWBJjt8sCbwycpT+vMypiBqlAGe+jwu6XEBl9W0jEehbLYzmhkmT5ydV2iA== - 1234@eu - 90-1234567-8 - chucknorris - - - 3 - Jack BAUER - 2001-11-06T09:00:00.000+01:00 - CTU - CTU_DIRECTOR - CTU_RETIRED - DIGIT.A.3.001 - jack - Jack.Bauer@ctu.eu - f - Jack - 3 - (310) 597-3781 - BAUER - 2019-07-06T17:49:38.010+02:00 - 2019-07-06T18:07:02.488+02:00 - COMREF:+32123456789 - a - eu.europa.curia - jackbauer - 2013-12-19T19:29:22.196+01:00 - 69fd9def-53b1-4df5-beae-855443679189 - f4de0343-a77a-4676-8942-fd72666a6afc - 854aabe1-7b14-4610-8cb7-c401e956c218 - fa50479d-4539-43b4-99b1-9db38de01ca7 - {SEQ103}Am1CJOVSxDjYIL+urVKmCHLviOXw4jUbzViW1ZODPpb6mNnvKC0U8pi0G7LbKsy+5buxUa3/2Lo99r4iCJ4aZlOIiCvO4pvT1b5vvbmC2jkiFnTiL9STv+Jl4PnlCBMoHvhrbk8vMSvRYJiKUX5Z+UCG06LnsmxcdWO2mALuh86Eop9oFUsdCiY+rIJRG8DwNRJ7h8AgSxwwc/xKU9eg2I8VorhLMPbGjq4OYJLqi1oK31tIpItc/CTR+l931BRnFrtQrU12N538la5fdVwOnNrZ9ZJZ/od06D4hj+HlhoglJl57JtOheGp04Lum3iWTTes7jyIFK3+rM5taqCxZPg== - jackbauer - - - James BOND - 1953-04-19T09:00:00.000+01:00 - AIDA_SELFRG - DOUBLE_KILL - LICENSE_TO_KILL - MI6 - DIGIT.A.3.001 - james - 007@mi6.eu - n - James - 123456 - BOND - COMREF:+32123456789 - a - external - jamesbond - 2013-12-19T19:29:22.196+01:00 - 6875b4e8-35e8-441c-aff0-d6876ff8490c - c1eba41d-4b4b-4ebd-961b-ff7d3e82d80d - e89ac87d-8a49-d89c-6767-be145c4ba59c - 7e0fbde2-21ce-48a7-b26e-4ef26fa080dc - {SEQ103}5ydM/oDs4lmp5FQWiu9vIM2LzQCfWr6oC39mSRm4/XOdznOtdrSK5UPwMzqx8qwAYNTaCHtMxoVkztmABErKPIc5VkzMLVJzgB1LwNkSiFUEQzUL3QVkZoFl2HPRf6/Qfg3XB6VTZwPtVo+jgwDXuLHPQ9xnfntkfjDEeh5YKkhLJVBdF0p29qmFXegTnbFrLfFqVBV1MEl55KcCAL+Td6JvZVMMKtRgFi34h7KHZJ/131MN/3JxgvJUr5h8VATz+7yu8qAdTrc2mAmR5xtZYFSjHRHRDfTfKX3RXZ7otcYJFMzqxMKnssPK4QDLVHaSctl8sjPBJC2ahfLLAyV5XA== - 5678@uk - jb007 - - - Lisbeth SALANDER - 2000-01-01T01:00:00.000+01:00 - INTERNET - LIVENEWS - MILTON_SECURITY - DIGIT.A.3.001 - Lisbeth.SALANDER@ext.ec.europa.eu - x - Lisbeth - SALANDER - COMREF:+32133713371 - a - eu.europa.ec - lsalander - 2013-12-19T19:29:22.196+01:00 - {SEQ103}9gae8yLyOBuPJxFJCF200DjiMS1IKeVNjggY463ml9JxXSXeATb9LHghpOWl9eEn/0aOlX6+ty/4heByuvQqdhVg1lj6pVhH0iijO0ACG64RvYyzNqXFhs3BsSGTFC+02hif1OPyILKV6iA0oSrgQjyzfR9/DvYkR3A8hvZX5DLZE0uepGlXFkAAZJSHalqtioyfbV/D5YiraByoHZL+BWPNCmhv+gmcZIKYuxyvZvr1gQG2m54XMl0CZcdVTbTXFr82SK7KwkAn8Qv5xf44JH7ijpQI/UYOKkvBle28XN+8xIoS5K9iOPu7ZW1jQqpYoGbzOBBLw8lEvF2cKOOPYA== - lsalander - - - minimal@email.eu - Minimal_first_name - MINIMAL_LAST_NAME - a - eu.europa.ec - minimal - 2013-12-19T19:29:22.196+01:00 - {SEQ103}9aY5VZEXvbFuER95S9TytYl9LpX5/UZm6ypMonXBsKWbjjQOu0gEgTFgeoEjK012df6EdEoVBZqz4Q+KVKxEK5ZZv2jmY4RHOMIdPFog8aMhLzWeicZ0M3kykeAs5Z8Vc/iL699ERxhP8lCTlvNNVD3FcHVxsX2RhUetT505jTQFexFZV1pJKHJ25YMkQmqOlCSIyZk/2J3E0pB1vyoqBSUtamuUbJPDCbDLLWF4NOYlIIIcAfSx/4/bk/amYshJhrGaL8r2/cqF6HzHA7OAApBtvCAWqGl9O93CPMsl8N//lmt8/CV4Wr1OAn1Uoq7gmLj5Q2Vgc97rKDrMHmUhAQ== - minimal - - From 7a14afa63643af7a421e86479130ac8cd748a452 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Tue, 5 May 2020 11:53:51 +0300 Subject: [PATCH 28/35] ISAICP-5825: Remove unused Stage File Proxy targets. --- build.project.xml | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/build.project.xml b/build.project.xml index 7fdb7deca9..6757ce3ac3 100644 --- a/build.project.xml +++ b/build.project.xml @@ -584,38 +584,6 @@ - - - - stage_file_proxy - - - - - - - - - - - - - - - - - - - Date: Tue, 5 May 2020 12:06:03 +0300 Subject: [PATCH 29/35] ISAICP-5825: Remove the 'clear-cache' Phing target. Use directly the Drush command. --- build.project.xml | 9 --------- build.redis.xml | 7 ++++++- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/build.project.xml b/build.project.xml index 6757ce3ac3..0194a7e586 100644 --- a/build.project.xml +++ b/build.project.xml @@ -356,15 +356,6 @@ - - - - - diff --git a/build.redis.xml b/build.redis.xml index e9d73132ca..21ce464ca5 100644 --- a/build.redis.xml +++ b/build.redis.xml @@ -26,7 +26,12 @@ - + + From 3e67302b4ab5b9bb743873b581d5fc021719fcbe Mon Sep 17 00:00:00 2001 From: Pieter Frenssen Date: Tue, 12 May 2020 17:26:47 +0300 Subject: [PATCH 30/35] ISAICP-5825: Maintain alphabetical ordering. --- .gitignore | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c7151247c3..215fb8c598 100644 --- a/.gitignore +++ b/.gitignore @@ -25,17 +25,18 @@ /build.local.xml /build.properties.local /drush/drush.yml +/grumphp.yml +/local.env /phpcs.xml -/tests/behat.yml /phpunit.xml -/web/sites/default/services.yml -/grumphp.yml /runner.yml -/local.env +/tests/behat.yml +/web/sites/default/services.yml # Ignore compiled CSS. /web/themes/joinup/css /web/themes/joinup/prototype/css/*.css + # Ignore theme libraries /web/themes/joinup/vendor From 81335cd5e3fc490921096c3f0c7f8b1015312373 Mon Sep 17 00:00:00 2001 From: Pieter Frenssen Date: Tue, 12 May 2020 17:32:54 +0300 Subject: [PATCH 31/35] ISAICP-5825: Target has not technically been removed. The target still exists but no longer works and is replaced by a task runner command. --- build.converted.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.converted.xml b/build.converted.xml index 857ba63ebc..8627b99ea6 100644 --- a/build.converted.xml +++ b/build.converted.xml @@ -3,7 +3,7 @@ From 61455b017d84ff6edda85433ae9c96a47c93989c Mon Sep 17 00:00:00 2001 From: Pieter Frenssen Date: Wed, 13 May 2020 11:17:43 +0300 Subject: [PATCH 32/35] ISAICP-5825: Remove obsolete file documentation. --- src/Phing/AfterFixturesImportCleanup.php | 5 ----- src/Phing/PhpCodeSnifferConfigurationTask.php | 5 ----- src/Phing/PhpUnitConfigurationTask.php | 5 ----- 3 files changed, 15 deletions(-) diff --git a/src/Phing/AfterFixturesImportCleanup.php b/src/Phing/AfterFixturesImportCleanup.php index 9a531b9eeb..b9c4f03790 100644 --- a/src/Phing/AfterFixturesImportCleanup.php +++ b/src/Phing/AfterFixturesImportCleanup.php @@ -1,10 +1,5 @@ Date: Wed, 13 May 2020 16:07:11 +0300 Subject: [PATCH 33/35] ISAICP-5825: Update documentation. --- runner.yml.dist | 3 ++- runner/solr.yml | 2 +- src/TaskRunner/ConfigProviders/JoinupConfigProvider.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/runner.yml.dist b/runner.yml.dist index d99b8aaff1..8be28654d6 100644 --- a/runner.yml.dist +++ b/runner.yml.dist @@ -1,7 +1,8 @@ # Any task runner configuration, regardless if it's a default configuration, # declared in `./runner` or in this file, can be overridden. In order to do so, # create a `runner.yml` file in the project's top directory an override there -# any configuration. Note that the `runner.yml` file is not under VCS control. +# any configuration that needs to be adapted for the local environment. Note +# that the `runner.yml` file is not under VCS control. # Override some toolkit configurations. toolkit: diff --git a/runner/solr.yml b/runner/solr.yml index 282033d70f..a1c16d40e2 100644 --- a/runner/solr.yml +++ b/runner/solr.yml @@ -71,7 +71,7 @@ commands: arguments: - ${env.SOLR_CORE_UNPUBLISHED_URL}/${env.SOLR_CORE_UNPUBLISHED_NAME}/update?stream.body=*:*&commit=true - # Restores the Sole index from a snapshot. + # Restores the Solr index from a snapshot. solr:restore: - task: run command: solr:empty diff --git a/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php b/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php index f5fb924c15..8d977db3f2 100644 --- a/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php +++ b/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php @@ -28,7 +28,7 @@ public static function provide(Config $config): void { } $config->set('joinup.dir', $drupalFinder->getComposerRoot()); - // Import configurations from ./runner/config/. + // Import configurations from ./runner/. static::importFromFiles($config, glob('runner/*.yml')); } From c5332c14801dc502547ccfc947c1b7c45fbfed44 Mon Sep 17 00:00:00 2001 From: Pieter Frenssen Date: Wed, 13 May 2020 17:41:14 +0300 Subject: [PATCH 34/35] ISAICP-5825: Update documentation. --- runner/dev.yml | 2 +- src/TaskRunner/Commands/SolrCommands.php | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/runner/dev.yml b/runner/dev.yml index 849244b031..233c8756fd 100644 --- a/runner/dev.yml +++ b/runner/dev.yml @@ -21,7 +21,7 @@ commands: - task: run command: toolkit:install-dump - # Rebuilds the dev environment. + # Rebuilds the dev environment by restoring backups and applying updates. dev:rebuild-environment: - task: run command: dev:restore-databases diff --git a/src/TaskRunner/Commands/SolrCommands.php b/src/TaskRunner/Commands/SolrCommands.php index d6a50bb1f9..95264d54e8 100644 --- a/src/TaskRunner/Commands/SolrCommands.php +++ b/src/TaskRunner/Commands/SolrCommands.php @@ -23,9 +23,14 @@ class SolrCommands extends AbstractCommands { const MAX_EXECUTION_TIME = 120; /** - * Command map. + * Command map. Used to determine the right Solr command to execute. * * @var string[][] + * An associative array of command data, keyed by the operation (either + * 'backup' or 'restore'. Each data array has two possible commands, keyed + * by a boolean value that indicates whether we are performing a status + * check or executing the actual command. This value will be TRUE if we are + * performing a status check, and FALSE otherwise. */ const COMMAND_MAP = [ 'backup' => [ From 7c6be27ed8d92a3f7b24ac885e5af202313adbc7 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Wed, 13 May 2020 20:19:02 +0300 Subject: [PATCH 35/35] ISAICP-5825: Fix QA remarks. --- README.md | 6 ++--- local.env.dist | 2 +- resources/runner/README.md | 1 + {runner => resources/runner}/dev.yml | 0 {runner => resources/runner}/mysql.yml | 0 {runner => resources/runner}/solr.yml | 24 ------------------- {runner => resources/runner}/virtuoso.yml | 0 runner.yml.dist | 8 +++---- .../ConfigProviders/JoinupConfigProvider.php | 4 ++-- 9 files changed, 11 insertions(+), 34 deletions(-) create mode 100644 resources/runner/README.md rename {runner => resources/runner}/dev.yml (100%) rename {runner => resources/runner}/mysql.yml (100%) rename {runner => resources/runner}/solr.yml (87%) rename {runner => resources/runner}/virtuoso.yml (100%) diff --git a/README.md b/README.md index 3a81537786..81d86987ba 100644 --- a/README.md +++ b/README.md @@ -144,9 +144,9 @@ drush.verbose = yes In order to override any configuration of the task runner (`./vendor/bin/run`), create a `runner.yml` file in the project's top directory. You can override -there any default runner configuration, or any other declared in `./runner` -files or in `runner.yml.dist`. Note that the `runner.yml` file is not under VCS -control. +there any default runner configuration, or any other declared in +`./resources/runner` files or in `runner.yml.dist`. Note that the `runner.yml` +file is not under VCS control. #### Setup environment variables diff --git a/local.env.dist b/local.env.dist index 6abd9a4eb1..8c67864c4f 100755 --- a/local.env.dist +++ b/local.env.dist @@ -24,4 +24,4 @@ export SPARQL_PASSWORD=dba export SOLR_CORE_PUBLISHED_NAME=drupal_published export SOLR_CORE_PUBLISHED_URL=http://localhost:8983/solr export SOLR_CORE_UNPUBLISHED_NAME=drupal_unpublished -export SOLR_CORE_UBPUBLISHED_URL=http://localhost:8983/solr +export SOLR_CORE_UNPUBLISHED_URL=http://localhost:8983/solr diff --git a/resources/runner/README.md b/resources/runner/README.md new file mode 100644 index 0000000000..524fce8aa5 --- /dev/null +++ b/resources/runner/README.md @@ -0,0 +1 @@ +This directory contains Task Runner configuration files. diff --git a/runner/dev.yml b/resources/runner/dev.yml similarity index 100% rename from runner/dev.yml rename to resources/runner/dev.yml diff --git a/runner/mysql.yml b/resources/runner/mysql.yml similarity index 100% rename from runner/mysql.yml rename to resources/runner/mysql.yml diff --git a/runner/solr.yml b/resources/runner/solr.yml similarity index 87% rename from runner/solr.yml rename to resources/runner/solr.yml index a1c16d40e2..9ef4862148 100644 --- a/runner/solr.yml +++ b/resources/runner/solr.yml @@ -114,7 +114,6 @@ commands: - ${toolkit.tmp_folder}/solr-${solr.version}.tgz options: directory: ${solr.vendor_dir} - keep-old-files: null - task: remove file: ${solr.bin} - task: symlink @@ -129,26 +128,3 @@ commands: command: test -d ${solr.core.published.dir} || ${solr.bin} create_core -c ${env.SOLR_CORE_PUBLISHED_NAME} -d ${solr.config_dir} - task: exec command: test -d ${solr.core.unpublished.dir} || ${solr.bin} create_core -c ${env.SOLR_CORE_UNPUBLISHED_NAME} -d ${solr.config_dir} - - # TODO: What's the value of this command? Consider removing it. - solr:setup: - - task: run - command: solr:download-bin - - task: run - command: solr:config - - # TODO: What's the value of this command? Consider removing it. - solr:reindex: - - task: exec - command: ${drush.bin} - arguments: - - search-api:clear - options: - yes: null - - task: exec - command: ${drush.bin} - arguments: - - search-api:index - options: - yes: null - batch-size: 250 diff --git a/runner/virtuoso.yml b/resources/runner/virtuoso.yml similarity index 100% rename from runner/virtuoso.yml rename to resources/runner/virtuoso.yml diff --git a/runner.yml.dist b/runner.yml.dist index 8be28654d6..526c3a2d0f 100644 --- a/runner.yml.dist +++ b/runner.yml.dist @@ -1,8 +1,8 @@ # Any task runner configuration, regardless if it's a default configuration, -# declared in `./runner` or in this file, can be overridden. In order to do so, -# create a `runner.yml` file in the project's top directory an override there -# any configuration that needs to be adapted for the local environment. Note -# that the `runner.yml` file is not under VCS control. +# declared in `./resources//runner` or in this file, can be overridden. In order +# to do so, create a `runner.yml` file in the project's top directory an +# override there any configuration that needs to be adapted for the local +# environment. Note that the `runner.yml` file is not under VCS control. # Override some toolkit configurations. toolkit: diff --git a/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php b/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php index 8d977db3f2..9b1b83dcb4 100644 --- a/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php +++ b/src/TaskRunner/ConfigProviders/JoinupConfigProvider.php @@ -28,8 +28,8 @@ public static function provide(Config $config): void { } $config->set('joinup.dir', $drupalFinder->getComposerRoot()); - // Import configurations from ./runner/. - static::importFromFiles($config, glob('runner/*.yml')); + // Import configurations from ./resources/runner/. + static::importFromFiles($config, glob('resources/runner/*.yml')); } }