From ce953031bc30383338cded6b94cad74add02fdd3 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Sun, 22 Oct 2023 10:47:18 +0300
Subject: [PATCH 01/25] - Extending `release` command. - Adding default
branches for extensions maintainer by Ventures. - Replacing WooRelease
`release` command with the local one.
---
.gitignore | 3 +-
bin/wr | 2 +
composer.lock | 293 +++++++++---------
extensions.json | 12 +-
.../src/Commands/Bulk.php | 41 ++-
.../src/Commands/Release.php | 227 ++++++++++++++
6 files changed, 424 insertions(+), 154 deletions(-)
create mode 100644 packages/php/woorelease-extension/src/Commands/Release.php
diff --git a/.gitignore b/.gitignore
index 98aa1de4..f04d25be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,4 +8,5 @@ vendor/
*.zip
# IDE files
-.vscode/*
\ No newline at end of file
+.vscode/*
+.idea
diff --git a/bin/wr b/bin/wr
index 62a8fbe7..87d2af16 100755
--- a/bin/wr
+++ b/bin/wr
@@ -3,6 +3,7 @@
use Automattic\WooCommerce\Grow\WR\Commands\Bulk;
use Automattic\WooCommerce\Grow\WR\Commands\VersionReplace;
+use Automattic\WooCommerce\Grow\WR\Commands\Release;
use WR\Application;
$rootDir = dirname(__DIR__);
@@ -41,6 +42,7 @@ $app->addCommands(
[
new Bulk(),
new VersionReplace(),
+ new Release(),
]
);
diff --git a/composer.lock b/composer.lock
index 62d405fe..05b57ed0 100644
--- a/composer.lock
+++ b/composer.lock
@@ -330,16 +330,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.15.4",
+ "version": "v4.17.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
"shasum": ""
},
"require": {
@@ -380,9 +380,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
},
- "time": "2023-03-05T19:49:14+00:00"
+ "time": "2023-08-13T19:53:39+00:00"
},
{
"name": "phar-io/manifest",
@@ -616,16 +616,16 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.26",
+ "version": "9.2.29",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
+ "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
- "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
"shasum": ""
},
"require": {
@@ -681,7 +681,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
},
"funding": [
{
@@ -689,7 +690,7 @@
"type": "github"
}
],
- "time": "2023-03-06T12:58:08+00:00"
+ "time": "2023-09-19T04:57:46+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -934,16 +935,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.6",
+ "version": "9.6.13",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115"
+ "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b65d59a059d3004a040c16a82e07bbdf6cfdd115",
- "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
+ "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
"shasum": ""
},
"require": {
@@ -958,7 +959,7 @@
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.13",
+ "phpunit/php-code-coverage": "^9.2.28",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -1017,7 +1018,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.6"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
},
"funding": [
{
@@ -1033,7 +1034,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-27T11:43:46+00:00"
+ "time": "2023-09-19T05:39:22+00:00"
},
{
"name": "psr/container",
@@ -1483,16 +1484,16 @@
},
{
"name": "sebastian/diff",
- "version": "4.0.4",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"shasum": ""
},
"require": {
@@ -1537,7 +1538,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
},
"funding": [
{
@@ -1545,7 +1546,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2023-05-07T05:35:17+00:00"
},
{
"name": "sebastian/environment",
@@ -1689,16 +1690,16 @@
},
{
"name": "sebastian/global-state",
- "version": "5.0.5",
+ "version": "5.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ "reference": "bde739e7565280bda77be70044ac1047bc007e34"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
+ "reference": "bde739e7565280bda77be70044ac1047bc007e34",
"shasum": ""
},
"require": {
@@ -1741,7 +1742,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
},
"funding": [
{
@@ -1749,7 +1750,7 @@
"type": "github"
}
],
- "time": "2022-02-14T08:28:10+00:00"
+ "time": "2023-08-02T09:26:13+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -2206,16 +2207,16 @@
},
{
"name": "symfony/config",
- "version": "v5.4.21",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4"
+ "reference": "8109892f27beed9252bd1f1c1880aeb4ad842650"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/2a6b1111d038adfa15d52c0871e540f3b352d1e4",
- "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4",
+ "url": "https://api.github.com/repos/symfony/config/zipball/8109892f27beed9252bd1f1c1880aeb4ad842650",
+ "reference": "8109892f27beed9252bd1f1c1880aeb4ad842650",
"shasum": ""
},
"require": {
@@ -2265,7 +2266,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.21"
+ "source": "https://github.com/symfony/config/tree/v5.4.26"
},
"funding": [
{
@@ -2281,20 +2282,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-07-19T20:21:11+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.22",
+ "version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8"
+ "reference": "f4f71842f24c2023b91237c72a365306f3c58827"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/3cd51fd2e6c461ca678f84d419461281bd87a0a8",
- "reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8",
+ "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827",
+ "reference": "f4f71842f24c2023b91237c72a365306f3c58827",
"shasum": ""
},
"require": {
@@ -2364,7 +2365,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.22"
+ "source": "https://github.com/symfony/console/tree/v5.4.28"
},
"funding": [
{
@@ -2380,20 +2381,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-25T09:27:28+00:00"
+ "time": "2023-08-07T06:12:30+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.22",
+ "version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9"
+ "reference": "addc22fed594f9ce04e73ef6a9d3e2416f77192d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e1b7c1432efb4ad1dd89d62906187271e2601ed9",
- "reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/addc22fed594f9ce04e73ef6a9d3e2416f77192d",
+ "reference": "addc22fed594f9ce04e73ef6a9d3e2416f77192d",
"shasum": ""
},
"require": {
@@ -2453,7 +2454,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.22"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.28"
},
"funding": [
{
@@ -2469,7 +2470,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-10T10:02:45+00:00"
+ "time": "2023-08-14T10:47:38+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2540,16 +2541,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v5.4.21",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549"
+ "reference": "b26719213a39c9ba57520cbc5e52bfcc5e8d92f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/56a94aa8cb5a5fbc411551d8d014a296b5456549",
- "reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/b26719213a39c9ba57520cbc5e52bfcc5e8d92f9",
+ "reference": "b26719213a39c9ba57520cbc5e52bfcc5e8d92f9",
"shasum": ""
},
"require": {
@@ -2591,7 +2592,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.4.21"
+ "source": "https://github.com/symfony/error-handler/tree/v5.4.26"
},
"funding": [
{
@@ -2607,20 +2608,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-07-16T16:48:57+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.22",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f"
+ "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1df20e45d56da29a4b1d8259dd6e950acbf1b13f",
- "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
+ "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
"shasum": ""
},
"require": {
@@ -2676,7 +2677,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.22"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26"
},
"funding": [
{
@@ -2692,7 +2693,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-17T11:31:58+00:00"
+ "time": "2023-07-06T06:34:20+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -2775,16 +2776,16 @@
},
{
"name": "symfony/filesystem",
- "version": "v5.4.21",
+ "version": "v5.4.25",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
+ "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
- "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+ "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
"shasum": ""
},
"require": {
@@ -2819,7 +2820,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.21"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
},
"funding": [
{
@@ -2835,20 +2836,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-05-31T13:04:02+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.22",
+ "version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313"
+ "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/05cd1acdd0e3ce8473aaba1d86c188321d85f313",
- "reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/365992c83a836dfe635f1e903ccca43ee03d3dd2",
+ "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2",
"shasum": ""
},
"require": {
@@ -2895,7 +2896,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.22"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.4.28"
},
"funding": [
{
@@ -2911,20 +2912,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-28T07:28:17+00:00"
+ "time": "2023-08-21T07:23:18+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.4.22",
+ "version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "2d3a8be2c756353627398827c409af6f126c096d"
+ "reference": "127a2322ca1828157901092518b8ea8e4e1109d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2d3a8be2c756353627398827c409af6f126c096d",
- "reference": "2d3a8be2c756353627398827c409af6f126c096d",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/127a2322ca1828157901092518b8ea8e4e1109d4",
+ "reference": "127a2322ca1828157901092518b8ea8e4e1109d4",
"shasum": ""
},
"require": {
@@ -3007,7 +3008,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.4.22"
+ "source": "https://github.com/symfony/http-kernel/tree/v5.4.28"
},
"funding": [
{
@@ -3023,7 +3024,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-31T11:54:37+00:00"
+ "time": "2023-08-26T13:47:51+00:00"
},
{
"name": "symfony/monolog-bridge",
@@ -3192,16 +3193,16 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": ""
},
"require": {
@@ -3216,7 +3217,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3254,7 +3255,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
},
"funding": [
{
@@ -3270,20 +3271,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
+ "reference": "875e90aeea2777b6f135677f618529449334a612"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
+ "reference": "875e90aeea2777b6f135677f618529449334a612",
"shasum": ""
},
"require": {
@@ -3295,7 +3296,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3335,7 +3336,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
},
"funding": [
{
@@ -3351,20 +3352,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"shasum": ""
},
"require": {
@@ -3376,7 +3377,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3419,7 +3420,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
},
"funding": [
{
@@ -3435,20 +3436,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ "reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+ "reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
@@ -3463,7 +3464,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3502,7 +3503,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@@ -3518,20 +3519,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
- "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
+ "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
"shasum": ""
},
"require": {
@@ -3540,7 +3541,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3581,7 +3582,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
},
"funding": [
{
@@ -3597,20 +3598,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
@@ -3619,7 +3620,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3664,7 +3665,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
@@ -3680,20 +3681,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php81",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a",
- "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
"shasum": ""
},
"require": {
@@ -3702,7 +3703,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3743,7 +3744,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
},
"funding": [
{
@@ -3759,7 +3760,7 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/service-contracts",
@@ -3846,16 +3847,16 @@
},
{
"name": "symfony/string",
- "version": "v5.4.22",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
+ "reference": "1181fe9270e373537475e826873b5867b863883c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
- "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
+ "url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c",
+ "reference": "1181fe9270e373537475e826873b5867b863883c",
"shasum": ""
},
"require": {
@@ -3912,7 +3913,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.22"
+ "source": "https://github.com/symfony/string/tree/v5.4.26"
},
"funding": [
{
@@ -3928,20 +3929,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-14T06:11:53+00:00"
+ "time": "2023-06-28T12:46:07+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.4.22",
+ "version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4"
+ "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
- "reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73",
+ "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73",
"shasum": ""
},
"require": {
@@ -3950,12 +3951,12 @@
"symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "phpunit/phpunit": "<5.4.3",
"symfony/console": "<4.4"
},
"require-dev": {
"ext-iconv": "*",
"symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/process": "^4.4|^5.0|^6.0",
"symfony/uid": "^5.1|^6.0",
"twig/twig": "^2.13|^3.0.4"
@@ -4001,7 +4002,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.22"
+ "source": "https://github.com/symfony/var-dumper/tree/v5.4.28"
},
"funding": [
{
@@ -4017,7 +4018,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-25T09:27:28+00:00"
+ "time": "2023-08-24T13:38:36+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4120,16 +4121,16 @@
},
{
"name": "yoast/phpunit-polyfills",
- "version": "1.0.5",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/Yoast/PHPUnit-Polyfills.git",
- "reference": "3b59adeef77fb1c03ff5381dbb9d68b0aaff3171"
+ "reference": "224e4a1329c03d8bad520e3fc4ec980034a4b212"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/3b59adeef77fb1c03ff5381dbb9d68b0aaff3171",
- "reference": "3b59adeef77fb1c03ff5381dbb9d68b0aaff3171",
+ "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/224e4a1329c03d8bad520e3fc4ec980034a4b212",
+ "reference": "224e4a1329c03d8bad520e3fc4ec980034a4b212",
"shasum": ""
},
"require": {
@@ -4176,7 +4177,7 @@
"issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues",
"source": "https://github.com/Yoast/PHPUnit-Polyfills"
},
- "time": "2023-03-30T23:39:05+00:00"
+ "time": "2023-08-19T14:25:08+00:00"
}
],
"aliases": [],
diff --git a/extensions.json b/extensions.json
index f3f4f558..d22891fa 100644
--- a/extensions.json
+++ b/extensions.json
@@ -14,11 +14,13 @@
},
{
"name": "Points & Rewards",
- "repoSlug": "woocommerce-points-and-rewards"
+ "repoSlug": "woocommerce-points-and-rewards",
+ "defaultBranch": "develop"
},
{
"name": "Brands",
- "repoSlug": "woocommerce-brands"
+ "repoSlug": "woocommerce-brands",
+ "defaultBranch": "develop"
},
{
"name": "Drip",
@@ -26,7 +28,8 @@
},
{
"name": "Product Filters",
- "repoSlug": "woocommerce-product-filters"
+ "repoSlug": "woocommerce-product-filters",
+ "defaultBranch": "develop"
},
{
"name": "Sales Report Email",
@@ -42,7 +45,8 @@
},
{
"name": "Coupon Campaigns",
- "repoSlug": "woocommerce-coupon-campaigns"
+ "repoSlug": "woocommerce-coupon-campaigns",
+ "defaultBranch": "develop"
}
],
"retiredExtensions": [
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index 370f3ba7..93d87ea9 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -13,7 +13,6 @@
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Filesystem\Filesystem;
use WR\Application;
-use WR\Command\Release;
/**
* Class Bulk
@@ -54,8 +53,9 @@ protected function initialize( InputInterface $input, OutputInterface $output )
if ( ! $command instanceof Release ) {
throw new InvalidArgumentException(
sprintf(
- 'Command "%s" is not an instance of %s',
+ 'Command "%s" (%s) is not an instance of %s',
$command->getName(),
+ get_class( $command ),
Release::class
)
);
@@ -120,6 +120,40 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
]
);
+ // Prepare the release: check release/branch to exist.
+ /*try {
+ $repositoryUrl = sprintf( 'https://github.com/%1$s/%2$s/tree/%3$s', $item['organization'], $item['repo'] );
+ Utils::exec_sprintf( 'git ls-remote --exit-code --heads %s %s', $repositoryUrl, $item['branch'] );
+ } catch ( Exception $e ) {
+ try {
+ $output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $item['name'] ) );
+ if ( Utils::yes_no( sprintf(
+ 'You are trying to release from %s which does not exist. Do you want to create %s from %s first?',
+ $item['branch'],
+ $item['branch'],
+ $item['source']
+ ) ) ) {
+ // Create release branch.
+ Utils::exec_sprintf( 'git ls-remote --exit-code --heads %s %s', $repositoryUrl, $item['branch'] );
+ } else {
+ // Ask to release from the default branch for the given repository.
+ if ( ! Utils::yes_no( sprintf(
+ 'You\'ve decided not to create %s branch. Do you still want to release from the %s branch?',
+ $item['branch'],
+ $item['source']
+ ) ) ) {
+ throw new \Exception( 'Release cancelled.' );
+ }
+ }
+ } catch ( Exception $e ) {
+ $output->writeln( sprintf( "\nRelease FAILED for %s\n", $item['name'] ) );
+ $output->writeln( sprintf( "\nBranch %s does not exist for %s. The default branch %s was also declined.\n", $item['branch'], $item['name'], $item['source'] ) );
+
+ $errors[] = $item['name'];
+ continue;
+ }
+ }*/
+
$result = $releaseCommand->run( new ArrayInput( $args ), $output );
if ( static::SUCCESS !== $result ) {
$output->writeln( sprintf( "\nRelease FAILED for %s\n", $item['name'] ) );
@@ -183,13 +217,14 @@ private function getReleaseData(): array {
continue;
}
- [ $slug, $version, $branch ] = array_pad( explode( "\t", $line ), 3, null );
+ [ $slug, $version, $branch, $source ] = array_pad( explode( "\t", $line ), 4, null );
$toRelease[ $slug ] = [
'name' => $extensions[ $slug ]['name'],
'repo' => $extensions[ $slug ]['repoSlug'],
'version' => $version,
'organization' => $extensions[ $slug ]['githubOrganization'] ?? $githubOrganization,
'branch' => $branch ?? $extensions[ $slug ]['defaultBranch'] ?? $defaultBranch,
+ 'source' => $source ?? $extensions[ $slug ]['defaultBranch'] ?? $defaultBranch,
];
}
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
new file mode 100644
index 00000000..c2a2a82f
--- /dev/null
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -0,0 +1,227 @@
+addOption( 'nvm_use', null, InputOption::VALUE_NONE, 'If specified, the release will use `nvm use`' )
+ ->addOption( 'create_release_branch', null, InputOption::VALUE_OPTIONAL, 'If specified, the release branch will be created.' );
+ }
+
+ protected function execute( InputInterface $input, OutputInterface $output ) {
+ try {
+ $logger = Logger::instance( $output );
+ $github_url = $input->getArgument( 'github_url' );
+ $version = $input->getOption( 'product_version' );
+ $wc_tested = $input->getOption( 'wc_tested' );
+ $wp_tested = $input->getOption( 'wp_tested' );
+ $prerelease = $input->getOption( 'prerelease' );
+ $generate_changelog = $input->getOption( 'generate_changelog' );
+ $nvm_use = $input->getOption( 'nvm_use' );
+ $create_release_branch = $input->getOption( 'create_release_branch' );
+ $release = ! $this->simulate;
+ $reauth = false !== $input->getOption( 'svn_reauth' );
+ $editor = Utils::get_config( 'core.editor', false );
+
+ list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
+
+ $logger->notice( 'Processing product {product}...', array( 'product' => $product ) );
+
+ $gh_token = Utils::get_config( 'github.token' );
+ $gh_api = new GitHub_API( $gh_token, $gh_org, $product, $branch );
+
+ // Clone product.
+ $folder = Git::clone_product( $product, $branch, $gh_org );
+
+ // If $version is not supplied, use current and bump the patch version.
+ if ( ! isset( $version ) ) {
+ $package_file = $folder . '/package.json';
+
+ if ( ! file_exists( $package_file ) ) {
+ throw new \Exception( 'Did not find required "package.json" file in product', 2 );
+ }
+
+ $version_file = file_get_contents( $folder . '/package.json' );
+
+ $entry_regex = '/^\s*"version":\s*"(?\d+\.\d+\.\d+)"/ms';
+
+ if ( preg_match( $entry_regex, $version_file, $matches ) ) {
+ $version_parts = explode( '.', $matches['version'] );
+ $version = $version_parts[0] . '.' . $version_parts[1] . '.' . (int) ++$version_parts[2];
+ }
+ }
+
+ // Call vb:replace command.
+ $command = $this->getApplication()->find( 'vb:replace' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ '--folder' => $folder,
+ '--product_version' => $version,
+ // Don't make a separate commit for PHPDoc version replacements
+ '--release' => false,
+ );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
+ }
+
+ // Call vb:change command.
+ $command = $this->getApplication()->find( 'vb:change' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ '--folder' => $folder,
+ '--product_version' => $version,
+ '--wc_tested' => $wc_tested,
+ '--wp_tested' => $wp_tested,
+ '--release' => $release,
+ '--generate_changelog' => $generate_changelog,
+ );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
+ }
+
+ // Call cl:generate command.
+ $command = $this->getApplication()->find( 'cl:generate' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ '--folder' => $folder,
+ '--product_version' => $version,
+ '--wc_tested' => $wc_tested,
+ '--wp_tested' => $wp_tested,
+ '--release' => $release,
+ '--parse_only' => empty( $generate_changelog ),
+ );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
+ }
+
+ // If version was not specified, attempt to read it from meta added by `cl:generate`.
+ if ( empty( $version ) ) {
+ if ( $this->getApplication()->has_meta( 'version' ) ) {
+ $version = $this->getApplication()->get_meta( 'version' );
+ }
+
+ if ( empty( $version ) ) {
+ throw new \Exception( 'Could not auto-detect version.', 76 );
+ }
+ }
+
+ $logger->notice( 'Building product' );
+ $zip_file = Product::build( $product, $folder );
+
+ // Call wccom:release or wporg:release command.
+ $wp_org_slug = WP_Org::maybe_get_slug( $product, $folder );
+ $arguments = array(
+ 'github_url' => $github_url,
+ '--folder' => $folder,
+ '--zip_file' => $zip_file,
+ '--release' => $release,
+ );
+ if ( false !== $wp_org_slug ) {
+ $logger->notice( "Found product slug for WordPress.org: '{org_slug}'. Following .org release process.", array( 'org_slug' => $wp_org_slug ) );
+ $release_command = 'wporg:release';
+ if ( $version ) {
+ $arguments['--product_version'] = $version;
+ }
+ if ( $reauth ) {
+ $arguments['--svn_reauth'] = true;
+ }
+ } else {
+ $release_command = 'wccom:release';
+ }
+
+ $command = $this->getApplication()->find( $release_command );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
+ }
+
+ // Create GitHub release with command gh:release.
+ if ( ! $this->simulate ) {
+ $command = $this->getApplication()->find( 'gh:release' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ '--folder' => $folder,
+ '--product_version' => $version,
+ '--zip_file' => $zip_file,
+ '--prerelease' => $prerelease,
+ );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
+ }
+ } else {
+ $logger->notice( 'Simulation mode. Skipping upload of asset {asset} to GH release.', array( 'asset' => $zip_file ) );
+ }
+
+ if ( ! $this->simulate ) {
+ if ( empty( $version ) ) {
+ $logger->warning( 'Could not auto-detect version, optional translation trigger was not executed.' );
+ } else {
+ $command = $this->getApplication()->find( 'translate:trigger' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ '--product_version' => $version,
+ '--folder' => $folder,
+ );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
+ }
+ }
+ } else {
+ $logger->notice( 'Simulation mode. Skipping optional translations trigger.' );
+ }
+
+ // End simulation mode.
+ if ( $this->simulate ) {
+ Git::output_diff( $folder );
+ $logger->notice( WOORELEASE_PRODUCT_NAME . ' simulation finished.' );
+ Utils::display_release_command();
+
+ return Command::SUCCESS;
+ }
+
+ // End release.
+ $logger->notice( WOORELEASE_PRODUCT_NAME . ' finished.' );
+
+ return Command::SUCCESS;
+ } catch ( \Exception $e ) {
+ Utils::handle_error( $e );
+
+ return Command::FAILURE;
+ }
+ }
+}
From d2cbaeeae8b7f52b9de216bf84e0e54f15220dc4 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Sun, 22 Oct 2023 13:05:26 +0300
Subject: [PATCH 02/25] - Adding Git and Nvm command utility classes. -
Adjusting bulk command to call release with additional parameters. -
Adjusting release command to create release branch or fallback to the default
repo branch and run nvm use if selected.
---
.../src/Commands/Bulk.php | 57 +++++------------
.../src/Commands/Release.php | 61 +++++++++++++++++--
.../woorelease-extension/src/Utils/Git.php | 46 ++++++++++++++
.../woorelease-extension/src/Utils/Nvm.php | 47 ++++++++++++++
4 files changed, 164 insertions(+), 47 deletions(-)
create mode 100644 packages/php/woorelease-extension/src/Utils/Git.php
create mode 100644 packages/php/woorelease-extension/src/Utils/Nvm.php
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index 93d87ea9..60f137bf 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -2,6 +2,7 @@
namespace Automattic\WooCommerce\Grow\WR\Commands;
+use Automattic\WooCommerce\Grow\WR\Utils\Nvm;
use InvalidArgumentException;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Exception\LogicException;
@@ -115,44 +116,16 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$args = array_merge(
$options,
[
- 'github_url' => $gitHubUrl,
- '--product_version' => $item['version'],
+ 'github_url' => $gitHubUrl,
+ '--product_version' => $item['version'],
+ '--create_release_branch' => '', // A flag to create release/x.x.x branch if it doesn't exist.
+ '--default_branch' => $item['default_branch'],
]
);
- // Prepare the release: check release/branch to exist.
- /*try {
- $repositoryUrl = sprintf( 'https://github.com/%1$s/%2$s/tree/%3$s', $item['organization'], $item['repo'] );
- Utils::exec_sprintf( 'git ls-remote --exit-code --heads %s %s', $repositoryUrl, $item['branch'] );
- } catch ( Exception $e ) {
- try {
- $output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $item['name'] ) );
- if ( Utils::yes_no( sprintf(
- 'You are trying to release from %s which does not exist. Do you want to create %s from %s first?',
- $item['branch'],
- $item['branch'],
- $item['source']
- ) ) ) {
- // Create release branch.
- Utils::exec_sprintf( 'git ls-remote --exit-code --heads %s %s', $repositoryUrl, $item['branch'] );
- } else {
- // Ask to release from the default branch for the given repository.
- if ( ! Utils::yes_no( sprintf(
- 'You\'ve decided not to create %s branch. Do you still want to release from the %s branch?',
- $item['branch'],
- $item['source']
- ) ) ) {
- throw new \Exception( 'Release cancelled.' );
- }
- }
- } catch ( Exception $e ) {
- $output->writeln( sprintf( "\nRelease FAILED for %s\n", $item['name'] ) );
- $output->writeln( sprintf( "\nBranch %s does not exist for %s. The default branch %s was also declined.\n", $item['branch'], $item['name'], $item['source'] ) );
-
- $errors[] = $item['name'];
- continue;
- }
- }*/
+ if ( Nvm::is_nvm_exists() ) {
+ $args['--nvm_use'] = '';
+ }
$result = $releaseCommand->run( new ArrayInput( $args ), $output );
if ( static::SUCCESS !== $result ) {
@@ -198,7 +171,7 @@ private function getReleaseData(): array {
}
$extensionData = json_decode( file_get_contents( "{$app->get_meta('root_dir')}/extensions.json" ), true );
- $defaultBranch = $extensionData['defaultBranch'] ?? 'trunk';
+ $defaultBranch = $extensionData['defaultBranch'] ?? 'develop';
$githubOrganization = $extensionData['githubOrganization'] ?? 'woocommerce';
$extensions = array_column( $extensionData['extensions'] ?? [], null, 'repoSlug' );
@@ -219,12 +192,12 @@ private function getReleaseData(): array {
[ $slug, $version, $branch, $source ] = array_pad( explode( "\t", $line ), 4, null );
$toRelease[ $slug ] = [
- 'name' => $extensions[ $slug ]['name'],
- 'repo' => $extensions[ $slug ]['repoSlug'],
- 'version' => $version,
- 'organization' => $extensions[ $slug ]['githubOrganization'] ?? $githubOrganization,
- 'branch' => $branch ?? $extensions[ $slug ]['defaultBranch'] ?? $defaultBranch,
- 'source' => $source ?? $extensions[ $slug ]['defaultBranch'] ?? $defaultBranch,
+ 'name' => $extensions[ $slug ]['name'],
+ 'repo' => $extensions[ $slug ]['repoSlug'],
+ 'version' => $version,
+ 'organization' => $extensions[ $slug ]['githubOrganization'] ?? $githubOrganization,
+ 'branch' => $branch ?? $extensions[ $slug ]['defaultBranch'] ?? $defaultBranch,
+ 'default_branch' => $extensions[ $slug ]['defaultBranch'] ?? $defaultBranch,
];
}
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index c2a2a82f..007649b9 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -7,6 +7,8 @@
namespace Automattic\WooCommerce\Grow\WR\Commands;
+use Automattic\WooCommerce\Grow\WR\Utils\Nvm;
+use Exception;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputInterface;
@@ -19,6 +21,7 @@
use WR\Tools\Product;
use WR\Tools\Utils;
use WR\Tools\WP_Org;
+use Automattic\WooCommerce\Grow\WR\Utils\Git as WooGrowGit;
/**
* Class for implementing the release command.
@@ -35,7 +38,8 @@ protected function configure() {
parent::configure();
$this
->addOption( 'nvm_use', null, InputOption::VALUE_NONE, 'If specified, the release will use `nvm use`' )
- ->addOption( 'create_release_branch', null, InputOption::VALUE_OPTIONAL, 'If specified, the release branch will be created.' );
+ ->addOption( 'create_release_branch', null, InputOption::VALUE_NONE, 'If specified, the release branch will be created.' )
+ ->addOption( 'default_branch', null, InputOption::VALUE_OPTIONAL, 'If specified, the release branch will be created from it.' );
}
protected function execute( InputInterface $input, OutputInterface $output ) {
@@ -49,19 +53,66 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$generate_changelog = $input->getOption( 'generate_changelog' );
$nvm_use = $input->getOption( 'nvm_use' );
$create_release_branch = $input->getOption( 'create_release_branch' );
+ $default_branch = $input->getOption( 'default_branch' );
$release = ! $this->simulate;
$reauth = false !== $input->getOption( 'svn_reauth' );
- $editor = Utils::get_config( 'core.editor', false );
list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
$logger->notice( 'Processing product {product}...', array( 'product' => $product ) );
- $gh_token = Utils::get_config( 'github.token' );
- $gh_api = new GitHub_API( $gh_token, $gh_org, $product, $branch );
+ $folder = '';
+
+ // Prepare the release: check release/branch to exist.
+ $repository_url = sprintf( 'https://github.com/%1$s/%2$s', $gh_org, $product );
+ $is_release_branch = WooGrowGit::is_branch_exists( $repository_url, $branch );
+ if ( ! $is_release_branch ) {
+ $output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $branch ) );
+ if ( $create_release_branch && Utils::yes_no( sprintf(
+ 'You are trying to release from %s which does not exist. Do you want to create it from %s?',
+ $branch,
+ $default_branch
+ ) ) ) {
+ try {
+ // 1. Clone the repository locally.
+ $folder = Git::clone_product( $product, $default_branch, $gh_org );
+
+ // 2. Create the release branch and push to remote.
+ WooGrowGit::create_branch( $repository_url, $branch );
+ } catch ( Exception $e ) {
+ if ( ! Utils::yes_no( sprintf(
+ 'Branch %s has failed to create. Do you want to release from the %s branch?',
+ $branch,
+ $default_branch
+ ) ) ) {
+ throw new Exception( 'Release cancelled.' );
+ }
+ }
+ } else {
+ if ( ! Utils::yes_no( sprintf(
+ 'You\'ve decided not to create %s branch. Do you want to release from the %s branch?',
+ $branch,
+ $default_branch
+ ) ) ) {
+ throw new Exception( 'Release cancelled.' );
+ }
+ }
+ }
// Clone product.
- $folder = Git::clone_product( $product, $branch, $gh_org );
+ if ( empty( $folder ) ) {
+ $folder = Git::clone_product( $product, $branch, $gh_org );
+ }
+
+ if ( empty( $folder ) ) {
+ $output->writeln( sprintf( "\nRelease FAILED for %s\n", $product ) );
+ throw new Exception( sprintf( 'Cloning %s repository branch %s have failed.', $product, $branch ) );
+ }
+
+ // Run `nvm use` if specified to switch to the correct node version for the product repo.
+ if ( $nvm_use ) {
+ Nvm::use();
+ }
// If $version is not supplied, use current and bump the patch version.
if ( ! isset( $version ) ) {
diff --git a/packages/php/woorelease-extension/src/Utils/Git.php b/packages/php/woorelease-extension/src/Utils/Git.php
new file mode 100644
index 00000000..229b43cd
--- /dev/null
+++ b/packages/php/woorelease-extension/src/Utils/Git.php
@@ -0,0 +1,46 @@
+
Date: Sun, 22 Oct 2023 13:09:26 +0300
Subject: [PATCH 03/25] Removing unused `use` statement.
---
packages/php/woorelease-extension/src/Commands/Release.php | 1 -
1 file changed, 1 deletion(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 007649b9..b518bf06 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -16,7 +16,6 @@
use Symfony\Component\Console\Output\OutputInterface;
use WR\Command\Release as WooReleaseRelease;
use WR\Tools\Git;
-use WR\Tools\GitHub_API;
use WR\Tools\Logger;
use WR\Tools\Product;
use WR\Tools\Utils;
From 4e08bae220a36d8b932cfff63761113567daf114 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Sun, 22 Oct 2023 13:33:46 +0300
Subject: [PATCH 04/25] Removing test data.
---
packages/php/woorelease-extension/src/Commands/Bulk.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index 60f137bf..2ac549b2 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -190,7 +190,7 @@ private function getReleaseData(): array {
continue;
}
- [ $slug, $version, $branch, $source ] = array_pad( explode( "\t", $line ), 4, null );
+ [ $slug, $version, $branch ] = array_pad( explode( "\t", $line ), 4, null );
$toRelease[ $slug ] = [
'name' => $extensions[ $slug ]['name'],
'repo' => $extensions[ $slug ]['repoSlug'],
From 38de5b1d76b569c48aa473468570f350cbd958d5 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Thu, 26 Oct 2023 22:25:27 +0300
Subject: [PATCH 05/25] Overwriting the simulate command.
---
bin/wr | 2 ++
.../src/Commands/Simulate.php | 26 +++++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100644 packages/php/woorelease-extension/src/Commands/Simulate.php
diff --git a/bin/wr b/bin/wr
index 87d2af16..d593f1db 100755
--- a/bin/wr
+++ b/bin/wr
@@ -2,6 +2,7 @@
addCommands(
new Bulk(),
new VersionReplace(),
new Release(),
+ new Simulate()
]
);
diff --git a/packages/php/woorelease-extension/src/Commands/Simulate.php b/packages/php/woorelease-extension/src/Commands/Simulate.php
new file mode 100644
index 00000000..c08645d0
--- /dev/null
+++ b/packages/php/woorelease-extension/src/Commands/Simulate.php
@@ -0,0 +1,26 @@
+simulate = true;
+
+ $this
+ ->setDescription( 'Simulates the release process, following the standard Woo process.' )
+ ->setHelp( 'This command allows you to create a fully simulated release (skipping the deploy and release to GitHub).' );
+ }
+}
From ec86f43139a25730a1f9fcfb047637d2e212b2e2 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 22:57:21 +0300
Subject: [PATCH 06/25] - Adding branch command. - Renaming some method names
to be grammatically correct. - Separating create and push branch commands
into different methods.
---
bin/wr | 4 +-
.../src/Commands/Branch.php | 96 +++++++++++++++++++
.../src/Commands/Bulk.php | 2 +-
.../src/Commands/Release.php | 60 ++++--------
.../woorelease-extension/src/Utils/Git.php | 48 +++++++++-
.../woorelease-extension/src/Utils/Nvm.php | 2 +-
6 files changed, 160 insertions(+), 52 deletions(-)
create mode 100644 packages/php/woorelease-extension/src/Commands/Branch.php
diff --git a/bin/wr b/bin/wr
index d593f1db..ae75b241 100755
--- a/bin/wr
+++ b/bin/wr
@@ -5,6 +5,7 @@ use Automattic\WooCommerce\Grow\WR\Commands\Bulk;
use Automattic\WooCommerce\Grow\WR\Commands\Simulate;
use Automattic\WooCommerce\Grow\WR\Commands\VersionReplace;
use Automattic\WooCommerce\Grow\WR\Commands\Release;
+use Automattic\WooCommerce\Grow\WR\Commands\Branch;
use WR\Application;
$rootDir = dirname(__DIR__);
@@ -44,7 +45,8 @@ $app->addCommands(
new Bulk(),
new VersionReplace(),
new Release(),
- new Simulate()
+ new Simulate(),
+ new Branch(),
]
);
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
new file mode 100644
index 00000000..824979dd
--- /dev/null
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -0,0 +1,96 @@
+setDescription( 'Creates a release branch if does not exist.' )
+ ->setHelp( 'This command allows you to create a release branch.' )
+ ->addArgument( 'github_url', InputArgument::REQUIRED, 'Full GitHub URL for product to build.' )
+ ->addArgument( 'default_branch', InputArgument::REQUIRED, 'Default GitHub project branch name.' )
+ ->addOption( 'release', null, InputOption::VALUE_NONE, 'If specified, it will do an actual release branch creation instead of a simulation.' );
+ }
+
+ protected function execute( InputInterface $input, OutputInterface $output ) {
+ try {
+ $logger = Logger::instance( $output );
+ $github_url = $input->getArgument( 'github_url' );
+ $default_branch = $input->getArgument( 'default_branch' );
+ $release = false !== $input->getOption( 'release' );
+
+ list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
+
+ // Prepare the release: check release/branch to exist.
+ $repository_url = sprintf( 'https://github.com/%1$s/%2$s', $gh_org, $product );
+ $is_release_branch = WooGrowGit::does_branch_exist( $repository_url, $branch );
+ if ( ! $is_release_branch ) {
+ $output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $branch ) );
+ if ( $create_release_branch && Utils::yes_no( sprintf(
+ 'You are trying to release from %s which does not exist. Do you want to create it from %s?',
+ $branch,
+ $default_branch
+ ) ) ) {
+ $create = WooGrowGit::create_branch( $branch );
+ if ( $release ) {
+ $push = $create && WooGrowGit::push_branch( $repository_url, $branch );
+ if ( ! $push ) {
+ if ( ! Utils::yes_no( sprintf(
+ 'Branch %s has failed to create. Do you want to release from the %s branch?',
+ $branch,
+ $default_branch
+ ) ) ) {
+ throw new Exception( 'Release cancelled.' );
+ }
+ }
+ } else {
+ $logger->notice( 'Simulation mode. Creating local branch {branch}. In simulation mode branch won\'t be pushed to remote.', array( 'branch' => $branch ) );
+ }
+ } else {
+ if ( ! Utils::yes_no( sprintf(
+ 'You\'ve decided not to create %s branch. Do you want to release from the %s branch?',
+ $branch,
+ $default_branch
+ ) ) ) {
+ throw new Exception( 'Release cancelled.' );
+ }
+ }
+ }
+
+ // End release.
+ $logger->notice( WOORELEASE_PRODUCT_NAME . ' finished.' );
+
+ return Command::SUCCESS;
+ } catch ( \Exception $e ) {
+ Utils::handle_error( $e );
+
+ return Command::FAILURE;
+ }
+ }
+}
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index 2ac549b2..b0d03005 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -123,7 +123,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
]
);
- if ( Nvm::is_nvm_exists() ) {
+ if ( Nvm::does_nvm_exist() ) {
$args['--nvm_use'] = '';
}
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index b518bf06..54da370d 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -7,6 +7,7 @@
namespace Automattic\WooCommerce\Grow\WR\Commands;
+use Automattic\WooCommerce\Grow\WR\Utils\Git as WooGrowGit;
use Automattic\WooCommerce\Grow\WR\Utils\Nvm;
use Exception;
use Symfony\Component\Console\Command\Command;
@@ -20,7 +21,6 @@
use WR\Tools\Product;
use WR\Tools\Utils;
use WR\Tools\WP_Org;
-use Automattic\WooCommerce\Grow\WR\Utils\Git as WooGrowGit;
/**
* Class for implementing the release command.
@@ -60,47 +60,19 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger->notice( 'Processing product {product}...', array( 'product' => $product ) );
- $folder = '';
-
- // Prepare the release: check release/branch to exist.
- $repository_url = sprintf( 'https://github.com/%1$s/%2$s', $gh_org, $product );
- $is_release_branch = WooGrowGit::is_branch_exists( $repository_url, $branch );
- if ( ! $is_release_branch ) {
- $output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $branch ) );
- if ( $create_release_branch && Utils::yes_no( sprintf(
- 'You are trying to release from %s which does not exist. Do you want to create it from %s?',
- $branch,
- $default_branch
- ) ) ) {
- try {
- // 1. Clone the repository locally.
- $folder = Git::clone_product( $product, $default_branch, $gh_org );
-
- // 2. Create the release branch and push to remote.
- WooGrowGit::create_branch( $repository_url, $branch );
- } catch ( Exception $e ) {
- if ( ! Utils::yes_no( sprintf(
- 'Branch %s has failed to create. Do you want to release from the %s branch?',
- $branch,
- $default_branch
- ) ) ) {
- throw new Exception( 'Release cancelled.' );
- }
- }
- } else {
- if ( ! Utils::yes_no( sprintf(
- 'You\'ve decided not to create %s branch. Do you want to release from the %s branch?',
- $branch,
- $default_branch
- ) ) ) {
- throw new Exception( 'Release cancelled.' );
- }
- }
- }
-
// Clone product.
- if ( empty( $folder ) ) {
- $folder = Git::clone_product( $product, $branch, $gh_org );
+ $folder = Git::clone_product( $product, $branch, $gh_org );
+
+ // Call branch command to create release branch or release from default.
+ $command = $this->getApplication()->find( 'branch' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ 'default_branch' => $default_branch,
+ '--release' => $release,
+ );
+
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ return Command::FAILURE;
}
if ( empty( $folder ) ) {
@@ -219,7 +191,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
}
// Create GitHub release with command gh:release.
- if ( ! $this->simulate ) {
+ if ( $release ) {
$command = $this->getApplication()->find( 'gh:release' );
$arguments = array(
'github_url' => $github_url,
@@ -236,7 +208,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger->notice( 'Simulation mode. Skipping upload of asset {asset} to GH release.', array( 'asset' => $zip_file ) );
}
- if ( ! $this->simulate ) {
+ if ( $release ) {
if ( empty( $version ) ) {
$logger->warning( 'Could not auto-detect version, optional translation trigger was not executed.' );
} else {
@@ -256,7 +228,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
}
// End simulation mode.
- if ( $this->simulate ) {
+ if ( ! $release ) {
Git::output_diff( $folder );
$logger->notice( WOORELEASE_PRODUCT_NAME . ' simulation finished.' );
Utils::display_release_command();
diff --git a/packages/php/woorelease-extension/src/Utils/Git.php b/packages/php/woorelease-extension/src/Utils/Git.php
index 229b43cd..1e6c20f3 100644
--- a/packages/php/woorelease-extension/src/Utils/Git.php
+++ b/packages/php/woorelease-extension/src/Utils/Git.php
@@ -7,6 +7,7 @@
namespace Automattic\WooCommerce\Grow\WR\Utils;
+use Exception;
use WR\Tools\Utils;
/**
@@ -24,22 +25,59 @@ class Git extends \WR\Tools\Git {
*
* @return bool True if the branch exists, false otherwise.
*/
- public static function is_branch_exists( $repository_url, $branch ) {
+ public static function does_branch_exist( $repository_url, $branch ) {
// --exit-code returns 0 if the branch exists, 2 otherwise.
try {
Utils::exec_sprintf( 'git ls-remote --exit-code --heads %s %s', $repository_url, $branch );
return true;
- } catch ( \Exception $e ) {
+ } catch ( Exception $e ) {
return false;
}
}
- public static function create_branch( $repository_url, $branch ) {
+ /**
+ * Creates a new branch and pushes it to the remote repository.
+ * Rollbacks if the branch was (not) created but (and) not pushed.
+ *
+ * @param string $branch The branch name.
+ *
+ * @return bool True if the branch was created, false otherwise.
+ */
+ public static function create_branch( $branch ) {
+ try {
+ Utils::exec_sprintf( 'git checkout -b %s', $branch );
+ return true;
+ } catch ( Exception $e ) {
+ try {
+ // Cleanup if the branch was created but not pushed.
+ Utils::exec_sprintf( 'git branch -D %s', $branch );
+ } catch ( Exception $e ) {
+ return false;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Pushes a branch to the remote repository.
+ *
+ * @param string $repository_url The remote repository URL.
+ * @param string $branch The branch name.
+ *
+ * @return bool True if the branch was pushed, false otherwise.
+ */
+ public static function push_branch( $repository_url, $branch ) {
+ self::does_branch_exist( $repository_url, $branch );
try {
- Utils::exec_sprintf( 'git checkout --exit-code -b %s %s', $branch );
Utils::exec_sprintf( 'git push origin %s', $branch );
return true;
- } catch ( \Exception $e ) {
+ } catch ( Exception $e ) {
+ try {
+ // Cleanup if the branch was created but not pushed.
+ Utils::exec_sprintf( 'git push origin --delete %s', $branch );
+ } catch ( Exception $e ) {
+ return false;
+ }
return false;
}
}
diff --git a/packages/php/woorelease-extension/src/Utils/Nvm.php b/packages/php/woorelease-extension/src/Utils/Nvm.php
index 8a4f5c83..be7f978e 100644
--- a/packages/php/woorelease-extension/src/Utils/Nvm.php
+++ b/packages/php/woorelease-extension/src/Utils/Nvm.php
@@ -22,7 +22,7 @@ class Nvm {
*
* @return bool True if `nvm` is installed, false otherwise.
*/
- public static function is_nvm_exists() {
+ public static function does_nvm_exist() {
try {
Utils::exec_sprintf( 'nvm -v' );
return true;
From 29045825ca69eb47fc3e6cf7a4e8e68b00e16df4 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 23:00:04 +0300
Subject: [PATCH 07/25] Removing unnecessary props and methods.
---
packages/php/woorelease-extension/src/Commands/Release.php | 7 -------
1 file changed, 7 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 54da370d..7f66c3d1 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -7,7 +7,6 @@
namespace Automattic\WooCommerce\Grow\WR\Commands;
-use Automattic\WooCommerce\Grow\WR\Utils\Git as WooGrowGit;
use Automattic\WooCommerce\Grow\WR\Utils\Nvm;
use Exception;
use Symfony\Component\Console\Command\Command;
@@ -27,12 +26,6 @@
*/
class Release extends WooReleaseRelease {
- protected static $defaultName = 'release';
-
- public function __construct( string $name = null ) {
- parent::__construct( $name );
- }
-
protected function configure() {
parent::configure();
$this
From 78ba1881e4ffd886ef98f65960e4cdec5ebd302f Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 23:01:51 +0300
Subject: [PATCH 08/25] Changing default branch name for all the extensions
since that is de facto a standard now.
---
extensions.json | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/extensions.json b/extensions.json
index d22891fa..b2801164 100644
--- a/extensions.json
+++ b/extensions.json
@@ -1,26 +1,22 @@
{
- "defaultBranch": "trunk",
+ "defaultBranch": "develop",
"githubOrganization": "woocommerce",
"extensions": [
{
"name": "Facebook for WooCommerce",
"repoSlug": "facebook-for-woocommerce",
- "defaultBranch": "develop"
},
{
"name": "Pinterest for WooCommerce",
"repoSlug": "pinterest-for-woocommerce",
- "defaultBranch": "develop"
},
{
"name": "Points & Rewards",
"repoSlug": "woocommerce-points-and-rewards",
- "defaultBranch": "develop"
},
{
"name": "Brands",
"repoSlug": "woocommerce-brands",
- "defaultBranch": "develop"
},
{
"name": "Drip",
@@ -29,7 +25,6 @@
{
"name": "Product Filters",
"repoSlug": "woocommerce-product-filters",
- "defaultBranch": "develop"
},
{
"name": "Sales Report Email",
@@ -46,7 +41,6 @@
{
"name": "Coupon Campaigns",
"repoSlug": "woocommerce-coupon-campaigns",
- "defaultBranch": "develop"
}
],
"retiredExtensions": [
From deec8382e1e4963e08bbb85356f033dd434f9bf4 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 23:03:33 +0300
Subject: [PATCH 09/25] Removing IDE unique files and folders from .gitignore
---
.gitignore | 4 ----
1 file changed, 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index f04d25be..c173028b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,3 @@ vendor/
# All zip files
*.zip
-
-# IDE files
-.vscode/*
-.idea
From 58c58eb5c071324c3465b88fac6f15e48adecded Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 23:28:08 +0300
Subject: [PATCH 10/25] Fixing wrong placed commas after removing default
branch names from extensions.
---
extensions.json | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/extensions.json b/extensions.json
index b2801164..c97bafd1 100644
--- a/extensions.json
+++ b/extensions.json
@@ -4,19 +4,19 @@
"extensions": [
{
"name": "Facebook for WooCommerce",
- "repoSlug": "facebook-for-woocommerce",
+ "repoSlug": "facebook-for-woocommerce"
},
{
"name": "Pinterest for WooCommerce",
- "repoSlug": "pinterest-for-woocommerce",
+ "repoSlug": "pinterest-for-woocommerce"
},
{
"name": "Points & Rewards",
- "repoSlug": "woocommerce-points-and-rewards",
+ "repoSlug": "woocommerce-points-and-rewards"
},
{
"name": "Brands",
- "repoSlug": "woocommerce-brands",
+ "repoSlug": "woocommerce-brands"
},
{
"name": "Drip",
@@ -24,7 +24,7 @@
},
{
"name": "Product Filters",
- "repoSlug": "woocommerce-product-filters",
+ "repoSlug": "woocommerce-product-filters"
},
{
"name": "Sales Report Email",
@@ -40,7 +40,7 @@
},
{
"name": "Coupon Campaigns",
- "repoSlug": "woocommerce-coupon-campaigns",
+ "repoSlug": "woocommerce-coupon-campaigns"
}
],
"retiredExtensions": [
From 57db21b9c6f874f924611e6a581b09dc1c90847b Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 23:30:58 +0300
Subject: [PATCH 11/25] Remove redundant release command option. When we are
releasing we are providing a release branch name which, if does not exist, is
prompted to get created or fallbacks to default. This means the parameter to
create a release branch is redundant.
---
packages/php/woorelease-extension/src/Commands/Branch.php | 2 +-
packages/php/woorelease-extension/src/Commands/Release.php | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index 824979dd..8b2c2d47 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -52,7 +52,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$is_release_branch = WooGrowGit::does_branch_exist( $repository_url, $branch );
if ( ! $is_release_branch ) {
$output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $branch ) );
- if ( $create_release_branch && Utils::yes_no( sprintf(
+ if ( Utils::yes_no( sprintf(
'You are trying to release from %s which does not exist. Do you want to create it from %s?',
$branch,
$default_branch
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 7f66c3d1..1d86693e 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -30,7 +30,6 @@ protected function configure() {
parent::configure();
$this
->addOption( 'nvm_use', null, InputOption::VALUE_NONE, 'If specified, the release will use `nvm use`' )
- ->addOption( 'create_release_branch', null, InputOption::VALUE_NONE, 'If specified, the release branch will be created.' )
->addOption( 'default_branch', null, InputOption::VALUE_OPTIONAL, 'If specified, the release branch will be created from it.' );
}
@@ -44,7 +43,6 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$prerelease = $input->getOption( 'prerelease' );
$generate_changelog = $input->getOption( 'generate_changelog' );
$nvm_use = $input->getOption( 'nvm_use' );
- $create_release_branch = $input->getOption( 'create_release_branch' );
$default_branch = $input->getOption( 'default_branch' );
$release = ! $this->simulate;
$reauth = false !== $input->getOption( 'svn_reauth' );
From 00edaa94f40ca11d077bc820400cddb35bfa33be Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Fri, 27 Oct 2023 23:34:39 +0300
Subject: [PATCH 12/25] Adding branch command method commends and removing
redundant constructor from the command class.
---
.../src/Commands/Branch.php | 21 ++++++++++++-------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index 8b2c2d47..1c12ae84 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -1,8 +1,8 @@
setDescription( 'Creates a release branch if does not exist.' )
@@ -38,6 +35,14 @@ protected function configure() {
->addOption( 'release', null, InputOption::VALUE_NONE, 'If specified, it will do an actual release branch creation instead of a simulation.' );
}
+ /**
+ * Executes the command.
+ *
+ * @param InputInterface $input Input.
+ * @param OutputInterface $output Output.
+ *
+ * @return int Exit code.
+ */
protected function execute( InputInterface $input, OutputInterface $output ) {
try {
$logger = Logger::instance( $output );
From f4c2493922bf1d5a65a31edad14485ab7c4e6d64 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Sat, 28 Oct 2023 09:40:06 +0300
Subject: [PATCH 13/25] Adjusting `branch` command code styling and output.
---
.../src/Commands/Branch.php | 40 +++++++++++++------
1 file changed, 27 insertions(+), 13 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index 1c12ae84..98705249 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -57,20 +57,29 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$is_release_branch = WooGrowGit::does_branch_exist( $repository_url, $branch );
if ( ! $is_release_branch ) {
$output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $branch ) );
- if ( Utils::yes_no( sprintf(
+
+ $do_create_release_branch = Utils::yes_no(
+ sprintf(
'You are trying to release from %s which does not exist. Do you want to create it from %s?',
$branch,
$default_branch
- ) ) ) {
+ )
+ );
+
+ if ( $do_create_release_branch ) {
$create = WooGrowGit::create_branch( $branch );
if ( $release ) {
$push = $create && WooGrowGit::push_branch( $repository_url, $branch );
if ( ! $push ) {
- if ( ! Utils::yes_no( sprintf(
- 'Branch %s has failed to create. Do you want to release from the %s branch?',
- $branch,
- $default_branch
- ) ) ) {
+ $do_release_from_default = Utils::yes_no(
+ sprintf(
+ 'Branch %s has failed to create. Do you want to release from default %s branch?',
+ $branch,
+ $default_branch
+ )
+ );
+
+ if ( ! $do_release_from_default ) {
throw new Exception( 'Release cancelled.' );
}
}
@@ -78,18 +87,23 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger->notice( 'Simulation mode. Creating local branch {branch}. In simulation mode branch won\'t be pushed to remote.', array( 'branch' => $branch ) );
}
} else {
- if ( ! Utils::yes_no( sprintf(
- 'You\'ve decided not to create %s branch. Do you want to release from the %s branch?',
- $branch,
- $default_branch
- ) ) ) {
+ $branch = $default_branch;
+ $do_release_from_default = Utils::yes_no(
+ sprintf(
+ 'You\'ve decided not to create %s branch. Do you want to release from the %s branch?',
+ $branch,
+ $default_branch
+ )
+ );
+
+ if ( ! $do_release_from_default ) {
throw new Exception( 'Release cancelled.' );
}
}
}
// End release.
- $logger->notice( WOORELEASE_PRODUCT_NAME . ' finished.' );
+ $logger->notice( sprintf( 'Release branch %s is ready.', $branch ) );
return Command::SUCCESS;
} catch ( \Exception $e ) {
From 7d885ae2e4c9b3a9853857992a172b1a106dd9e2 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Sat, 28 Oct 2023 09:42:04 +0300
Subject: [PATCH 14/25] Optimising imports (doing them in alphabetical order)
---
bin/wr | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/wr b/bin/wr
index ae75b241..13a9d009 100755
--- a/bin/wr
+++ b/bin/wr
@@ -1,11 +1,11 @@
#!/usr/bin/env php
Date: Sun, 29 Oct 2023 15:31:55 +0200
Subject: [PATCH 15/25] Removing Simulate command since we have nothing to
overwrite with it.
---
bin/wr | 2 --
.../src/Commands/Simulate.php | 26 -------------------
2 files changed, 28 deletions(-)
delete mode 100644 packages/php/woorelease-extension/src/Commands/Simulate.php
diff --git a/bin/wr b/bin/wr
index 13a9d009..1bf8acee 100755
--- a/bin/wr
+++ b/bin/wr
@@ -4,7 +4,6 @@
use Automattic\WooCommerce\Grow\WR\Commands\Branch;
use Automattic\WooCommerce\Grow\WR\Commands\Bulk;
use Automattic\WooCommerce\Grow\WR\Commands\Release;
-use Automattic\WooCommerce\Grow\WR\Commands\Simulate;
use Automattic\WooCommerce\Grow\WR\Commands\VersionReplace;
use WR\Application;
@@ -45,7 +44,6 @@ $app->addCommands(
new Bulk(),
new VersionReplace(),
new Release(),
- new Simulate(),
new Branch(),
]
);
diff --git a/packages/php/woorelease-extension/src/Commands/Simulate.php b/packages/php/woorelease-extension/src/Commands/Simulate.php
deleted file mode 100644
index c08645d0..00000000
--- a/packages/php/woorelease-extension/src/Commands/Simulate.php
+++ /dev/null
@@ -1,26 +0,0 @@
-simulate = true;
-
- $this
- ->setDescription( 'Simulates the release process, following the standard Woo process.' )
- ->setHelp( 'This command allows you to create a fully simulated release (skipping the deploy and release to GitHub).' );
- }
-}
From 066d8a303eba8a3fa4d0ec7da87c52c79aed8c26 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Tue, 7 Nov 2023 10:13:56 +0200
Subject: [PATCH 16/25] Adding `nvm` shell script to fight some OS shell
inconsistencies. Adjust commands to use the newly added shell script. Adding
custom `simulate` command which inherits from the overwritten `release`
command to allow simulation runs. Update `branch` command by adding cleanup
option to it.
---
bin/nvm | 20 ++++++++++
bin/wr | 2 +
.../src/Commands/Branch.php | 20 +++++++---
.../src/Commands/Bulk.php | 8 ++--
.../src/Commands/Release.php | 27 ++++++++++++-
.../src/Commands/Simulate.php | 33 +++++++++++++++
.../woorelease-extension/src/Utils/Git.php | 40 ++++++++++++++++++-
.../woorelease-extension/src/Utils/Nvm.php | 4 +-
8 files changed, 141 insertions(+), 13 deletions(-)
create mode 100755 bin/nvm
create mode 100644 packages/php/woorelease-extension/src/Commands/Simulate.php
diff --git a/bin/nvm b/bin/nvm
new file mode 100755
index 00000000..47715e97
--- /dev/null
+++ b/bin/nvm
@@ -0,0 +1,20 @@
+#! /bin/bash
+
+do_check=false
+do_use=false
+while getopts eu opt; do
+ case $opt in
+ e) do_check=true;;
+ u) do_use=true;;
+ esac
+done
+
+source ~/.nvm/nvm.sh
+
+if $do_check; then
+ command -v nvm
+fi
+
+if $do_use; then
+ nvm use
+fi
diff --git a/bin/wr b/bin/wr
index 1bf8acee..13a9d009 100755
--- a/bin/wr
+++ b/bin/wr
@@ -4,6 +4,7 @@
use Automattic\WooCommerce\Grow\WR\Commands\Branch;
use Automattic\WooCommerce\Grow\WR\Commands\Bulk;
use Automattic\WooCommerce\Grow\WR\Commands\Release;
+use Automattic\WooCommerce\Grow\WR\Commands\Simulate;
use Automattic\WooCommerce\Grow\WR\Commands\VersionReplace;
use WR\Application;
@@ -44,6 +45,7 @@ $app->addCommands(
new Bulk(),
new VersionReplace(),
new Release(),
+ new Simulate(),
new Branch(),
]
);
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index 98705249..6cd5d21d 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -32,7 +32,7 @@ protected function configure() {
->setHelp( 'This command allows you to create a release branch.' )
->addArgument( 'github_url', InputArgument::REQUIRED, 'Full GitHub URL for product to build.' )
->addArgument( 'default_branch', InputArgument::REQUIRED, 'Default GitHub project branch name.' )
- ->addOption( 'release', null, InputOption::VALUE_NONE, 'If specified, it will do an actual release branch creation instead of a simulation.' );
+ ->addOption( 'cleanup', null, InputOption::VALUE_NONE, 'If specified, it will do the branch cleanup.' );
}
/**
@@ -48,12 +48,17 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger = Logger::instance( $output );
$github_url = $input->getArgument( 'github_url' );
$default_branch = $input->getArgument( 'default_branch' );
- $release = false !== $input->getOption( 'release' );
+ $cleanup = false !== $input->getOption( 'cleanup' );
list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
// Prepare the release: check release/branch to exist.
$repository_url = sprintf( 'https://github.com/%1$s/%2$s', $gh_org, $product );
+
+ if ( $cleanup ) {
+ return $this->cleanup( $repository_url, $branch );
+ }
+
$is_release_branch = WooGrowGit::does_branch_exist( $repository_url, $branch );
if ( ! $is_release_branch ) {
$output->writeln( sprintf( "\nRelease branch %s does not exist.\n", $branch ) );
@@ -68,7 +73,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
if ( $do_create_release_branch ) {
$create = WooGrowGit::create_branch( $branch );
- if ( $release ) {
+ /*if ( $release ) {*/
$push = $create && WooGrowGit::push_branch( $repository_url, $branch );
if ( ! $push ) {
$do_release_from_default = Utils::yes_no(
@@ -83,9 +88,9 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
throw new Exception( 'Release cancelled.' );
}
}
- } else {
+ /*} else {
$logger->notice( 'Simulation mode. Creating local branch {branch}. In simulation mode branch won\'t be pushed to remote.', array( 'branch' => $branch ) );
- }
+ }*/
} else {
$branch = $default_branch;
$do_release_from_default = Utils::yes_no(
@@ -112,4 +117,9 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
return Command::FAILURE;
}
}
+
+ protected function cleanup( $repository_url, $branch ) {
+ WooGrowGit::delete_branch( $repository_url, $branch );
+ return Command::SUCCESS;
+ }
}
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index b0d03005..baee4ba5 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -51,7 +51,10 @@ protected function configure() {
protected function initialize( InputInterface $input, OutputInterface $output ) {
// This throws an exception if the command is not found, which we want to allow.
$command = $this->getApplication()->get( $input->getArgument( 'release-command' ) );
- if ( ! $command instanceof Release ) {
+
+ $is_not_release = ! $command instanceof Release;
+ $is_not_simulate = ! $command instanceof Simulate;
+ if ( $is_not_release && $is_not_simulate ) {
throw new InvalidArgumentException(
sprintf(
'Command "%s" (%s) is not an instance of %s',
@@ -118,13 +121,12 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
[
'github_url' => $gitHubUrl,
'--product_version' => $item['version'],
- '--create_release_branch' => '', // A flag to create release/x.x.x branch if it doesn't exist.
'--default_branch' => $item['default_branch'],
]
);
if ( Nvm::does_nvm_exist() ) {
- $args['--nvm_use'] = '';
+ $args['--nvm_use'] = true;
}
$result = $releaseCommand->run( new ArrayInput( $args ), $output );
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 1d86693e..907ad27a 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -7,6 +7,7 @@
namespace Automattic\WooCommerce\Grow\WR\Commands;
+use Automattic\WooCommerce\Grow\WR\Utils\Git as WooGrowGit;
use Automattic\WooCommerce\Grow\WR\Utils\Nvm;
use Exception;
use Symfony\Component\Console\Command\Command;
@@ -25,6 +26,12 @@
* Class for implementing the release command.
*/
class Release extends WooReleaseRelease {
+ /**
+ * The default command name.
+ *
+ * @var string|null
+ */
+ protected static $defaultName = 'release'; // phpcs:ignore WordPress.NamingConventions.ValidVariableName
protected function configure() {
parent::configure();
@@ -52,14 +59,13 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger->notice( 'Processing product {product}...', array( 'product' => $product ) );
// Clone product.
- $folder = Git::clone_product( $product, $branch, $gh_org );
+ $folder = WooGrowGit::clone_product_release_or_default( $product, $branch, $default_branch, $gh_org );
// Call branch command to create release branch or release from default.
$command = $this->getApplication()->find( 'branch' );
$arguments = array(
'github_url' => $github_url,
'default_branch' => $default_branch,
- '--release' => $release,
);
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
@@ -72,7 +78,9 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
}
// Run `nvm use` if specified to switch to the correct node version for the product repo.
+ $logger->notice( sprintf( "Should use the extension's node version: %s.", $nvm_use ? 'true' : 'false' ) );
if ( $nvm_use ) {
+ $logger->notice( 'Switching to the correct node version for the product repo.' );
Nvm::use();
}
@@ -218,6 +226,21 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger->notice( 'Simulation mode. Skipping optional translations trigger.' );
}
+ // Cleaning up the mess after simulations.
+ if ( ! $release ) {
+ $command = $this->getApplication()->find( 'branch' );
+ $arguments = array(
+ 'github_url' => $github_url,
+ 'default_branch' => $default_branch,
+ '--cleanup' => true,
+ );
+ if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
+ $logger->error( 'Simulation mode. Cleaning up the release branch has failed. Please cleanup manually.' );
+ } else {
+ $logger->notice( 'Simulation mode. Cleaning up the release branch succeeded.' );
+ }
+ }
+
// End simulation mode.
if ( ! $release ) {
Git::output_diff( $folder );
diff --git a/packages/php/woorelease-extension/src/Commands/Simulate.php b/packages/php/woorelease-extension/src/Commands/Simulate.php
new file mode 100644
index 00000000..5dc97ef8
--- /dev/null
+++ b/packages/php/woorelease-extension/src/Commands/Simulate.php
@@ -0,0 +1,33 @@
+simulate = true;
+
+ $this
+ ->setDescription( 'Simulates the release process, following the standard Woo process.' )
+ ->setHelp( 'This command allows you to create a fully simulated release (skipping the deploy and release to GitHub).' );
+ }
+}
diff --git a/packages/php/woorelease-extension/src/Utils/Git.php b/packages/php/woorelease-extension/src/Utils/Git.php
index 1e6c20f3..b970bc20 100644
--- a/packages/php/woorelease-extension/src/Utils/Git.php
+++ b/packages/php/woorelease-extension/src/Utils/Git.php
@@ -74,11 +74,49 @@ public static function push_branch( $repository_url, $branch ) {
} catch ( Exception $e ) {
try {
// Cleanup if the branch was created but not pushed.
- Utils::exec_sprintf( 'git push origin --delete %s', $branch );
+ static::delete_branch( $repository_url, $branch );
} catch ( Exception $e ) {
return false;
}
return false;
}
}
+
+ /**
+ * Deletes a branch to the remote repository.
+ *
+ * @param string $repository_url The remote repository URL.
+ * @param string $branch The branch name.
+ *
+ * @return bool True if the branch was deleted, false otherwise.
+ */
+ public static function delete_branch( $repository_url, $branch ) {
+ try {
+ if ( self::does_branch_exist( $repository_url, $branch ) ) {
+ Utils::exec_sprintf( 'git push origin --delete %s', $branch );
+ }
+ return true;
+ } catch ( Exception $e ) {
+ return false;
+ }
+ }
+
+ /**
+ * Attempt to clone the product and checkout the specific version which, if failed, tries to clone the default version.
+ *
+ * @param string $product Product name.
+ * @param string $branch Git branch.
+ * @param string $default_branch Git branch.
+ * @param string $gh_org Git organization.
+ *
+ * @throws \Exception On error.
+ * @return string Product folder.
+ */
+ public static function clone_product_release_or_default( $product, $branch, $default_branch, $gh_org ) {
+ try {
+ return parent::clone_product( $product, $branch, $gh_org );
+ } catch ( Exception $e ) {
+ return parent::clone_product( $product, $default_branch, $gh_org );
+ }
+ }
}
diff --git a/packages/php/woorelease-extension/src/Utils/Nvm.php b/packages/php/woorelease-extension/src/Utils/Nvm.php
index be7f978e..2b7f4937 100644
--- a/packages/php/woorelease-extension/src/Utils/Nvm.php
+++ b/packages/php/woorelease-extension/src/Utils/Nvm.php
@@ -24,7 +24,7 @@ class Nvm {
*/
public static function does_nvm_exist() {
try {
- Utils::exec_sprintf( 'nvm -v' );
+ Utils::exec_sprintf( './nvm -e' );
return true;
} catch ( Exception $e ) {
return false;
@@ -38,7 +38,7 @@ public static function does_nvm_exist() {
*/
public static function use() {
try {
- Utils::exec_sprintf( 'nvm use' );
+ Utils::exec_sprintf( './nvm -u' );
return true;
} catch ( Exception $e ) {
return false;
From 13b8d0d4c485c7c8e4428524e69972ac987744d3 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Tue, 7 Nov 2023 12:25:53 +0200
Subject: [PATCH 17/25] Adding build script to run nvm and npm build steps in a
single context. Create custom product build function to handle cases with and
w/o nvm.
---
bin/build | 15 ++++
.../src/Commands/Bulk.php | 3 +-
.../src/Commands/Release.php | 13 +---
.../woorelease-extension/src/Utils/Nvm.php | 20 +----
.../src/Utils/Product.php | 78 +++++++++++++++++++
5 files changed, 102 insertions(+), 27 deletions(-)
create mode 100755 bin/build
create mode 100644 packages/php/woorelease-extension/src/Utils/Product.php
diff --git a/bin/build b/bin/build
new file mode 100755
index 00000000..abbaf120
--- /dev/null
+++ b/bin/build
@@ -0,0 +1,15 @@
+#! /bin/bash
+
+source ~/.nvm/nvm.sh
+
+case $1 in
+ pnpm) echo 'pnpm'
+ nvm use && pnpm install && pnpm run build
+ ;;
+ npm) echo 'npm'
+ nvm use && npm install && npm run build
+ ;;
+ *) echo 'default'
+ nvm use && $1
+ ;;
+esac
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index baee4ba5..cbadd5e2 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -125,7 +125,8 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
]
);
- if ( Nvm::does_nvm_exist() ) {
+ $grow_root_path = $this->getApplication()->get_meta( 'root_dir' );
+ if ( Nvm::does_nvm_exist( $grow_root_path ) ) {
$args['--nvm_use'] = true;
}
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 907ad27a..c15e06de 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -8,7 +8,7 @@
namespace Automattic\WooCommerce\Grow\WR\Commands;
use Automattic\WooCommerce\Grow\WR\Utils\Git as WooGrowGit;
-use Automattic\WooCommerce\Grow\WR\Utils\Nvm;
+use Automattic\WooCommerce\Grow\WR\Utils\Product as WooGrowProduct;
use Exception;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\ArrayInput;
@@ -18,7 +18,6 @@
use WR\Command\Release as WooReleaseRelease;
use WR\Tools\Git;
use WR\Tools\Logger;
-use WR\Tools\Product;
use WR\Tools\Utils;
use WR\Tools\WP_Org;
@@ -77,13 +76,6 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
throw new Exception( sprintf( 'Cloning %s repository branch %s have failed.', $product, $branch ) );
}
- // Run `nvm use` if specified to switch to the correct node version for the product repo.
- $logger->notice( sprintf( "Should use the extension's node version: %s.", $nvm_use ? 'true' : 'false' ) );
- if ( $nvm_use ) {
- $logger->notice( 'Switching to the correct node version for the product repo.' );
- Nvm::use();
- }
-
// If $version is not supplied, use current and bump the patch version.
if ( ! isset( $version ) ) {
$package_file = $folder . '/package.json';
@@ -160,7 +152,8 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
}
$logger->notice( 'Building product' );
- $zip_file = Product::build( $product, $folder );
+ $grow_root_path = $this->getApplication()->get_meta( 'root_dir' );
+ $zip_file = WooGrowProduct::maybe_build_with_nvm( $nvm_use, $grow_root_path, $product, $folder );
// Call wccom:release or wporg:release command.
$wp_org_slug = WP_Org::maybe_get_slug( $product, $folder );
diff --git a/packages/php/woorelease-extension/src/Utils/Nvm.php b/packages/php/woorelease-extension/src/Utils/Nvm.php
index 2b7f4937..77d5898b 100644
--- a/packages/php/woorelease-extension/src/Utils/Nvm.php
+++ b/packages/php/woorelease-extension/src/Utils/Nvm.php
@@ -20,25 +20,13 @@ class Nvm {
/**
* Checks if `nvm` is installed.
*
- * @return bool True if `nvm` is installed, false otherwise.
- */
- public static function does_nvm_exist() {
- try {
- Utils::exec_sprintf( './nvm -e' );
- return true;
- } catch ( Exception $e ) {
- return false;
- }
- }
-
- /**
- * Runs `nvm use` command.
+ * @param string $grow_root_path Path to the root of the Grow project.
*
- * @return bool True if `nvm use` succeeded, false otherwise.
+ * @return bool True if `nvm` is installed, false otherwise.
*/
- public static function use() {
+ public static function does_nvm_exist( $grow_root_path ) {
try {
- Utils::exec_sprintf( './nvm -u' );
+ Utils::exec_sprintf( "{$grow_root_path}/bin/nvm -e" );
return true;
} catch ( Exception $e ) {
return false;
diff --git a/packages/php/woorelease-extension/src/Utils/Product.php b/packages/php/woorelease-extension/src/Utils/Product.php
new file mode 100644
index 00000000..bf8bb1e0
--- /dev/null
+++ b/packages/php/woorelease-extension/src/Utils/Product.php
@@ -0,0 +1,78 @@
+notice( 'Attempting to use the product\'s recommended node version.' );
+ static::build( $grow_root_path, $product, $folder );
+ }
+ return \WR\Tools\Product::build( $product, $folder );
+ }
+
+ /**
+ * Build the product, handling package.json build process
+ *
+ * @param string $grow_root_path WooGrow root path.
+ * @param string $product Product name.
+ * @param string $folder Product folder.
+ *
+ * @throws \Exception On error.
+ * @return array Zip file path.
+ */
+ public static function build( $grow_root_path, $product, $folder ) {
+ $logger = Logger::default();
+ $package_json = \WR\Tools\Product::get_package_json( $product, $folder );
+ $wp_org_slug = ! empty( $package_json['config']['wp_org_slug'] ) && $package_json['config']['wp_org_slug'] != $product ? $package_json['config']['wp_org_slug'] : false;
+ $use_pnpm = (bool) ( $package_json['config']['use_pnpm'] ?? false );
+ $build_step = $package_json['config']['build_step'] ?? false;
+
+ chdir( $folder );
+ Utils::exec_sprintf( 'rm -rf %s.zip', $product );
+ if ( $wp_org_slug ) {
+ Utils::exec_sprintf( 'rm -rf %s.zip', $wp_org_slug );
+ }
+
+ if ( $build_step ) {
+ shell_exec( "{$grow_root_path}/bin/build {$build_step}" );
+ } elseif ( $use_pnpm ) {
+ shell_exec( "{$grow_root_path}/bin/build pnpm" );
+ } else {
+ shell_exec( "{$grow_root_path}/bin/build npm" );
+ }
+
+ $zipfile = '';
+ if ( file_exists( sprintf( '%s/%s.zip', $folder, $product ) ) ) {
+ $zipfile = realpath( sprintf( '%s.zip', $product ) );
+ } elseif ( $wp_org_slug && file_exists( sprintf( '%s/%s.zip', $folder, $wp_org_slug ) ) ) {
+ $zipfile = realpath( sprintf( '%s.zip', $wp_org_slug ) );
+ }
+ if ( $zipfile ) {
+ $logger->notice( 'Product build: {zipfile}', array( 'zipfile' => $zipfile ) );
+ return $zipfile;
+ }
+
+ if ( $wp_org_slug ) {
+ throw new \Exception( sprintf( "'npm run build' command did not produce '%s.zip' or '%s.zip'", $product, $wp_org_slug ), 3 );
+ } else {
+ throw new \Exception( sprintf( "'npm run build' command did not produce '%s.zip'", $product ), 3 );
+ }
+ }
+}
From 31f9639015e9260efaf78b316a883130fbb58de4 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Tue, 7 Nov 2023 15:00:38 +0200
Subject: [PATCH 18/25] Adding build script to set nvm and npm into a single
context when running the build. Using application's meta storage to pass
branches between `branch` and `release` commands. Adjusting release branches
cleanup to make sure not to cleanup the default branch from the product's
repo.
---
bin/build | 15 ++++---
.../src/Commands/Branch.php | 43 +++++++++++--------
.../src/Commands/Release.php | 13 ++++--
.../src/Utils/Product.php | 7 +--
4 files changed, 46 insertions(+), 32 deletions(-)
diff --git a/bin/build b/bin/build
index abbaf120..7ac6f7b1 100755
--- a/bin/build
+++ b/bin/build
@@ -1,15 +1,16 @@
-#! /bin/bash
+#!/bin/bash
source ~/.nvm/nvm.sh
+nvm use
case $1 in
- pnpm) echo 'pnpm'
- nvm use && pnpm install && pnpm run build
+ pnpm)
+ pnpm install && pnpm run build
;;
- npm) echo 'npm'
- nvm use && npm install && npm run build
+ npm)
+ npm install && npm run build
;;
- *) echo 'default'
- nvm use && $1
+ *)
+ eval $1
;;
esac
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index 6cd5d21d..de859a67 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -53,10 +53,16 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
// Prepare the release: check release/branch to exist.
- $repository_url = sprintf( 'https://github.com/%1$s/%2$s', $gh_org, $product );
+ $repository_url = sprintf( 'https://github.com/%1$s/%2$s', $gh_org, $product );
if ( $cleanup ) {
- return $this->cleanup( $repository_url, $branch );
+ // Not to delete the default repo's branch.
+ if ( $branch !== $default_branch ) {
+ $output->write( sprintf( "\nCleaning up `%s` branch ...\n", $branch ) );
+ return $this->cleanup( $repository_url, $branch );
+ }
+ $output->write( sprintf( "\nDefault branch `%s` cannot be deleted.\n", $branch ) );
+ return Command::SUCCESS;
}
$is_release_branch = WooGrowGit::does_branch_exist( $repository_url, $branch );
@@ -73,24 +79,20 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
if ( $do_create_release_branch ) {
$create = WooGrowGit::create_branch( $branch );
- /*if ( $release ) {*/
- $push = $create && WooGrowGit::push_branch( $repository_url, $branch );
- if ( ! $push ) {
- $do_release_from_default = Utils::yes_no(
- sprintf(
- 'Branch %s has failed to create. Do you want to release from default %s branch?',
- $branch,
- $default_branch
- )
- );
-
- if ( ! $do_release_from_default ) {
- throw new Exception( 'Release cancelled.' );
- }
+ $push = $create && WooGrowGit::push_branch( $repository_url, $branch );
+ if ( ! $push ) {
+ $do_release_from_default = Utils::yes_no(
+ sprintf(
+ 'Branch %s has failed to create. Do you want to release from default %s branch?',
+ $branch,
+ $default_branch
+ )
+ );
+
+ if ( ! $do_release_from_default ) {
+ throw new Exception( 'Release cancelled.' );
}
- /*} else {
- $logger->notice( 'Simulation mode. Creating local branch {branch}. In simulation mode branch won\'t be pushed to remote.', array( 'branch' => $branch ) );
- }*/
+ }
} else {
$branch = $default_branch;
$do_release_from_default = Utils::yes_no(
@@ -110,6 +112,9 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// End release.
$logger->notice( sprintf( 'Release branch %s is ready.', $branch ) );
+ // Setting active branch name to the output.
+ $this->getApplication()->set_meta( "{$product}_branch", $branch );
+
return Command::SUCCESS;
} catch ( \Exception $e ) {
Utils::handle_error( $e );
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index c15e06de..77e245f1 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -70,6 +70,13 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
}
+ // Get current active branch name after the branch command.
+ $active_branch = $this->getApplication()->get_meta( "{$product}_branch" ) ?? $branch;
+ // Update $branch and $github_url with currently active branch name.
+ if ( $branch !== $active_branch ) {
+ $branch = $active_branch;
+ $github_url = sprintf( 'https://github.com/%1$s/%2$s/tree/%3$s', $gh_org, $product, $branch );
+ }
if ( empty( $folder ) ) {
$output->writeln( sprintf( "\nRelease FAILED for %s\n", $product ) );
@@ -227,10 +234,10 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
'default_branch' => $default_branch,
'--cleanup' => true,
);
- if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
- $logger->error( 'Simulation mode. Cleaning up the release branch has failed. Please cleanup manually.' );
+ if ( Command::SUCCESS === $command->run( new ArrayInput( $arguments ), $output ) ) {
+ $logger->notice( 'Simulation mode. Release branch cleanup has succeeded.' );
} else {
- $logger->notice( 'Simulation mode. Cleaning up the release branch succeeded.' );
+ $logger->error( 'Simulation mode. Release branch cleanup has failed. Please cleanup `{branch}` branch manually.', [ 'branch' => $branch ] );
}
}
diff --git a/packages/php/woorelease-extension/src/Utils/Product.php b/packages/php/woorelease-extension/src/Utils/Product.php
index bf8bb1e0..10d7aec9 100644
--- a/packages/php/woorelease-extension/src/Utils/Product.php
+++ b/packages/php/woorelease-extension/src/Utils/Product.php
@@ -22,9 +22,10 @@ public static function maybe_build_with_nvm( $use_nvm, $grow_root_path, $product
$logger = Logger::default();
if ( $use_nvm ) {
$logger->notice( 'Attempting to use the product\'s recommended node version.' );
- static::build( $grow_root_path, $product, $folder );
+ return static::build( $grow_root_path, $product, $folder );
+ } else {
+ return \WR\Tools\Product::build( $product, $folder );
}
- return \WR\Tools\Product::build( $product, $folder );
}
/**
@@ -51,7 +52,7 @@ public static function build( $grow_root_path, $product, $folder ) {
}
if ( $build_step ) {
- shell_exec( "{$grow_root_path}/bin/build {$build_step}" );
+ shell_exec( "{$grow_root_path}/bin/build '{$build_step}'" );
} elseif ( $use_pnpm ) {
shell_exec( "{$grow_root_path}/bin/build pnpm" );
} else {
From b3c653a874e167e703e0be51009b9ca9c2bea52e Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Thu, 12 Sep 2024 11:01:41 +0300
Subject: [PATCH 19/25] - Fixing branch operations; - Updating `woorelease`
dev-trunk dependency version since the last release was back 2022.
---
composer.json | 2 +-
composer.lock | 664 +++++++++++++-----
.../src/Commands/Branch.php | 12 +-
.../src/Commands/Release.php | 2 +
.../woorelease-extension/src/Utils/Git.php | 27 +-
5 files changed, 529 insertions(+), 178 deletions(-)
diff --git a/composer.json b/composer.json
index ff343c89..d0dcd07d 100644
--- a/composer.json
+++ b/composer.json
@@ -11,7 +11,7 @@
"ext-zip": "*",
"phpcompatibility/php-compatibility": "^9.0",
"php-parallel-lint/php-parallel-lint": "^1.3.1",
- "woocommerce/woorelease": "^2.4",
+ "woocommerce/woorelease": "dev-trunk",
"yoast/phpunit-polyfills": "^1.0"
},
"repositories": [
diff --git a/composer.lock b/composer.lock
index 05b57ed0..5a2d1199 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": "69f948974aac014b79e8134be2e3645e",
+ "content-hash": "334c7a01cf649a340011cceeafe3ef22",
"packages": [],
"packages-dev": [
{
@@ -97,6 +97,136 @@
},
"time": "2021-12-05T09:10:49+00:00"
},
+ {
+ "name": "czproject/git-php",
+ "version": "v4.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/czproject/git-php.git",
+ "reference": "f7fe85cc526c5f8e7ed809f7f9c68f2696940a8a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/czproject/git-php/zipball/f7fe85cc526c5f8e7ed809f7f9c68f2696940a8a",
+ "reference": "f7fe85cc526c5f8e7ed809f7f9c68f2696940a8a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6.0"
+ },
+ "require-dev": {
+ "nette/tester": "^2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jan Pecha",
+ "email": "janpecha@email.cz"
+ }
+ ],
+ "description": "Library for work with Git repository in PHP.",
+ "keywords": [
+ "git"
+ ],
+ "support": {
+ "issues": "https://github.com/czproject/git-php/issues",
+ "source": "https://github.com/czproject/git-php/tree/v4.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.janpecha.cz/donate/git-php/",
+ "type": "other"
+ }
+ ],
+ "time": "2024-08-05T13:28:31+00:00"
+ },
+ {
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
+ "version": "v1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/composer-installer.git",
+ "reference": "4be43904336affa5c2f70744a348312336afd0da"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da",
+ "reference": "4be43904336affa5c2f70744a348312336afd0da",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0 || ^2.0",
+ "php": ">=5.4",
+ "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
+ },
+ "require-dev": {
+ "composer/composer": "*",
+ "ext-json": "*",
+ "ext-zip": "*",
+ "php-parallel-lint/php-parallel-lint": "^1.3.1",
+ "phpcompatibility/php-compatibility": "^9.0",
+ "yoast/phpunit-polyfills": "^1.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Franck Nijhof",
+ "email": "franck.nijhof@dealerdirect.com",
+ "homepage": "http://www.frenck.nl",
+ "role": "Developer / IT Manager"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors"
+ }
+ ],
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
+ "homepage": "http://www.dealerdirect.com",
+ "keywords": [
+ "PHPCodeSniffer",
+ "PHP_CodeSniffer",
+ "code quality",
+ "codesniffer",
+ "composer",
+ "installer",
+ "phpcbf",
+ "phpcs",
+ "plugin",
+ "qa",
+ "quality",
+ "standard",
+ "standards",
+ "style guide",
+ "stylecheck",
+ "tests"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCSStandards/composer-installer/issues",
+ "source": "https://github.com/PHPCSStandards/composer-installer"
+ },
+ "time": "2023-01-05T11:28:13+00:00"
+ },
{
"name": "doctrine/instantiator",
"version": "1.5.0",
@@ -330,16 +460,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.17.1",
+ "version": "v4.15.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+ "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
+ "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"shasum": ""
},
"require": {
@@ -380,9 +510,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
},
- "time": "2023-08-13T19:53:39+00:00"
+ "time": "2023-03-05T19:49:14+00:00"
},
{
"name": "phar-io/manifest",
@@ -614,18 +744,169 @@
},
"time": "2019-12-27T09:44:58+00:00"
},
+ {
+ "name": "phpcsstandards/phpcsextra",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/PHPCSExtra.git",
+ "reference": "78b2cae1e9de1c05f0416de6f9a658cbb83ac324"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/78b2cae1e9de1c05f0416de6f9a658cbb83ac324",
+ "reference": "78b2cae1e9de1c05f0416de6f9a658cbb83ac324",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4",
+ "phpcsstandards/phpcsutils": "^1.0.8",
+ "squizlabs/php_codesniffer": "^3.7.1"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-console-highlighter": "^1.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcsstandards/phpcsdevcs": "^1.1.6",
+ "phpcsstandards/phpcsdevtools": "^1.2.1",
+ "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "type": "phpcodesniffer-standard",
+ "extra": {
+ "branch-alias": {
+ "dev-stable": "1.x-dev",
+ "dev-develop": "1.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Juliette Reinders Folmer",
+ "homepage": "https://github.com/jrfnl",
+ "role": "lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHPCSExtra/graphs/contributors"
+ }
+ ],
+ "description": "A collection of sniffs and standards for use with PHP_CodeSniffer.",
+ "keywords": [
+ "PHP_CodeSniffer",
+ "phpcbf",
+ "phpcodesniffer-standard",
+ "phpcs",
+ "standards",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues",
+ "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHPCSExtra"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2023-12-02T14:30:12+00:00"
+ },
+ {
+ "name": "phpcsstandards/phpcsutils",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/PHPCSUtils.git",
+ "reference": "69465cab9d12454e5e7767b9041af0cd8cd13be7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/69465cab9d12454e5e7767b9041af0cd8cd13be7",
+ "reference": "69465cab9d12454e5e7767b9041af0cd8cd13be7",
+ "shasum": ""
+ },
+ "require": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0",
+ "php": ">=5.4",
+ "squizlabs/php_codesniffer": "^3.7.1 || 4.0.x-dev@dev"
+ },
+ "require-dev": {
+ "ext-filter": "*",
+ "php-parallel-lint/php-console-highlighter": "^1.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcsstandards/phpcsdevcs": "^1.1.6",
+ "yoast/phpunit-polyfills": "^1.0.5 || ^2.0.0"
+ },
+ "type": "phpcodesniffer-standard",
+ "extra": {
+ "branch-alias": {
+ "dev-stable": "1.x-dev",
+ "dev-develop": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "PHPCSUtils/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Juliette Reinders Folmer",
+ "homepage": "https://github.com/jrfnl",
+ "role": "lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHPCSUtils/graphs/contributors"
+ }
+ ],
+ "description": "A suite of utility functions for use with PHP_CodeSniffer",
+ "homepage": "https://phpcsutils.com/",
+ "keywords": [
+ "PHP_CodeSniffer",
+ "phpcbf",
+ "phpcodesniffer-standard",
+ "phpcs",
+ "phpcs3",
+ "standards",
+ "static analysis",
+ "tokens",
+ "utility"
+ ],
+ "support": {
+ "docs": "https://phpcsutils.com/",
+ "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues",
+ "source": "https://github.com/PHPCSStandards/PHPCSUtils"
+ },
+ "time": "2023-07-16T21:39:41+00:00"
+ },
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.29",
+ "version": "9.2.26",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
+ "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
+ "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"shasum": ""
},
"require": {
@@ -681,8 +962,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
},
"funding": [
{
@@ -690,7 +970,7 @@
"type": "github"
}
],
- "time": "2023-09-19T04:57:46+00:00"
+ "time": "2023-03-06T12:58:08+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -935,16 +1215,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.13",
+ "version": "9.6.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
+ "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b65d59a059d3004a040c16a82e07bbdf6cfdd115",
+ "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115",
"shasum": ""
},
"require": {
@@ -959,7 +1239,7 @@
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.28",
+ "phpunit/php-code-coverage": "^9.2.13",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -1018,7 +1298,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.6"
},
"funding": [
{
@@ -1034,7 +1314,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T05:39:22+00:00"
+ "time": "2023-03-27T11:43:46+00:00"
},
{
"name": "psr/container",
@@ -1484,16 +1764,16 @@
},
{
"name": "sebastian/diff",
- "version": "4.0.5",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
@@ -1538,7 +1818,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
},
"funding": [
{
@@ -1546,7 +1826,7 @@
"type": "github"
}
],
- "time": "2023-05-07T05:35:17+00:00"
+ "time": "2020-10-26T13:10:38+00:00"
},
{
"name": "sebastian/environment",
@@ -1690,16 +1970,16 @@
},
{
"name": "sebastian/global-state",
- "version": "5.0.6",
+ "version": "5.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34"
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"shasum": ""
},
"require": {
@@ -1742,7 +2022,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
},
"funding": [
{
@@ -1750,7 +2030,7 @@
"type": "github"
}
],
- "time": "2023-08-02T09:26:13+00:00"
+ "time": "2022-02-14T08:28:10+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -2207,16 +2487,16 @@
},
{
"name": "symfony/config",
- "version": "v5.4.26",
+ "version": "v5.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "8109892f27beed9252bd1f1c1880aeb4ad842650"
+ "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/8109892f27beed9252bd1f1c1880aeb4ad842650",
- "reference": "8109892f27beed9252bd1f1c1880aeb4ad842650",
+ "url": "https://api.github.com/repos/symfony/config/zipball/2a6b1111d038adfa15d52c0871e540f3b352d1e4",
+ "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4",
"shasum": ""
},
"require": {
@@ -2266,7 +2546,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.26"
+ "source": "https://github.com/symfony/config/tree/v5.4.21"
},
"funding": [
{
@@ -2282,20 +2562,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-19T20:21:11+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.28",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "f4f71842f24c2023b91237c72a365306f3c58827"
+ "reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827",
- "reference": "f4f71842f24c2023b91237c72a365306f3c58827",
+ "url": "https://api.github.com/repos/symfony/console/zipball/3cd51fd2e6c461ca678f84d419461281bd87a0a8",
+ "reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8",
"shasum": ""
},
"require": {
@@ -2365,7 +2645,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.28"
+ "source": "https://github.com/symfony/console/tree/v5.4.22"
},
"funding": [
{
@@ -2381,20 +2661,20 @@
"type": "tidelift"
}
],
- "time": "2023-08-07T06:12:30+00:00"
+ "time": "2023-03-25T09:27:28+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.28",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "addc22fed594f9ce04e73ef6a9d3e2416f77192d"
+ "reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/addc22fed594f9ce04e73ef6a9d3e2416f77192d",
- "reference": "addc22fed594f9ce04e73ef6a9d3e2416f77192d",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e1b7c1432efb4ad1dd89d62906187271e2601ed9",
+ "reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9",
"shasum": ""
},
"require": {
@@ -2454,7 +2734,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.28"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.22"
},
"funding": [
{
@@ -2470,7 +2750,7 @@
"type": "tidelift"
}
],
- "time": "2023-08-14T10:47:38+00:00"
+ "time": "2023-03-10T10:02:45+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2541,16 +2821,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v5.4.26",
+ "version": "v5.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "b26719213a39c9ba57520cbc5e52bfcc5e8d92f9"
+ "reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/b26719213a39c9ba57520cbc5e52bfcc5e8d92f9",
- "reference": "b26719213a39c9ba57520cbc5e52bfcc5e8d92f9",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/56a94aa8cb5a5fbc411551d8d014a296b5456549",
+ "reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549",
"shasum": ""
},
"require": {
@@ -2592,7 +2872,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.4.26"
+ "source": "https://github.com/symfony/error-handler/tree/v5.4.21"
},
"funding": [
{
@@ -2608,20 +2888,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-16T16:48:57+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.26",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
+ "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
- "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1df20e45d56da29a4b1d8259dd6e950acbf1b13f",
+ "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f",
"shasum": ""
},
"require": {
@@ -2677,7 +2957,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.22"
},
"funding": [
{
@@ -2693,7 +2973,7 @@
"type": "tidelift"
}
],
- "time": "2023-07-06T06:34:20+00:00"
+ "time": "2023-03-17T11:31:58+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -2776,16 +3056,16 @@
},
{
"name": "symfony/filesystem",
- "version": "v5.4.25",
+ "version": "v5.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
+ "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
- "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
+ "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
"shasum": ""
},
"require": {
@@ -2820,7 +3100,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.21"
},
"funding": [
{
@@ -2836,20 +3116,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-31T13:04:02+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.28",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2"
+ "reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/365992c83a836dfe635f1e903ccca43ee03d3dd2",
- "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/05cd1acdd0e3ce8473aaba1d86c188321d85f313",
+ "reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313",
"shasum": ""
},
"require": {
@@ -2896,7 +3176,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.28"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.4.22"
},
"funding": [
{
@@ -2912,20 +3192,20 @@
"type": "tidelift"
}
],
- "time": "2023-08-21T07:23:18+00:00"
+ "time": "2023-03-28T07:28:17+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.4.28",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "127a2322ca1828157901092518b8ea8e4e1109d4"
+ "reference": "2d3a8be2c756353627398827c409af6f126c096d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/127a2322ca1828157901092518b8ea8e4e1109d4",
- "reference": "127a2322ca1828157901092518b8ea8e4e1109d4",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2d3a8be2c756353627398827c409af6f126c096d",
+ "reference": "2d3a8be2c756353627398827c409af6f126c096d",
"shasum": ""
},
"require": {
@@ -3008,7 +3288,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.4.28"
+ "source": "https://github.com/symfony/http-kernel/tree/v5.4.22"
},
"funding": [
{
@@ -3024,7 +3304,7 @@
"type": "tidelift"
}
],
- "time": "2023-08-26T13:47:51+00:00"
+ "time": "2023-03-31T11:54:37+00:00"
},
{
"name": "symfony/monolog-bridge",
@@ -3193,16 +3473,16 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
+ "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"shasum": ""
},
"require": {
@@ -3217,7 +3497,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3255,7 +3535,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
},
"funding": [
{
@@ -3271,20 +3551,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "875e90aeea2777b6f135677f618529449334a612"
+ "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
- "reference": "875e90aeea2777b6f135677f618529449334a612",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
+ "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
"shasum": ""
},
"require": {
@@ -3296,7 +3576,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3336,7 +3616,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
},
"funding": [
{
@@ -3352,20 +3632,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+ "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"shasum": ""
},
"require": {
@@ -3377,7 +3657,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3420,7 +3700,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
},
"funding": [
{
@@ -3436,20 +3716,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "42292d99c55abe617799667f454222c54c60e229"
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
- "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"shasum": ""
},
"require": {
@@ -3464,7 +3744,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3503,7 +3783,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
},
"funding": [
{
@@ -3519,20 +3799,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T09:04:16+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
+ "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
- "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
+ "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
"shasum": ""
},
"require": {
@@ -3541,7 +3821,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3582,7 +3862,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
},
"funding": [
{
@@ -3598,20 +3878,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"shasum": ""
},
"require": {
@@ -3620,7 +3900,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3665,7 +3945,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
},
"funding": [
{
@@ -3681,20 +3961,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php81",
- "version": "v1.28.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
+ "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a",
+ "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a",
"shasum": ""
},
"require": {
@@ -3703,7 +3983,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3744,7 +4024,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0"
},
"funding": [
{
@@ -3760,7 +4040,7 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/service-contracts",
@@ -3847,16 +4127,16 @@
},
{
"name": "symfony/string",
- "version": "v5.4.26",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "1181fe9270e373537475e826873b5867b863883c"
+ "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c",
- "reference": "1181fe9270e373537475e826873b5867b863883c",
+ "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
+ "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"shasum": ""
},
"require": {
@@ -3913,7 +4193,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.26"
+ "source": "https://github.com/symfony/string/tree/v5.4.22"
},
"funding": [
{
@@ -3929,20 +4209,20 @@
"type": "tidelift"
}
],
- "time": "2023-06-28T12:46:07+00:00"
+ "time": "2023-03-14T06:11:53+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.4.28",
+ "version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73"
+ "reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73",
- "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
+ "reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
"shasum": ""
},
"require": {
@@ -3951,12 +4231,12 @@
"symfony/polyfill-php80": "^1.16"
},
"conflict": {
+ "phpunit/phpunit": "<5.4.3",
"symfony/console": "<4.4"
},
"require-dev": {
"ext-iconv": "*",
"symfony/console": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/process": "^4.4|^5.0|^6.0",
"symfony/uid": "^5.1|^6.0",
"twig/twig": "^2.13|^3.0.4"
@@ -4002,7 +4282,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.28"
+ "source": "https://github.com/symfony/var-dumper/tree/v5.4.22"
},
"funding": [
{
@@ -4018,7 +4298,7 @@
"type": "tidelift"
}
],
- "time": "2023-08-24T13:38:36+00:00"
+ "time": "2023-03-25T09:27:28+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4072,20 +4352,21 @@
},
{
"name": "woocommerce/woorelease",
- "version": "2.4.0",
+ "version": "dev-trunk",
"source": {
"type": "git",
"url": "git@github.com:woocommerce/woorelease.git",
- "reference": "92cdac7da77ee204a7145d7029f5f12c11cfcadd"
+ "reference": "6a812502efde955d4efcf78d969365c2c2f95171"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/woocommerce/woorelease/zipball/92cdac7da77ee204a7145d7029f5f12c11cfcadd",
- "reference": "92cdac7da77ee204a7145d7029f5f12c11cfcadd",
+ "url": "https://api.github.com/repos/woocommerce/woorelease/zipball/6a812502efde955d4efcf78d969365c2c2f95171",
+ "reference": "6a812502efde955d4efcf78d969365c2c2f95171",
"shasum": ""
},
"require": {
- "bramus/monolog-colored-line-formatter": "~3.0",
+ "bramus/monolog-colored-line-formatter": "^3.0",
+ "czproject/git-php": "^4.0",
"monolog/monolog": "^2.0",
"symfony/console": "^5.1",
"symfony/event-dispatcher": "^5.1",
@@ -4096,6 +4377,7 @@
"squizlabs/php_codesniffer": "^3.7",
"woocommerce/woocommerce-sniffs": "0.1.0"
},
+ "default-branch": true,
"type": "library",
"autoload": {
"classmap": [
@@ -4114,23 +4396,89 @@
},
"description": "Woorelease automates the deployment of extensions and themes to both woocommerce.com and wordpress.org.",
"support": {
- "source": "https://github.com/woocommerce/woorelease/tree/2.4.0",
+ "source": "https://github.com/woocommerce/woorelease/tree/trunk",
"issues": "https://github.com/woocommerce/woorelease/issues"
},
- "time": "2022-07-21T01:05:57+00:00"
+ "time": "2024-09-04T12:56:29+00:00"
+ },
+ {
+ "name": "wp-coding-standards/wpcs",
+ "version": "3.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
+ "reference": "b4caf9689f1a0e4a4c632679a44e638c1c67aff1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/b4caf9689f1a0e4a4c632679a44e638c1c67aff1",
+ "reference": "b4caf9689f1a0e4a4c632679a44e638c1c67aff1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "ext-libxml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlreader": "*",
+ "php": ">=5.4",
+ "phpcsstandards/phpcsextra": "^1.1.0",
+ "phpcsstandards/phpcsutils": "^1.0.8",
+ "squizlabs/php_codesniffer": "^3.7.2"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-console-highlighter": "^1.0.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcompatibility/php-compatibility": "^9.0",
+ "phpcsstandards/phpcsdevtools": "^1.2.0",
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "suggest": {
+ "ext-iconv": "For improved results",
+ "ext-mbstring": "For improved results"
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors"
+ }
+ ],
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
+ "keywords": [
+ "phpcs",
+ "standards",
+ "static analysis",
+ "wordpress"
+ ],
+ "support": {
+ "issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues",
+ "source": "https://github.com/WordPress/WordPress-Coding-Standards",
+ "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki"
+ },
+ "funding": [
+ {
+ "url": "https://opencollective.com/thewpcc/contribute/wp-php-63406",
+ "type": "custom"
+ }
+ ],
+ "time": "2023-09-14T07:06:09+00:00"
},
{
"name": "yoast/phpunit-polyfills",
- "version": "1.1.0",
+ "version": "1.0.5",
"source": {
"type": "git",
"url": "https://github.com/Yoast/PHPUnit-Polyfills.git",
- "reference": "224e4a1329c03d8bad520e3fc4ec980034a4b212"
+ "reference": "3b59adeef77fb1c03ff5381dbb9d68b0aaff3171"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/224e4a1329c03d8bad520e3fc4ec980034a4b212",
- "reference": "224e4a1329c03d8bad520e3fc4ec980034a4b212",
+ "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/3b59adeef77fb1c03ff5381dbb9d68b0aaff3171",
+ "reference": "3b59adeef77fb1c03ff5381dbb9d68b0aaff3171",
"shasum": ""
},
"require": {
@@ -4177,12 +4525,14 @@
"issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues",
"source": "https://github.com/Yoast/PHPUnit-Polyfills"
},
- "time": "2023-08-19T14:25:08+00:00"
+ "time": "2023-03-30T23:39:05+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": [],
+ "stability-flags": {
+ "woocommerce/woorelease": 20
+ },
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
@@ -4192,5 +4542,5 @@
"platform-dev": {
"ext-zip": "*"
},
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index de859a67..ea049966 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -32,6 +32,7 @@ protected function configure() {
->setHelp( 'This command allows you to create a release branch.' )
->addArgument( 'github_url', InputArgument::REQUIRED, 'Full GitHub URL for product to build.' )
->addArgument( 'default_branch', InputArgument::REQUIRED, 'Default GitHub project branch name.' )
+ ->addOption( 'folder', null, InputOption::VALUE_REQUIRED, 'Folder containing a cloned version of the repository', null )
->addOption( 'cleanup', null, InputOption::VALUE_NONE, 'If specified, it will do the branch cleanup.' );
}
@@ -48,6 +49,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger = Logger::instance( $output );
$github_url = $input->getArgument( 'github_url' );
$default_branch = $input->getArgument( 'default_branch' );
+ $folder = $input->getOption( 'folder' );
$cleanup = false !== $input->getOption( 'cleanup' );
list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
@@ -59,7 +61,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Not to delete the default repo's branch.
if ( $branch !== $default_branch ) {
$output->write( sprintf( "\nCleaning up `%s` branch ...\n", $branch ) );
- return $this->cleanup( $repository_url, $branch );
+ return $this->cleanup( $folder, $repository_url, $branch );
}
$output->write( sprintf( "\nDefault branch `%s` cannot be deleted.\n", $branch ) );
return Command::SUCCESS;
@@ -78,8 +80,8 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
);
if ( $do_create_release_branch ) {
- $create = WooGrowGit::create_branch( $branch );
- $push = $create && WooGrowGit::push_branch( $repository_url, $branch );
+ $create = WooGrowGit::create_branch( $folder, $branch );
+ $push = $create && WooGrowGit::push_branch( $folder, $repository_url, $branch );
if ( ! $push ) {
$do_release_from_default = Utils::yes_no(
sprintf(
@@ -123,8 +125,8 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
}
}
- protected function cleanup( $repository_url, $branch ) {
- WooGrowGit::delete_branch( $repository_url, $branch );
+ protected function cleanup( $folder, $repository_url, $branch ) {
+ WooGrowGit::delete_branch( $folder, $repository_url, $branch );
return Command::SUCCESS;
}
}
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 77e245f1..edebef57 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -65,6 +65,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$arguments = array(
'github_url' => $github_url,
'default_branch' => $default_branch,
+ '--folder' => $folder,
);
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
@@ -232,6 +233,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$arguments = array(
'github_url' => $github_url,
'default_branch' => $default_branch,
+ '--folder' => $folder,
'--cleanup' => true,
);
if ( Command::SUCCESS === $command->run( new ArrayInput( $arguments ), $output ) ) {
diff --git a/packages/php/woorelease-extension/src/Utils/Git.php b/packages/php/woorelease-extension/src/Utils/Git.php
index b970bc20..b035fbd2 100644
--- a/packages/php/woorelease-extension/src/Utils/Git.php
+++ b/packages/php/woorelease-extension/src/Utils/Git.php
@@ -36,24 +36,18 @@ public static function does_branch_exist( $repository_url, $branch ) {
}
/**
- * Creates a new branch and pushes it to the remote repository.
- * Rollbacks if the branch was (not) created but (and) not pushed.
+ * Creates a new local release branch.
*
* @param string $branch The branch name.
*
* @return bool True if the branch was created, false otherwise.
*/
- public static function create_branch( $branch ) {
+ public static function create_branch( $folder, $branch ) {
try {
+ chdir( $folder );
Utils::exec_sprintf( 'git checkout -b %s', $branch );
return true;
} catch ( Exception $e ) {
- try {
- // Cleanup if the branch was created but not pushed.
- Utils::exec_sprintf( 'git branch -D %s', $branch );
- } catch ( Exception $e ) {
- return false;
- }
return false;
}
}
@@ -61,20 +55,21 @@ public static function create_branch( $branch ) {
/**
* Pushes a branch to the remote repository.
*
+ * @param string $folder Current working repository clone.
* @param string $repository_url The remote repository URL.
* @param string $branch The branch name.
*
* @return bool True if the branch was pushed, false otherwise.
*/
- public static function push_branch( $repository_url, $branch ) {
- self::does_branch_exist( $repository_url, $branch );
+ public static function push_branch( $folder, $repository_url, $branch ) {
try {
- Utils::exec_sprintf( 'git push origin %s', $branch );
+ chdir( $folder );
+ Utils::exec_sprintf( 'git push --set-upstream origin %s', $branch );
return true;
} catch ( Exception $e ) {
try {
// Cleanup if the branch was created but not pushed.
- static::delete_branch( $repository_url, $branch );
+ static::delete_branch( $folder, $repository_url, $branch );
} catch ( Exception $e ) {
return false;
}
@@ -85,15 +80,17 @@ public static function push_branch( $repository_url, $branch ) {
/**
* Deletes a branch to the remote repository.
*
+ * @param string $folder Current working copy.
* @param string $repository_url The remote repository URL.
* @param string $branch The branch name.
*
* @return bool True if the branch was deleted, false otherwise.
*/
- public static function delete_branch( $repository_url, $branch ) {
+ public static function delete_branch( $folder, $repository_url, $branch ) {
try {
+ chdir( $folder );
if ( self::does_branch_exist( $repository_url, $branch ) ) {
- Utils::exec_sprintf( 'git push origin --delete %s', $branch );
+ Utils::exec_sprintf( 'git push %s --delete %s', $repository_url, $branch );
}
return true;
} catch ( Exception $e ) {
From 206cb3bc8edf1192cf29f8c8efa4f0ca1dfe39c1 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Mon, 23 Sep 2024 09:04:11 +0300
Subject: [PATCH 20/25] Adding recent composer lock file.
---
composer.lock | 1187 +++++++++++++++++++++++++++----------------------
1 file changed, 646 insertions(+), 541 deletions(-)
diff --git a/composer.lock b/composer.lock
index 5a2d1199..8fdd4f7f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -53,25 +53,25 @@
},
{
"name": "bramus/monolog-colored-line-formatter",
- "version": "3.0.6",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/bramus/monolog-colored-line-formatter.git",
- "reference": "708891d34cb431d9ed56da91a53ecc2d8afdc24e"
+ "reference": "cd1ada798fec11a5862cb67944c651b6a8e04911"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bramus/monolog-colored-line-formatter/zipball/708891d34cb431d9ed56da91a53ecc2d8afdc24e",
- "reference": "708891d34cb431d9ed56da91a53ecc2d8afdc24e",
+ "url": "https://api.github.com/repos/bramus/monolog-colored-line-formatter/zipball/cd1ada798fec11a5862cb67944c651b6a8e04911",
+ "reference": "cd1ada798fec11a5862cb67944c651b6a8e04911",
"shasum": ""
},
"require": {
"bramus/ansi-php": "^3.0.3",
- "php": "^7.2|^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "monolog/monolog": "~2.0",
- "phpunit/phpunit": "~7.0|^9.4"
+ "monolog/monolog": "~3.0",
+ "phpunit/phpunit": "~9.6"
},
"type": "library",
"autoload": {
@@ -93,9 +93,15 @@
"description": "Colored Line Formatter for Monolog",
"support": {
"issues": "https://github.com/bramus/monolog-colored-line-formatter/issues",
- "source": "https://github.com/bramus/monolog-colored-line-formatter/tree/3.0.6"
+ "source": "https://github.com/bramus/monolog-colored-line-formatter/tree/3.1.0"
},
- "time": "2021-12-05T09:10:49+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/bramus",
+ "type": "github"
+ }
+ ],
+ "time": "2023-03-29T13:28:41+00:00"
},
{
"name": "czproject/git-php",
@@ -229,30 +235,30 @@
},
{
"name": "doctrine/instantiator",
- "version": "1.5.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^11",
+ "doctrine/coding-standard": "^11",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.16 || ^1",
- "phpstan/phpstan": "^1.4",
- "phpstan/phpstan-phpunit": "^1",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "vimeo/psalm": "^4.30 || ^5.4"
+ "phpbench/phpbench": "^1.2",
+ "phpstan/phpstan": "^1.9.4",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpunit/phpunit": "^9.5.27",
+ "vimeo/psalm": "^5.4"
},
"type": "library",
"autoload": {
@@ -279,7 +285,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
+ "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
},
"funding": [
{
@@ -295,20 +301,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-30T00:15:36+00:00"
+ "time": "2022-12-30T00:23:10+00:00"
},
{
"name": "monolog/monolog",
- "version": "2.9.1",
+ "version": "2.9.3",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1"
+ "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1",
- "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215",
+ "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215",
"shasum": ""
},
"require": {
@@ -329,8 +335,8 @@
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"phpspec/prophecy": "^1.15",
- "phpstan/phpstan": "^0.12.91",
- "phpunit/phpunit": "^8.5.14",
+ "phpstan/phpstan": "^1.10",
+ "phpunit/phpunit": "^8.5.38 || ^9.6.19",
"predis/predis": "^1.1 || ^2.0",
"rollbar/rollbar": "^1.3 || ^2 || ^3",
"ruflin/elastica": "^7",
@@ -385,7 +391,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.9.1"
+ "source": "https://github.com/Seldaek/monolog/tree/2.9.3"
},
"funding": [
{
@@ -397,20 +403,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-06T13:44:46+00:00"
+ "time": "2024-04-12T20:52:51+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.11.1",
+ "version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+ "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
"shasum": ""
},
"require": {
@@ -418,11 +424,12 @@
},
"conflict": {
"doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ "doctrine/common": "<2.13.3 || >=3 <3.2.2"
},
"require-dev": {
"doctrine/collections": "^1.6.8",
"doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
@@ -448,7 +455,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
},
"funding": [
{
@@ -456,29 +463,31 @@
"type": "tidelift"
}
],
- "time": "2023-03-08T13:26:56+00:00"
+ "time": "2024-06-12T14:39:25+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.15.4",
+ "version": "v5.2.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ "reference": "23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb",
+ "reference": "23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^9.0"
},
"bin": [
"bin/php-parse"
@@ -486,7 +495,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.9-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -510,26 +519,27 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.2.0"
},
- "time": "2023-03-05T19:49:14+00:00"
+ "time": "2024-09-15T16:40:33+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@@ -570,9 +580,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
- "time": "2021-07-20T11:28:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@@ -627,16 +643,16 @@
},
{
"name": "php-parallel-lint/php-parallel-lint",
- "version": "v1.3.2",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
- "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de"
+ "reference": "6db563514f27e19595a19f45a4bf757b6401194e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6483c9832e71973ed29cf71bd6b3f4fde438a9de",
- "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de",
+ "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6db563514f27e19595a19f45a4bf757b6401194e",
+ "reference": "6db563514f27e19595a19f45a4bf757b6401194e",
"shasum": ""
},
"require": {
@@ -674,13 +690,17 @@
"email": "ahoj@jakubonderka.cz"
}
],
- "description": "This tool check syntax of PHP files about 20x faster than serial check.",
+ "description": "This tool checks the syntax of PHP files about 20x faster than serial check.",
"homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint",
+ "keywords": [
+ "lint",
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues",
- "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.2"
+ "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.4.0"
},
- "time": "2022-02-21T12:50:22+00:00"
+ "time": "2024-03-27T12:14:49+00:00"
},
{
"name": "phpcompatibility/php-compatibility",
@@ -746,29 +766,29 @@
},
{
"name": "phpcsstandards/phpcsextra",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHPCSExtra.git",
- "reference": "78b2cae1e9de1c05f0416de6f9a658cbb83ac324"
+ "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/78b2cae1e9de1c05f0416de6f9a658cbb83ac324",
- "reference": "78b2cae1e9de1c05f0416de6f9a658cbb83ac324",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/11d387c6642b6e4acaf0bd9bf5203b8cca1ec489",
+ "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489",
"shasum": ""
},
"require": {
"php": ">=5.4",
- "phpcsstandards/phpcsutils": "^1.0.8",
- "squizlabs/php_codesniffer": "^3.7.1"
+ "phpcsstandards/phpcsutils": "^1.0.9",
+ "squizlabs/php_codesniffer": "^3.8.0"
},
"require-dev": {
"php-parallel-lint/php-console-highlighter": "^1.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcsstandards/phpcsdevcs": "^1.1.6",
"phpcsstandards/phpcsdevtools": "^1.2.1",
- "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
},
"type": "phpcodesniffer-standard",
"extra": {
@@ -820,33 +840,33 @@
"type": "open_collective"
}
],
- "time": "2023-12-02T14:30:12+00:00"
+ "time": "2023-12-08T16:49:07+00:00"
},
{
"name": "phpcsstandards/phpcsutils",
- "version": "1.0.8",
+ "version": "1.0.12",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHPCSUtils.git",
- "reference": "69465cab9d12454e5e7767b9041af0cd8cd13be7"
+ "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/69465cab9d12454e5e7767b9041af0cd8cd13be7",
- "reference": "69465cab9d12454e5e7767b9041af0cd8cd13be7",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/87b233b00daf83fb70f40c9a28692be017ea7c6c",
+ "reference": "87b233b00daf83fb70f40c9a28692be017ea7c6c",
"shasum": ""
},
"require": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0",
"php": ">=5.4",
- "squizlabs/php_codesniffer": "^3.7.1 || 4.0.x-dev@dev"
+ "squizlabs/php_codesniffer": "^3.10.0 || 4.0.x-dev@dev"
},
"require-dev": {
"ext-filter": "*",
"php-parallel-lint/php-console-highlighter": "^1.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcsstandards/phpcsdevcs": "^1.1.6",
- "yoast/phpunit-polyfills": "^1.0.5 || ^2.0.0"
+ "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0"
},
"type": "phpcodesniffer-standard",
"extra": {
@@ -891,41 +911,56 @@
"support": {
"docs": "https://phpcsutils.com/",
"issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues",
+ "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy",
"source": "https://github.com/PHPCSStandards/PHPCSUtils"
},
- "time": "2023-07-16T21:39:41+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2024-05-20T13:34:27+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.26",
+ "version": "9.2.32",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
- "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5",
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^4.19.1 || ^5.1.0",
"php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
- "theseer/tokenizer": "^1.2.0"
+ "phpunit/php-file-iterator": "^3.0.6",
+ "phpunit/php-text-template": "^2.0.4",
+ "sebastian/code-unit-reverse-lookup": "^2.0.3",
+ "sebastian/complexity": "^2.0.3",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/lines-of-code": "^1.0.4",
+ "sebastian/version": "^3.0.2",
+ "theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.6"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -934,7 +969,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-main": "9.2.x-dev"
}
},
"autoload": {
@@ -962,7 +997,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32"
},
"funding": [
{
@@ -970,7 +1006,7 @@
"type": "github"
}
],
- "time": "2023-03-06T12:58:08+00:00"
+ "time": "2024-08-22T04:23:01+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -1215,45 +1251,45 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.6",
+ "version": "9.6.21",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115"
+ "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b65d59a059d3004a040c16a82e07bbdf6cfdd115",
- "reference": "b65d59a059d3004a040c16a82e07bbdf6cfdd115",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa",
+ "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1 || ^2",
+ "doctrine/instantiator": "^1.5.0 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
+ "myclabs/deep-copy": "^1.12.0",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
"php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.13",
- "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-code-coverage": "^9.2.32",
+ "phpunit/php-file-iterator": "^3.0.6",
"phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
+ "phpunit/php-text-template": "^2.0.4",
+ "phpunit/php-timer": "^5.0.3",
+ "sebastian/cli-parser": "^1.0.2",
+ "sebastian/code-unit": "^1.0.8",
"sebastian/comparator": "^4.0.8",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.5",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.2",
+ "sebastian/diff": "^4.0.6",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/exporter": "^4.0.6",
+ "sebastian/global-state": "^5.0.7",
+ "sebastian/object-enumerator": "^4.0.4",
+ "sebastian/resource-operations": "^3.0.4",
+ "sebastian/type": "^3.2.1",
"sebastian/version": "^3.0.2"
},
"suggest": {
@@ -1298,7 +1334,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.6"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.21"
},
"funding": [
{
@@ -1314,26 +1350,31 @@
"type": "tidelift"
}
],
- "time": "2023-03-27T11:43:46+00:00"
+ "time": "2024-09-19T10:50:18+00:00"
},
{
"name": "psr/container",
- "version": "1.1.2",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -1360,9 +1401,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -1416,30 +1457,30 @@
},
{
"name": "psr/log",
- "version": "1.1.4",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1460,22 +1501,22 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.4"
+ "source": "https://github.com/php-fig/log/tree/2.0.0"
},
- "time": "2021-05-03T11:20:27+00:00"
+ "time": "2021-07-14T16:41:46+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"shasum": ""
},
"require": {
@@ -1510,7 +1551,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
},
"funding": [
{
@@ -1518,7 +1559,7 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2024-03-02T06:27:43+00:00"
},
{
"name": "sebastian/code-unit",
@@ -1707,20 +1748,20 @@
},
{
"name": "sebastian/complexity",
- "version": "2.0.2",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3"
},
"require-dev": {
@@ -1752,7 +1793,7 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
},
"funding": [
{
@@ -1760,20 +1801,20 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2023-12-22T06:19:30+00:00"
},
{
"name": "sebastian/diff",
- "version": "4.0.4",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
"shasum": ""
},
"require": {
@@ -1818,7 +1859,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
},
"funding": [
{
@@ -1826,7 +1867,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2024-03-02T06:30:58+00:00"
},
{
"name": "sebastian/environment",
@@ -1893,16 +1934,16 @@
},
{
"name": "sebastian/exporter",
- "version": "4.0.5",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
"shasum": ""
},
"require": {
@@ -1958,7 +1999,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
},
"funding": [
{
@@ -1966,20 +2007,20 @@
"type": "github"
}
],
- "time": "2022-09-14T06:03:37+00:00"
+ "time": "2024-03-02T06:33:00+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.5",
+ "version": "5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"shasum": ""
},
"require": {
@@ -2022,7 +2063,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
},
"funding": [
{
@@ -2030,24 +2071,24 @@
"type": "github"
}
],
- "time": "2022-02-14T08:28:10+00:00"
+ "time": "2024-03-02T06:35:11+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3"
},
"require-dev": {
@@ -2079,7 +2120,7 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
},
"funding": [
{
@@ -2087,7 +2128,7 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2023-12-22T06:20:34+00:00"
},
{
"name": "sebastian/object-enumerator",
@@ -2266,16 +2307,16 @@
},
{
"name": "sebastian/resource-operations",
- "version": "3.0.3",
+ "version": "3.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
"shasum": ""
},
"require": {
@@ -2287,7 +2328,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2308,8 +2349,7 @@
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
},
"funding": [
{
@@ -2317,7 +2357,7 @@
"type": "github"
}
],
- "time": "2020-09-28T06:45:17+00:00"
+ "time": "2024-03-14T16:00:52+00:00"
},
{
"name": "sebastian/type",
@@ -2430,16 +2470,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.7.2",
+ "version": "3.10.3",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879"
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "62d32998e820bddc40f99f8251958aed187a5c9c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879",
- "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/62d32998e820bddc40f99f8251958aed187a5c9c",
+ "reference": "62d32998e820bddc40f99f8251958aed187a5c9c",
"shasum": ""
},
"require": {
@@ -2449,11 +2489,11 @@
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
},
"bin": [
- "bin/phpcs",
- "bin/phpcbf"
+ "bin/phpcbf",
+ "bin/phpcs"
],
"type": "library",
"extra": {
@@ -2468,57 +2508,76 @@
"authors": [
{
"name": "Greg Sherwood",
- "role": "lead"
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
}
],
"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",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
"phpcs",
"standards",
"static analysis"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
},
- "time": "2023-02-22T23:07:41+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2024-09-18T10:38:58+00:00"
},
{
"name": "symfony/config",
- "version": "v5.4.21",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4"
+ "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/2a6b1111d038adfa15d52c0871e540f3b352d1e4",
- "reference": "2a6b1111d038adfa15d52c0871e540f3b352d1e4",
+ "url": "https://api.github.com/repos/symfony/config/zipball/2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2",
+ "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22"
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/filesystem": "^7.1",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<4.4"
+ "symfony/finder": "<6.4",
+ "symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2546,7 +2605,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.21"
+ "source": "https://github.com/symfony/config/tree/v7.1.1"
},
"funding": [
{
@@ -2562,20 +2621,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.22",
+ "version": "v5.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8"
+ "reference": "5b5a0aa66e3296e303e22490f90f521551835a83"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/3cd51fd2e6c461ca678f84d419461281bd87a0a8",
- "reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8",
+ "url": "https://api.github.com/repos/symfony/console/zipball/5b5a0aa66e3296e303e22490f90f521551835a83",
+ "reference": "5b5a0aa66e3296e303e22490f90f521551835a83",
"shasum": ""
},
"require": {
@@ -2645,7 +2704,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.22"
+ "source": "https://github.com/symfony/console/tree/v5.4.44"
},
"funding": [
{
@@ -2661,52 +2720,43 @@
"type": "tidelift"
}
],
- "time": "2023-03-25T09:27:28+00:00"
+ "time": "2024-09-20T07:56:40+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.22",
+ "version": "v7.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9"
+ "reference": "38465f925ec4e0707b090e9147c65869837d639d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e1b7c1432efb4ad1dd89d62906187271e2601ed9",
- "reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/38465f925ec4e0707b090e9147c65869837d639d",
+ "reference": "38465f925ec4e0707b090e9147c65869837d639d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1.1",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/service-contracts": "^1.1.6|^2"
+ "php": ">=8.2",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^3.5",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"conflict": {
"ext-psr": "<1.1|>=2",
- "symfony/config": "<5.3",
- "symfony/finder": "<4.4",
- "symfony/proxy-manager-bridge": "<4.4",
- "symfony/yaml": "<4.4.26"
+ "symfony/config": "<6.4",
+ "symfony/finder": "<6.4",
+ "symfony/yaml": "<6.4"
},
"provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0|2.0"
+ "psr/container-implementation": "1.1|2.0",
+ "symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4.26|^5.0|^6.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": ""
+ "symfony/config": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2734,7 +2784,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.22"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.1.5"
},
"funding": [
{
@@ -2750,29 +2800,29 @@
"type": "tidelift"
}
],
- "time": "2023-03-10T10:02:45+00:00"
+ "time": "2024-09-20T08:28:38+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
+ "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -2801,7 +2851,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -2817,31 +2867,35 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v5.4.21",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549"
+ "reference": "432bb369952795c61ca1def65e078c4a80dad13c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/56a94aa8cb5a5fbc411551d8d014a296b5456549",
- "reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c",
+ "reference": "432bb369952795c61ca1def65e078c4a80dad13c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/var-dumper": "^6.4|^7.0"
+ },
+ "conflict": {
+ "symfony/deprecation-contracts": "<2.5",
+ "symfony/http-kernel": "<6.4"
},
"require-dev": {
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -2872,7 +2926,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.4.21"
+ "source": "https://github.com/symfony/error-handler/tree/v7.1.3"
},
"funding": [
{
@@ -2888,20 +2942,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2024-07-26T13:02:51+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.22",
+ "version": "v5.4.40",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f"
+ "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1df20e45d56da29a4b1d8259dd6e950acbf1b13f",
- "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4",
+ "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4",
"shasum": ""
},
"require": {
@@ -2957,7 +3011,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.22"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40"
},
"funding": [
{
@@ -2973,33 +3027,30 @@
"type": "tidelift"
}
],
- "time": "2023-03-17T11:31:58+00:00"
+ "time": "2024-05-31T14:33:22+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.5.2",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1"
+ "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1",
- "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
+ "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/event-dispatcher": "^1"
},
- "suggest": {
- "symfony/event-dispatcher-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3036,7 +3087,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -3052,27 +3103,29 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.4.21",
+ "version": "v7.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
+ "reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
- "reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/61fe0566189bf32e8cfee78335d8776f64a66f5a",
+ "reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.8"
+ },
+ "require-dev": {
+ "symfony/process": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3100,7 +3153,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.21"
+ "source": "https://github.com/symfony/filesystem/tree/v7.1.5"
},
"funding": [
{
@@ -3116,39 +3169,40 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2024-09-17T09:16:35+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.22",
+ "version": "v7.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313"
+ "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/05cd1acdd0e3ce8473aaba1d86c188321d85f313",
- "reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e30ef73b1e44eea7eb37ba69600a354e553f694b",
+ "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-php83": "^1.27"
},
- "require-dev": {
- "predis/predis": "~1.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0"
+ "conflict": {
+ "doctrine/dbal": "<3.6",
+ "symfony/cache": "<6.4"
},
- "suggest": {
- "symfony/mime": "To use the file extension guesser"
+ "require-dev": {
+ "doctrine/dbal": "^3.6|^4",
+ "predis/predis": "^1.1|^2.0",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3176,7 +3230,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.22"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.1.5"
},
"funding": [
{
@@ -3192,76 +3246,78 @@
"type": "tidelift"
}
],
- "time": "2023-03-28T07:28:17+00:00"
+ "time": "2024-09-20T08:28:38+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.4.22",
+ "version": "v6.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "2d3a8be2c756353627398827c409af6f126c096d"
+ "reference": "96df83d51b5f78804f70c093b97310794fd6257b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2d3a8be2c756353627398827c409af6f126c096d",
- "reference": "2d3a8be2c756353627398827c409af6f126c096d",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b",
+ "reference": "96df83d51b5f78804f70c093b97310794fd6257b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/log": "^1|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^5.0|^6.0",
- "symfony/http-foundation": "^5.4.21|^6.2.7",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "psr/log": "^1|^2|^3",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.0",
- "symfony/config": "<5.0",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.3",
- "symfony/doctrine-bridge": "<5.0",
- "symfony/form": "<5.0",
- "symfony/http-client": "<5.0",
- "symfony/mailer": "<5.0",
- "symfony/messenger": "<5.0",
- "symfony/translation": "<5.0",
- "symfony/twig-bridge": "<5.0",
- "symfony/validator": "<5.0",
+ "symfony/cache": "<5.4",
+ "symfony/config": "<6.1",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/translation-contracts": "<2.5",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/validator": "<6.4",
+ "symfony/var-dumper": "<6.3",
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^5.4|^6.0",
- "symfony/config": "^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client-contracts": "^1.1|^2|^3",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2|^3",
+ "symfony/browser-kit": "^5.4|^6.0|^7.0",
+ "symfony/clock": "^6.2|^7.0",
+ "symfony/config": "^6.1|^7.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/css-selector": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/dom-crawler": "^5.4|^6.0|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/http-client-contracts": "^2.5|^3",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "symfony/property-access": "^5.4.5|^6.0.5|^7.0",
+ "symfony/routing": "^5.4|^6.0|^7.0",
+ "symfony/serializer": "^6.4.4|^7.0.4",
+ "symfony/stopwatch": "^5.4|^6.0|^7.0",
+ "symfony/translation": "^5.4|^6.0|^7.0",
+ "symfony/translation-contracts": "^2.5|^3",
+ "symfony/uid": "^5.4|^6.0|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-dumper": "^5.4|^6.4|^7.0",
+ "symfony/var-exporter": "^6.2|^7.0",
"twig/twig": "^2.13|^3.0.4"
},
- "suggest": {
- "symfony/browser-kit": "",
- "symfony/config": "",
- "symfony/console": "",
- "symfony/dependency-injection": ""
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -3288,7 +3344,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.4.22"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.4.12"
},
"funding": [
{
@@ -3304,47 +3360,42 @@
"type": "tidelift"
}
],
- "time": "2023-03-31T11:54:37+00:00"
+ "time": "2024-09-21T06:02:57+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v5.4.22",
+ "version": "v6.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "34be6f0695e4187dbb832a05905fb4c6581ac39a"
+ "reference": "0fbee64913b1c595e7650a1919ba3edba8d49ea7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/34be6f0695e4187dbb832a05905fb4c6581ac39a",
- "reference": "34be6f0695e4187dbb832a05905fb4c6581ac39a",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/0fbee64913b1c595e7650a1919ba3edba8d49ea7",
+ "reference": "0fbee64913b1c595e7650a1919ba3edba8d49ea7",
"shasum": ""
},
"require": {
- "monolog/monolog": "^1.25.1|^2",
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "monolog/monolog": "^1.25.1|^2|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/console": "<4.4",
- "symfony/http-foundation": "<5.3"
+ "symfony/console": "<5.4",
+ "symfony/http-foundation": "<5.4",
+ "symfony/security-core": "<5.4"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/mailer": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.",
- "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.",
- "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler."
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/http-client": "^5.4|^6.0|^7.0",
+ "symfony/mailer": "^5.4|^6.0|^7.0",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/mime": "^5.4|^6.0|^7.0",
+ "symfony/security-core": "^5.4|^6.0|^7.0",
+ "symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"type": "symfony-bridge",
"autoload": {
@@ -3372,7 +3423,7 @@
"description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.22"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v6.4.8"
},
"funding": [
{
@@ -3388,34 +3439,34 @@
"type": "tidelift"
}
],
- "time": "2023-03-06T21:29:33+00:00"
+ "time": "2024-05-31T14:49:08+00:00"
},
{
"name": "symfony/monolog-bundle",
- "version": "v3.8.0",
+ "version": "v3.10.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d"
+ "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d",
- "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
+ "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
"shasum": ""
},
"require": {
- "monolog/monolog": "^1.22 || ^2.0 || ^3.0",
- "php": ">=7.1.3",
- "symfony/config": "~4.4 || ^5.0 || ^6.0",
- "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
- "symfony/http-kernel": "~4.4 || ^5.0 || ^6.0",
- "symfony/monolog-bridge": "~4.4 || ^5.0 || ^6.0"
+ "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0",
+ "php": ">=7.2.5",
+ "symfony/config": "^5.4 || ^6.0 || ^7.0",
+ "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
+ "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
+ "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
- "symfony/console": "~4.4 || ^5.0 || ^6.0",
- "symfony/phpunit-bridge": "^5.2 || ^6.0",
- "symfony/yaml": "~4.4 || ^5.0 || ^6.0"
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/phpunit-bridge": "^6.3 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
},
"type": "symfony-bundle",
"extra": {
@@ -3453,7 +3504,7 @@
],
"support": {
"issues": "https://github.com/symfony/monolog-bundle/issues",
- "source": "https://github.com/symfony/monolog-bundle/tree/v3.8.0"
+ "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0"
},
"funding": [
{
@@ -3469,24 +3520,24 @@
"type": "tidelift"
}
],
- "time": "2022-05-10T14:24:36+00:00"
+ "time": "2023-11-06T17:08:13+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
@@ -3496,9 +3547,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3535,7 +3583,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
},
"funding": [
{
@@ -3551,33 +3599,30 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3616,7 +3661,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
},
"funding": [
{
@@ -3632,33 +3677,30 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3700,7 +3742,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
},
"funding": [
{
@@ -3716,24 +3758,24 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@@ -3743,9 +3785,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3783,7 +3822,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
},
"funding": [
{
@@ -3799,30 +3838,27 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
- "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
+ "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3862,7 +3898,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
},
"funding": [
{
@@ -3878,30 +3914,27 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3945,7 +3978,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
@@ -3961,30 +3994,27 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
- "name": "symfony/polyfill-php81",
- "version": "v1.27.0",
+ "name": "symfony/polyfill-php83",
+ "version": "v1.31.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a",
- "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491",
+ "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3995,7 +4025,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php81\\": ""
+ "Symfony\\Polyfill\\Php83\\": ""
},
"classmap": [
"Resources/stubs"
@@ -4015,7 +4045,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -4024,7 +4054,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0"
},
"funding": [
{
@@ -4040,37 +4070,34 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.2",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
+ "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
- "suggest": {
- "symfony/service-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4080,7 +4107,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4107,7 +4137,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -4123,38 +4153,38 @@
"type": "tidelift"
}
],
- "time": "2022-05-30T19:17:29+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.22",
+ "version": "v6.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
+ "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
- "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b",
+ "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/error-handler": "^5.4|^6.0|^7.0",
+ "symfony/http-client": "^5.4|^6.0|^7.0",
+ "symfony/intl": "^6.2|^7.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -4193,7 +4223,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.22"
+ "source": "https://github.com/symfony/string/tree/v6.4.12"
},
"funding": [
{
@@ -4209,43 +4239,39 @@
"type": "tidelift"
}
],
- "time": "2023-03-14T06:11:53+00:00"
+ "time": "2024-09-20T08:15:52+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.4.22",
+ "version": "v6.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4"
+ "reference": "ee14c8254a480913268b1e3b1cba8045ed122694"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
- "reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694",
+ "reference": "ee14c8254a480913268b1e3b1cba8045ed122694",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "phpunit/phpunit": "<5.4.3",
- "symfony/console": "<4.4"
+ "symfony/console": "<5.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/error-handler": "^6.3|^7.0",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "symfony/uid": "^5.4|^6.0|^7.0",
"twig/twig": "^2.13|^3.0.4"
},
- "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"
],
@@ -4282,7 +4308,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.22"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.4.11"
},
"funding": [
{
@@ -4298,20 +4324,96 @@
"type": "tidelift"
}
],
- "time": "2023-03-25T09:27:28+00:00"
+ "time": "2024-08-30T16:03:21+00:00"
+ },
+ {
+ "name": "symfony/var-exporter",
+ "version": "v7.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-exporter.git",
+ "reference": "b80a669a2264609f07f1667f891dbfca25eba44c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c",
+ "reference": "b80a669a2264609f07f1667f891dbfca25eba44c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\VarExporter\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Allows exporting any serializable PHP data structure to plain PHP code",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clone",
+ "construct",
+ "export",
+ "hydrate",
+ "instantiate",
+ "lazy-loading",
+ "proxy",
+ "serialize"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-exporter/tree/v7.1.2"
+ },
+ "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": "2024-06-28T08:00:31+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@@ -4340,7 +4442,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@@ -4348,7 +4450,7 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2024-03-03T12:36:25+00:00"
},
{
"name": "woocommerce/woorelease",
@@ -4403,16 +4505,16 @@
},
{
"name": "wp-coding-standards/wpcs",
- "version": "3.0.1",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
- "reference": "b4caf9689f1a0e4a4c632679a44e638c1c67aff1"
+ "reference": "9333efcbff231f10dfd9c56bb7b65818b4733ca7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/b4caf9689f1a0e4a4c632679a44e638c1c67aff1",
- "reference": "b4caf9689f1a0e4a4c632679a44e638c1c67aff1",
+ "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/9333efcbff231f10dfd9c56bb7b65818b4733ca7",
+ "reference": "9333efcbff231f10dfd9c56bb7b65818b4733ca7",
"shasum": ""
},
"require": {
@@ -4421,16 +4523,16 @@
"ext-tokenizer": "*",
"ext-xmlreader": "*",
"php": ">=5.4",
- "phpcsstandards/phpcsextra": "^1.1.0",
- "phpcsstandards/phpcsutils": "^1.0.8",
- "squizlabs/php_codesniffer": "^3.7.2"
+ "phpcsstandards/phpcsextra": "^1.2.1",
+ "phpcsstandards/phpcsutils": "^1.0.10",
+ "squizlabs/php_codesniffer": "^3.9.0"
},
"require-dev": {
"php-parallel-lint/php-console-highlighter": "^1.0.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcompatibility/php-compatibility": "^9.0",
"phpcsstandards/phpcsdevtools": "^1.2.0",
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
},
"suggest": {
"ext-iconv": "For improved results",
@@ -4461,24 +4563,24 @@
},
"funding": [
{
- "url": "https://opencollective.com/thewpcc/contribute/wp-php-63406",
+ "url": "https://opencollective.com/php_codesniffer",
"type": "custom"
}
],
- "time": "2023-09-14T07:06:09+00:00"
+ "time": "2024-03-25T16:39:00+00:00"
},
{
"name": "yoast/phpunit-polyfills",
- "version": "1.0.5",
+ "version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/Yoast/PHPUnit-Polyfills.git",
- "reference": "3b59adeef77fb1c03ff5381dbb9d68b0aaff3171"
+ "reference": "e9c8413de4c8ae03d2923a44f17d0d7dad1b96be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/3b59adeef77fb1c03ff5381dbb9d68b0aaff3171",
- "reference": "3b59adeef77fb1c03ff5381dbb9d68b0aaff3171",
+ "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/e9c8413de4c8ae03d2923a44f17d0d7dad1b96be",
+ "reference": "e9c8413de4c8ae03d2923a44f17d0d7dad1b96be",
"shasum": ""
},
"require": {
@@ -4486,12 +4588,14 @@
"phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
},
"require-dev": {
- "yoast/yoastcs": "^2.3.0"
+ "php-parallel-lint/php-console-highlighter": "^1.0.0",
+ "php-parallel-lint/php-parallel-lint": "^1.4.0",
+ "yoast/yoastcs": "^3.1.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.x-dev"
+ "dev-main": "3.x-dev"
}
},
"autoload": {
@@ -4523,9 +4627,10 @@
],
"support": {
"issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues",
+ "security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy",
"source": "https://github.com/Yoast/PHPUnit-Polyfills"
},
- "time": "2023-03-30T23:39:05+00:00"
+ "time": "2024-09-06T22:03:10+00:00"
}
],
"aliases": [],
From 3d008ba3b96f1f84e1b357f231340ac568f55c51 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Mon, 23 Sep 2024 10:39:51 +0300
Subject: [PATCH 21/25] Adding composer lock file ran with php 7.4
---
composer.lock | 617 ++++++++++++++++++++++----------------------------
1 file changed, 275 insertions(+), 342 deletions(-)
diff --git a/composer.lock b/composer.lock
index 8fdd4f7f..b5cbe28d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -53,25 +53,25 @@
},
{
"name": "bramus/monolog-colored-line-formatter",
- "version": "3.1.0",
+ "version": "3.0.6",
"source": {
"type": "git",
"url": "https://github.com/bramus/monolog-colored-line-formatter.git",
- "reference": "cd1ada798fec11a5862cb67944c651b6a8e04911"
+ "reference": "708891d34cb431d9ed56da91a53ecc2d8afdc24e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bramus/monolog-colored-line-formatter/zipball/cd1ada798fec11a5862cb67944c651b6a8e04911",
- "reference": "cd1ada798fec11a5862cb67944c651b6a8e04911",
+ "url": "https://api.github.com/repos/bramus/monolog-colored-line-formatter/zipball/708891d34cb431d9ed56da91a53ecc2d8afdc24e",
+ "reference": "708891d34cb431d9ed56da91a53ecc2d8afdc24e",
"shasum": ""
},
"require": {
"bramus/ansi-php": "^3.0.3",
- "php": "^8.1"
+ "php": "^7.2|^8.0"
},
"require-dev": {
- "monolog/monolog": "~3.0",
- "phpunit/phpunit": "~9.6"
+ "monolog/monolog": "~2.0",
+ "phpunit/phpunit": "~7.0|^9.4"
},
"type": "library",
"autoload": {
@@ -93,15 +93,9 @@
"description": "Colored Line Formatter for Monolog",
"support": {
"issues": "https://github.com/bramus/monolog-colored-line-formatter/issues",
- "source": "https://github.com/bramus/monolog-colored-line-formatter/tree/3.1.0"
+ "source": "https://github.com/bramus/monolog-colored-line-formatter/tree/3.0.6"
},
- "funding": [
- {
- "url": "https://github.com/bramus",
- "type": "github"
- }
- ],
- "time": "2023-03-29T13:28:41+00:00"
+ "time": "2021-12-05T09:10:49+00:00"
},
{
"name": "czproject/git-php",
@@ -235,30 +229,30 @@
},
{
"name": "doctrine/instantiator",
- "version": "2.0.0",
+ "version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+ "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
"shasum": ""
},
"require": {
- "php": "^8.1"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^11",
+ "doctrine/coding-standard": "^9 || ^11",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.30 || ^5.4"
},
"type": "library",
"autoload": {
@@ -285,7 +279,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
},
"funding": [
{
@@ -301,7 +295,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-30T00:23:10+00:00"
+ "time": "2022-12-30T00:15:36+00:00"
},
{
"name": "monolog/monolog",
@@ -1354,27 +1348,22 @@
},
{
"name": "psr/container",
- "version": "2.0.2",
+ "version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
- "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -1401,9 +1390,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/2.0.2"
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
},
- "time": "2021-11-05T16:47:00+00:00"
+ "time": "2021-11-05T16:50:12+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -1457,30 +1446,30 @@
},
{
"name": "psr/log",
- "version": "2.0.0",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
- "php": ">=8.0.0"
+ "php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "src"
+ "Psr\\Log\\": "Psr/Log/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1501,9 +1490,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/2.0.0"
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
},
- "time": "2021-07-14T16:41:46+00:00"
+ "time": "2021-05-03T11:20:27+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -2550,34 +2539,38 @@
},
{
"name": "symfony/config",
- "version": "v7.1.1",
+ "version": "v5.4.40",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2"
+ "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2",
- "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2",
+ "url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e",
+ "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/filesystem": "^7.1",
- "symfony/polyfill-ctype": "~1.8"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.22"
},
"conflict": {
- "symfony/finder": "<6.4",
- "symfony/service-contracts": "<2.5"
+ "symfony/finder": "<4.4"
},
"require-dev": {
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/messenger": "^4.4|^5.0|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
},
"type": "library",
"autoload": {
@@ -2605,7 +2598,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v7.1.1"
+ "source": "https://github.com/symfony/config/tree/v5.4.40"
},
"funding": [
{
@@ -2621,7 +2614,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2024-05-31T14:33:22+00:00"
},
{
"name": "symfony/console",
@@ -2724,39 +2717,48 @@
},
{
"name": "symfony/dependency-injection",
- "version": "v7.1.5",
+ "version": "v5.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "38465f925ec4e0707b090e9147c65869837d639d"
+ "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/38465f925ec4e0707b090e9147c65869837d639d",
- "reference": "38465f925ec4e0707b090e9147c65869837d639d",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/23eb9f3803a931aef16a65f362a9aeb0640a1374",
+ "reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "psr/container": "^1.1|^2.0",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/service-contracts": "^3.5",
- "symfony/var-exporter": "^6.4|^7.0"
+ "php": ">=7.2.5",
+ "psr/container": "^1.1.1",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.22",
+ "symfony/service-contracts": "^1.1.6|^2"
},
"conflict": {
"ext-psr": "<1.1|>=2",
- "symfony/config": "<6.4",
- "symfony/finder": "<6.4",
- "symfony/yaml": "<6.4"
+ "symfony/config": "<5.3",
+ "symfony/finder": "<4.4",
+ "symfony/proxy-manager-bridge": "<4.4",
+ "symfony/yaml": "<4.4.26"
},
"provide": {
- "psr/container-implementation": "1.1|2.0",
- "symfony/service-implementation": "1.1|2.0|3.0"
+ "psr/container-implementation": "1.0",
+ "symfony/service-implementation": "1.0|2.0"
},
"require-dev": {
- "symfony/config": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/config": "^5.3|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4.26|^5.0|^6.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",
"autoload": {
@@ -2784,7 +2786,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v7.1.5"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.44"
},
"funding": [
{
@@ -2800,29 +2802,29 @@
"type": "tidelift"
}
],
- "time": "2024-09-20T08:28:38+00:00"
+ "time": "2024-09-12T20:01:35+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.5.0",
+ "version": "v2.5.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
+ "reference": "80d075412b557d41002320b96a096ca65aa2c98d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
- "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d",
+ "reference": "80d075412b557d41002320b96a096ca65aa2c98d",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -2851,7 +2853,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3"
},
"funding": [
{
@@ -2867,35 +2869,31 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2023-01-24T14:02:46+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v7.1.3",
+ "version": "v5.4.42",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "432bb369952795c61ca1def65e078c4a80dad13c"
+ "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c",
- "reference": "432bb369952795c61ca1def65e078c4a80dad13c",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/db15ba0fd50890156ed40087ccedc7851a1f5b76",
+ "reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=7.2.5",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^6.4|^7.0"
- },
- "conflict": {
- "symfony/deprecation-contracts": "<2.5",
- "symfony/http-kernel": "<6.4"
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
},
"require-dev": {
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/serializer": "^4.4|^5.0|^6.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -2926,7 +2924,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v7.1.3"
+ "source": "https://github.com/symfony/error-handler/tree/v5.4.42"
},
"funding": [
{
@@ -2942,7 +2940,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-26T13:02:51+00:00"
+ "time": "2024-07-23T12:34:05+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -3031,26 +3029,29 @@
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.5.0",
+ "version": "v2.5.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
+ "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
- "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/540f4c73e87fd0c71ca44a6aa305d024ac68cb73",
+ "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=7.2.5",
"psr/event-dispatcher": "^1"
},
+ "suggest": {
+ "symfony/event-dispatcher-implementation": ""
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3087,7 +3088,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.3"
},
"funding": [
{
@@ -3103,29 +3104,30 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2024-01-23T13:51:25+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.1.5",
+ "version": "v5.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a"
+ "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/61fe0566189bf32e8cfee78335d8776f64a66f5a",
- "reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/76c3818964e9d32be3862c9318ae3ba9aa280ddc",
+ "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=7.2.5",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8"
+ "symfony/polyfill-mbstring": "~1.8",
+ "symfony/polyfill-php80": "^1.16"
},
"require-dev": {
- "symfony/process": "^6.4|^7.0"
+ "symfony/process": "^5.4|^6.4"
},
"type": "library",
"autoload": {
@@ -3153,7 +3155,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.1.5"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.44"
},
"funding": [
{
@@ -3169,40 +3171,39 @@
"type": "tidelift"
}
],
- "time": "2024-09-17T09:16:35+00:00"
+ "time": "2024-09-16T14:52:48+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.1.5",
+ "version": "v5.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b"
+ "reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e30ef73b1e44eea7eb37ba69600a354e553f694b",
- "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ae0d217e5932aa0b70ddb4cf7822cc76d48aee53",
+ "reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php83": "^1.27"
- },
- "conflict": {
- "doctrine/dbal": "<3.6",
- "symfony/cache": "<6.4"
+ "symfony/polyfill-php80": "^1.16"
},
"require-dev": {
- "doctrine/dbal": "^3.6|^4",
- "predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0"
+ "predis/predis": "^1.0|^2.0",
+ "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0"
+ },
+ "suggest": {
+ "symfony/mime": "To use the file extension guesser"
},
"type": "library",
"autoload": {
@@ -3230,7 +3231,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.1.5"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.4.44"
},
"funding": [
{
@@ -3246,78 +3247,77 @@
"type": "tidelift"
}
],
- "time": "2024-09-20T08:28:38+00:00"
+ "time": "2024-09-15T07:55:06+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v6.4.12",
+ "version": "v5.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "96df83d51b5f78804f70c093b97310794fd6257b"
+ "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b",
- "reference": "96df83d51b5f78804f70c093b97310794fd6257b",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/788dcf72d9af7432a886aa3b0c5904d68087ba13",
+ "reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/polyfill-ctype": "^1.8"
+ "php": ">=7.2.5",
+ "psr/log": "^1|^2",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/event-dispatcher": "^5.0|^6.0",
+ "symfony/http-foundation": "^5.4.21|^6.2.7",
+ "symfony/polyfill-ctype": "^1.8",
+ "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.4",
- "symfony/config": "<6.1",
- "symfony/console": "<5.4",
- "symfony/dependency-injection": "<6.4",
- "symfony/doctrine-bridge": "<5.4",
- "symfony/form": "<5.4",
- "symfony/http-client": "<5.4",
- "symfony/http-client-contracts": "<2.5",
- "symfony/mailer": "<5.4",
- "symfony/messenger": "<5.4",
- "symfony/translation": "<5.4",
- "symfony/translation-contracts": "<2.5",
- "symfony/twig-bridge": "<5.4",
- "symfony/validator": "<6.4",
- "symfony/var-dumper": "<6.3",
+ "symfony/cache": "<5.0",
+ "symfony/config": "<5.0",
+ "symfony/console": "<4.4",
+ "symfony/dependency-injection": "<5.3",
+ "symfony/doctrine-bridge": "<5.0",
+ "symfony/form": "<5.0",
+ "symfony/http-client": "<5.0",
+ "symfony/mailer": "<5.0",
+ "symfony/messenger": "<5.0",
+ "symfony/translation": "<5.0",
+ "symfony/twig-bridge": "<5.0",
+ "symfony/validator": "<5.0",
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0|2.0|3.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^5.4|^6.0|^7.0",
- "symfony/clock": "^6.2|^7.0",
- "symfony/config": "^6.1|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/css-selector": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/dom-crawler": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
- "symfony/http-client-contracts": "^2.5|^3",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/property-access": "^5.4.5|^6.0.5|^7.0",
- "symfony/routing": "^5.4|^6.0|^7.0",
- "symfony/serializer": "^6.4.4|^7.0.4",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/translation": "^5.4|^6.0|^7.0",
- "symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^5.4|^6.0|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^5.4|^6.4|^7.0",
- "symfony/var-exporter": "^6.2|^7.0",
+ "symfony/browser-kit": "^5.4|^6.0",
+ "symfony/config": "^5.0|^6.0",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.3|^6.0",
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/translation-contracts": "^1.1|^2|^3",
+ "symfony/var-dumper": "^4.4.31|^5.4",
"twig/twig": "^2.13|^3.0.4"
},
+ "suggest": {
+ "symfony/browser-kit": "",
+ "symfony/config": "",
+ "symfony/console": "",
+ "symfony/dependency-injection": ""
+ },
"type": "library",
"autoload": {
"psr-4": {
@@ -3344,7 +3344,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v6.4.12"
+ "source": "https://github.com/symfony/http-kernel/tree/v5.4.44"
},
"funding": [
{
@@ -3360,42 +3360,47 @@
"type": "tidelift"
}
],
- "time": "2024-09-21T06:02:57+00:00"
+ "time": "2024-09-21T05:47:58+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v6.4.8",
+ "version": "v5.4.40",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "0fbee64913b1c595e7650a1919ba3edba8d49ea7"
+ "reference": "ac6e0bf2a275e017c1dedd54dd0f1fbf252a9351"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/0fbee64913b1c595e7650a1919ba3edba8d49ea7",
- "reference": "0fbee64913b1c595e7650a1919ba3edba8d49ea7",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/ac6e0bf2a275e017c1dedd54dd0f1fbf252a9351",
+ "reference": "ac6e0bf2a275e017c1dedd54dd0f1fbf252a9351",
"shasum": ""
},
"require": {
- "monolog/monolog": "^1.25.1|^2|^3",
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/service-contracts": "^2.5|^3"
+ "monolog/monolog": "^1.25.1|^2",
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
- "symfony/console": "<5.4",
- "symfony/http-foundation": "<5.4",
- "symfony/security-core": "<5.4"
+ "symfony/console": "<4.4",
+ "symfony/http-foundation": "<5.3"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/mailer": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/mime": "^5.4|^6.0|^7.0",
- "symfony/security-core": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/mailer": "^4.4|^5.0|^6.0",
+ "symfony/messenger": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/security-core": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.",
+ "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.",
+ "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler."
},
"type": "symfony-bridge",
"autoload": {
@@ -3423,7 +3428,7 @@
"description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v6.4.8"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.40"
},
"funding": [
{
@@ -3439,7 +3444,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:49:08+00:00"
+ "time": "2024-05-31T14:33:22+00:00"
},
{
"name": "symfony/monolog-bundle",
@@ -3997,17 +4002,17 @@
"time": "2024-09-09T11:45:10+00:00"
},
{
- "name": "symfony/polyfill-php83",
+ "name": "symfony/polyfill-php81",
"version": "v1.31.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491"
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491",
- "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
@@ -4025,7 +4030,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php83\\": ""
+ "Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
@@ -4045,7 +4050,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -4054,7 +4059,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
},
"funding": [
{
@@ -4074,30 +4079,33 @@
},
{
"name": "symfony/service-contracts",
- "version": "v3.5.0",
+ "version": "v2.5.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
+ "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
- "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3",
+ "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "psr/container": "^1.1|^2.0",
- "symfony/deprecation-contracts": "^2.5|^3"
+ "php": ">=7.2.5",
+ "psr/container": "^1.1",
+ "symfony/deprecation-contracts": "^2.1|^3"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
+ "suggest": {
+ "symfony/service-implementation": ""
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4107,10 +4115,7 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4137,7 +4142,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v2.5.3"
},
"funding": [
{
@@ -4153,38 +4158,38 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2023-04-21T15:04:16+00:00"
},
{
"name": "symfony/string",
- "version": "v6.4.12",
+ "version": "v5.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b"
+ "reference": "832caa16b6d9aac6bf11747315225f5aba384c24"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b",
- "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b",
+ "url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24",
+ "reference": "832caa16b6d9aac6bf11747315225f5aba384c24",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=7.2.5",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0"
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "~1.15"
},
"conflict": {
- "symfony/translation-contracts": "<2.5"
+ "symfony/translation-contracts": ">=3.0"
},
"require-dev": {
- "symfony/error-handler": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/intl": "^6.2|^7.0",
- "symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^5.4|^6.0|^7.0"
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/translation-contracts": "^1.1|^2",
+ "symfony/var-exporter": "^4.4|^5.0|^6.0"
},
"type": "library",
"autoload": {
@@ -4223,7 +4228,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.4.12"
+ "source": "https://github.com/symfony/string/tree/v5.4.44"
},
"funding": [
{
@@ -4239,39 +4244,43 @@
"type": "tidelift"
}
],
- "time": "2024-09-20T08:15:52+00:00"
+ "time": "2024-09-20T07:56:40+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v6.4.11",
+ "version": "v5.4.43",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "ee14c8254a480913268b1e3b1cba8045ed122694"
+ "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694",
- "reference": "ee14c8254a480913268b1e3b1cba8045ed122694",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6be6a6a8af4818564e3726fc65cf936f34743cef",
+ "reference": "6be6a6a8af4818564e3726fc65cf936f34743cef",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0"
+ "php": ">=7.2.5",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<4.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/error-handler": "^6.3|^7.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/uid": "^5.4|^6.0|^7.0",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/uid": "^5.1|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
+ "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"
],
@@ -4308,83 +4317,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.4.11"
- },
- "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": "2024-08-30T16:03:21+00:00"
- },
- {
- "name": "symfony/var-exporter",
- "version": "v7.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/var-exporter.git",
- "reference": "b80a669a2264609f07f1667f891dbfca25eba44c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c",
- "reference": "b80a669a2264609f07f1667f891dbfca25eba44c",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2"
- },
- "require-dev": {
- "symfony/property-access": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\VarExporter\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Allows exporting any serializable PHP data structure to plain PHP code",
- "homepage": "https://symfony.com",
- "keywords": [
- "clone",
- "construct",
- "export",
- "hydrate",
- "instantiate",
- "lazy-loading",
- "proxy",
- "serialize"
- ],
- "support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.1.2"
+ "source": "https://github.com/symfony/var-dumper/tree/v5.4.43"
},
"funding": [
{
@@ -4400,7 +4333,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-28T08:00:31+00:00"
+ "time": "2024-08-30T16:01:46+00:00"
},
{
"name": "theseer/tokenizer",
From c72aca6d057c408316f24c70533ae336372b8c41 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Mon, 23 Sep 2024 10:56:20 +0300
Subject: [PATCH 22/25] Fixing phpcs issues
---
.../src/Commands/Branch.php | 18 +++++++
.../src/Commands/Release.php | 52 ++++++++++++-------
.../woorelease-extension/src/Utils/Git.php | 1 +
.../src/Utils/Product.php | 10 +++-
4 files changed, 60 insertions(+), 21 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index ea049966..349e179b 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -24,8 +24,18 @@
*/
class Branch extends Command {
+ /**
+ * The default command name.
+ *
+ * @var string|null
+ */
protected static $defaultName = 'branch';
+ /**
+ * Configures the current command.
+ *
+ * @return void
+ */
protected function configure() {
$this
->setDescription( 'Creates a release branch if does not exist.' )
@@ -125,6 +135,14 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
}
}
+ /**
+ * Removes the release branch after the release simulation.
+ *
+ * @param string $folder Current repository path.
+ * @param string $repository_url Repository URL.
+ * @param string $branch Repository's branch.
+ * @return int
+ */
protected function cleanup( $folder, $repository_url, $branch ) {
WooGrowGit::delete_branch( $folder, $repository_url, $branch );
return Command::SUCCESS;
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index edebef57..63488d0a 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -32,6 +32,11 @@ class Release extends WooReleaseRelease {
*/
protected static $defaultName = 'release'; // phpcs:ignore WordPress.NamingConventions.ValidVariableName
+ /**
+ * Configures the current command.
+ *
+ * @return void
+ */
protected function configure() {
parent::configure();
$this
@@ -39,6 +44,15 @@ protected function configure() {
->addOption( 'default_branch', null, InputOption::VALUE_OPTIONAL, 'If specified, the release branch will be created from it.' );
}
+ /**
+ * Executes the command.
+ *
+ * @param InputInterface $input The input interface, to get options, arguments, etc.
+ * @param OutputInterface $output The output interface.
+ *
+ * @return int 0 if everything went fine, or an exit code
+ * @throws Exception In case of error.
+ */
protected function execute( InputInterface $input, OutputInterface $output ) {
try {
$logger = Logger::instance( $output );
@@ -55,18 +69,18 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
- $logger->notice( 'Processing product {product}...', array( 'product' => $product ) );
+ $logger->notice( 'Processing product {product}...', [ 'product' => $product ] );
// Clone product.
$folder = WooGrowGit::clone_product_release_or_default( $product, $branch, $default_branch, $gh_org );
// Call branch command to create release branch or release from default.
$command = $this->getApplication()->find( 'branch' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'default_branch' => $default_branch,
'--folder' => $folder,
- );
+ ];
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
@@ -104,13 +118,13 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Call vb:replace command.
$command = $this->getApplication()->find( 'vb:replace' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'--folder' => $folder,
'--product_version' => $version,
// Don't make a separate commit for PHPDoc version replacements
'--release' => false,
- );
+ ];
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
@@ -118,7 +132,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Call vb:change command.
$command = $this->getApplication()->find( 'vb:change' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'--folder' => $folder,
'--product_version' => $version,
@@ -126,7 +140,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
'--wp_tested' => $wp_tested,
'--release' => $release,
'--generate_changelog' => $generate_changelog,
- );
+ ];
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
@@ -134,7 +148,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Call cl:generate command.
$command = $this->getApplication()->find( 'cl:generate' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'--folder' => $folder,
'--product_version' => $version,
@@ -142,7 +156,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
'--wp_tested' => $wp_tested,
'--release' => $release,
'--parse_only' => empty( $generate_changelog ),
- );
+ ];
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
@@ -165,14 +179,14 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Call wccom:release or wporg:release command.
$wp_org_slug = WP_Org::maybe_get_slug( $product, $folder );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'--folder' => $folder,
'--zip_file' => $zip_file,
'--release' => $release,
- );
+ ];
if ( false !== $wp_org_slug ) {
- $logger->notice( "Found product slug for WordPress.org: '{org_slug}'. Following .org release process.", array( 'org_slug' => $wp_org_slug ) );
+ $logger->notice( "Found product slug for WordPress.org: '{org_slug}'. Following .org release process.", [ 'org_slug' => $wp_org_slug ] );
$release_command = 'wporg:release';
if ( $version ) {
$arguments['--product_version'] = $version;
@@ -193,19 +207,19 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Create GitHub release with command gh:release.
if ( $release ) {
$command = $this->getApplication()->find( 'gh:release' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'--folder' => $folder,
'--product_version' => $version,
'--zip_file' => $zip_file,
'--prerelease' => $prerelease,
- );
+ ];
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
}
} else {
- $logger->notice( 'Simulation mode. Skipping upload of asset {asset} to GH release.', array( 'asset' => $zip_file ) );
+ $logger->notice( 'Simulation mode. Skipping upload of asset {asset} to GH release.', [ 'asset' => $zip_file ] );
}
if ( $release ) {
@@ -213,11 +227,11 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
$logger->warning( 'Could not auto-detect version, optional translation trigger was not executed.' );
} else {
$command = $this->getApplication()->find( 'translate:trigger' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'--product_version' => $version,
'--folder' => $folder,
- );
+ ];
if ( Command::SUCCESS !== $command->run( new ArrayInput( $arguments ), $output ) ) {
return Command::FAILURE;
@@ -230,12 +244,12 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
// Cleaning up the mess after simulations.
if ( ! $release ) {
$command = $this->getApplication()->find( 'branch' );
- $arguments = array(
+ $arguments = [
'github_url' => $github_url,
'default_branch' => $default_branch,
'--folder' => $folder,
'--cleanup' => true,
- );
+ ];
if ( Command::SUCCESS === $command->run( new ArrayInput( $arguments ), $output ) ) {
$logger->notice( 'Simulation mode. Release branch cleanup has succeeded.' );
} else {
diff --git a/packages/php/woorelease-extension/src/Utils/Git.php b/packages/php/woorelease-extension/src/Utils/Git.php
index b035fbd2..71aa6656 100644
--- a/packages/php/woorelease-extension/src/Utils/Git.php
+++ b/packages/php/woorelease-extension/src/Utils/Git.php
@@ -38,6 +38,7 @@ public static function does_branch_exist( $repository_url, $branch ) {
/**
* Creates a new local release branch.
*
+ * @param string $folder Current working repository.
* @param string $branch The branch name.
*
* @return bool True if the branch was created, false otherwise.
diff --git a/packages/php/woorelease-extension/src/Utils/Product.php b/packages/php/woorelease-extension/src/Utils/Product.php
index 10d7aec9..91be8396 100644
--- a/packages/php/woorelease-extension/src/Utils/Product.php
+++ b/packages/php/woorelease-extension/src/Utils/Product.php
@@ -1,10 +1,16 @@
notice( 'Product build: {zipfile}', array( 'zipfile' => $zipfile ) );
+ $logger->notice( 'Product build: {zipfile}', [ 'zipfile' => $zipfile ] );
return $zipfile;
}
From ca6e984ecf5372783f3f9ed0d67f3e91ef90f9e7 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Mon, 23 Sep 2024 11:00:39 +0300
Subject: [PATCH 23/25] Fixing phpcs issues with spaces and @throws missing.
---
.../src/Commands/Branch.php | 3 ++-
.../src/Commands/Release.php | 22 +++++++++----------
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Branch.php b/packages/php/woorelease-extension/src/Commands/Branch.php
index 349e179b..13ff7cfa 100644
--- a/packages/php/woorelease-extension/src/Commands/Branch.php
+++ b/packages/php/woorelease-extension/src/Commands/Branch.php
@@ -29,7 +29,7 @@ class Branch extends Command {
*
* @var string|null
*/
- protected static $defaultName = 'branch';
+ protected static $defaultName = 'branch'; // phpcs:ignore WordPress.NamingConventions.ValidVariableName
/**
* Configures the current command.
@@ -53,6 +53,7 @@ protected function configure() {
* @param OutputInterface $output Output.
*
* @return int Exit code.
+ * @throws Exception When the command has failed.
*/
protected function execute( InputInterface $input, OutputInterface $output ) {
try {
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 63488d0a..00aaa1f3 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -55,17 +55,17 @@ protected function configure() {
*/
protected function execute( InputInterface $input, OutputInterface $output ) {
try {
- $logger = Logger::instance( $output );
- $github_url = $input->getArgument( 'github_url' );
- $version = $input->getOption( 'product_version' );
- $wc_tested = $input->getOption( 'wc_tested' );
- $wp_tested = $input->getOption( 'wp_tested' );
- $prerelease = $input->getOption( 'prerelease' );
- $generate_changelog = $input->getOption( 'generate_changelog' );
- $nvm_use = $input->getOption( 'nvm_use' );
- $default_branch = $input->getOption( 'default_branch' );
- $release = ! $this->simulate;
- $reauth = false !== $input->getOption( 'svn_reauth' );
+ $logger = Logger::instance( $output );
+ $github_url = $input->getArgument( 'github_url' );
+ $version = $input->getOption( 'product_version' );
+ $wc_tested = $input->getOption( 'wc_tested' );
+ $wp_tested = $input->getOption( 'wp_tested' );
+ $prerelease = $input->getOption( 'prerelease' );
+ $generate_changelog = $input->getOption( 'generate_changelog' );
+ $nvm_use = $input->getOption( 'nvm_use' );
+ $default_branch = $input->getOption( 'default_branch' );
+ $release = ! $this->simulate;
+ $reauth = false !== $input->getOption( 'svn_reauth' );
list( $product, $gh_org, $branch ) = Utils::parse_product_info( $github_url );
From 3e17ce50de5f8c7cdc698f4dec1aaf341845fd94 Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Mon, 23 Sep 2024 11:09:11 +0300
Subject: [PATCH 24/25] Fixing phpcs issues.
---
packages/php/woorelease-extension/src/Commands/Bulk.php | 2 +-
packages/php/woorelease-extension/src/Commands/Release.php | 1 +
packages/php/woorelease-extension/src/Utils/Product.php | 6 +++---
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/packages/php/woorelease-extension/src/Commands/Bulk.php b/packages/php/woorelease-extension/src/Commands/Bulk.php
index a45153c8..e584fa05 100644
--- a/packages/php/woorelease-extension/src/Commands/Bulk.php
+++ b/packages/php/woorelease-extension/src/Commands/Bulk.php
@@ -209,7 +209,7 @@ private function getReleaseData(): array {
}
[ $slug, $version, $branch ] = array_pad( explode( "\t", $line ), 4, null );
- $to_release[ $slug ] = [
+ $to_release[ $slug ] = [
'name' => $extensions[ $slug ]['name'],
'repo' => $extensions[ $slug ]['repoSlug'],
'version' => $version,
diff --git a/packages/php/woorelease-extension/src/Commands/Release.php b/packages/php/woorelease-extension/src/Commands/Release.php
index 00aaa1f3..cefdc613 100644
--- a/packages/php/woorelease-extension/src/Commands/Release.php
+++ b/packages/php/woorelease-extension/src/Commands/Release.php
@@ -106,6 +106,7 @@ protected function execute( InputInterface $input, OutputInterface $output ) {
throw new \Exception( 'Did not find required "package.json" file in product', 2 );
}
+ // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
$version_file = file_get_contents( $folder . '/package.json' );
$entry_regex = '/^\s*"version":\s*"(?\d+\.\d+\.\d+)"/ms';
diff --git a/packages/php/woorelease-extension/src/Utils/Product.php b/packages/php/woorelease-extension/src/Utils/Product.php
index 91be8396..c501ed7b 100644
--- a/packages/php/woorelease-extension/src/Utils/Product.php
+++ b/packages/php/woorelease-extension/src/Utils/Product.php
@@ -58,11 +58,11 @@ public static function build( $grow_root_path, $product, $folder ) {
}
if ( $build_step ) {
- shell_exec( "{$grow_root_path}/bin/build '{$build_step}'" );
+ shell_exec( "{$grow_root_path}/bin/build '{$build_step}'" ); // phpcs:ignore
} elseif ( $use_pnpm ) {
- shell_exec( "{$grow_root_path}/bin/build pnpm" );
+ shell_exec( "{$grow_root_path}/bin/build pnpm" ); // phpcs:ignore
} else {
- shell_exec( "{$grow_root_path}/bin/build npm" );
+ shell_exec( "{$grow_root_path}/bin/build npm" ); // phpcs:ignore
}
$zipfile = '';
From 56837acc4bb1ce782dcfa0635e09506a86c86a2a Mon Sep 17 00:00:00 2001
From: Dima <9010963+message-dimke@users.noreply.github.com>
Date: Mon, 23 Sep 2024 11:30:42 +0300
Subject: [PATCH 25/25] Adding node auto-install command.
---
bin/build | 2 +-
bin/nvm | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/build b/bin/build
index 7ac6f7b1..e56e39ef 100755
--- a/bin/build
+++ b/bin/build
@@ -1,7 +1,7 @@
#!/bin/bash
source ~/.nvm/nvm.sh
-nvm use
+nvm use || nvm install $(cat .nvmrc)
case $1 in
pnpm)
diff --git a/bin/nvm b/bin/nvm
index 47715e97..30ce7764 100755
--- a/bin/nvm
+++ b/bin/nvm
@@ -16,5 +16,5 @@ if $do_check; then
fi
if $do_use; then
- nvm use
+ nvm use || nvm install $(cat .nvmrc)
fi