From 92aabbdcecea8a16b342e554ab2a7ba44587b2ef Mon Sep 17 00:00:00 2001 From: Art4 Date: Wed, 22 Jan 2025 15:24:32 +0000 Subject: [PATCH 1/6] Mark App as final and internal --- src/App.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/App.php b/src/App.php index 73f2913b1a..b756a847d9 100644 --- a/src/App.php +++ b/src/App.php @@ -57,6 +57,7 @@ use Psr\Log\LoggerInterface; * and anything else that might need to be passed around * before we spit the page out. * + * @final */ class App { @@ -64,6 +65,9 @@ class App const CODENAME = 'Interrupted Fern'; const VERSION = '2025.02-dev'; + /** + * @internal + */ public static function fromContainer(Container $container): self { return new self($container); @@ -130,6 +134,9 @@ class App $this->container = $container; } + /** + * @internal + */ public function processRequest(ServerRequestInterface $request, float $start_time): void { $this->container->addRule(Mode::class, [ @@ -178,6 +185,9 @@ class App ); } + /** + * @internal + */ public function processConsole(array $argv): void { $this->setupContainerForAddons(); @@ -193,6 +203,9 @@ class App (\Friendica\Core\Console::create($this->container, $argv))->execute(); } + /** + * @internal + */ public function processEjabberd(): void { $this->setupContainerForAddons(); From 700cedd69b8779287a8f665f687f1869f653718b Mon Sep 17 00:00:00 2001 From: Art4 Date: Wed, 22 Jan 2025 15:31:11 +0000 Subject: [PATCH 2/6] Mark DI::getDice() as internal --- src/DI.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DI.php b/src/DI.php index 7d1114ac5c..c9c973f722 100644 --- a/src/DI.php +++ b/src/DI.php @@ -60,7 +60,8 @@ abstract class DI /** * Returns a clone of the current dice instance - * This useful for overloading the current instance with mocked methods during tests + * + * @internal This useful for overloading the current instance with mocked methods during tests * * @return Dice */ From 69830b9c03113702f7e061ece21781694c63c6b6 Mon Sep 17 00:00:00 2001 From: Art4 Date: Wed, 22 Jan 2025 15:43:26 +0000 Subject: [PATCH 3/6] Move deprecation message into bin-files --- bin/daemon.php | 4 +++- bin/jetstream.php | 4 +++- bin/worker.php | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bin/daemon.php b/bin/daemon.php index 546f207e08..c3d945d941 100755 --- a/bin/daemon.php +++ b/bin/daemon.php @@ -6,7 +6,7 @@ * * SPDX-License-Identifier: AGPL-3.0-or-later * - * @deprecated 2025.02 use bin/console.php daemon instead + * @deprecated 2025.02 use `bin/console.php daemon` instead */ /** @@ -24,6 +24,8 @@ chdir(dirname(__DIR__)); require dirname(__DIR__) . '/vendor/autoload.php'; +fwrite(STDOUT, '`bin/daemon.php` is deprecated since 2024.02 and will be removed in 5 months, please use `bin/console.php daemon` instead.' . \PHP_EOL); + $argv = $_SERVER['argv'] ?? []; array_splice($argv, 1, 0, "daemon"); diff --git a/bin/jetstream.php b/bin/jetstream.php index 156f961856..2aa1886c6e 100755 --- a/bin/jetstream.php +++ b/bin/jetstream.php @@ -6,7 +6,7 @@ * * SPDX-License-Identifier: AGPL-3.0-or-later * - * @deprecated 2025.02 use bin/console.php jetstream instead + * @deprecated 2025.02 use `bin/console.php jetstream` instead */ if (php_sapi_name() !== 'cli') { @@ -19,6 +19,8 @@ chdir(dirname(__DIR__)); require dirname(__DIR__) . '/vendor/autoload.php'; +fwrite(STDOUT, '`bin/jetstream.php` is deprecated since 2024.02 and will be removed in 5 months, please use `bin/console.php jetstream` instead.' . \PHP_EOL); + $argv = $_SERVER['argv'] ?? []; array_splice($argv, 1, 0, "jetstream"); diff --git a/bin/worker.php b/bin/worker.php index a79d8836a7..f099bc8e66 100755 --- a/bin/worker.php +++ b/bin/worker.php @@ -8,7 +8,7 @@ * * Starts the background processing * - * @deprecated 2025.02 use bin/console.php worker instead + * @deprecated 2025.02 use `bin/console.php worker` instead */ if (php_sapi_name() !== 'cli') { @@ -21,6 +21,8 @@ chdir(dirname(__DIR__)); require dirname(__DIR__) . '/vendor/autoload.php'; +fwrite(STDOUT, '`bin/worker.php` is deprecated since 2024.02 and will be removed in 5 months, please use `bin/console.php worker` instead.' . \PHP_EOL); + $argv = $_SERVER['argv'] ?? []; array_splice($argv, 1, 0, "worker"); From 23fcb4f87fd87b29c9585ce5699bdd93cfbabfc7 Mon Sep 17 00:00:00 2001 From: Art4 Date: Wed, 22 Jan 2025 15:47:49 +0000 Subject: [PATCH 4/6] Dont show deprecation message twice --- src/Console/Daemon.php | 5 ++--- src/Console/JetstreamDaemon.php | 5 ++--- src/Console/Worker.php | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Console/Daemon.php b/src/Console/Daemon.php index c8165a1d9b..f115ec0b66 100644 --- a/src/Console/Daemon.php +++ b/src/Console/Daemon.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace Friendica\Console; use Asika\SimpleConsole\CommandArgsException; +use Asika\SimpleConsole\Console; use Friendica\App\Mode; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs; @@ -27,7 +28,7 @@ use RuntimeException; /** * Console command for interacting with the daemon */ -final class Daemon extends AbstractConsole +final class Daemon extends Console { public const LOG_CHANNEL = LogChannel::DAEMON; @@ -93,8 +94,6 @@ HELP; protected function doExecute() { - $this->checkDeprecated('daemon'); - if ($this->mode->isInstall()) { throw new RuntimeException("Friendica isn't properly installed yet"); } diff --git a/src/Console/JetstreamDaemon.php b/src/Console/JetstreamDaemon.php index d34e5780c2..6071e01f49 100644 --- a/src/Console/JetstreamDaemon.php +++ b/src/Console/JetstreamDaemon.php @@ -9,6 +9,7 @@ declare(strict_types=1); namespace Friendica\Console; +use Asika\SimpleConsole\Console; use Friendica\App\Mode; use Friendica\Core\Addon; use Friendica\Core\Config\Capability\IManageConfigValues; @@ -22,7 +23,7 @@ use RuntimeException; /** * Console command for interacting with the daemon */ -final class JetstreamDaemon extends AbstractConsole +final class JetstreamDaemon extends Console { public const LOG_CHANNEL = LogChannel::DAEMON; @@ -79,8 +80,6 @@ HELP; protected function doExecute() { - $this->checkDeprecated('jetstream'); - if ($this->mode->isInstall()) { throw new RuntimeException("Friendica isn't properly installed yet"); } diff --git a/src/Console/Worker.php b/src/Console/Worker.php index 1c7eeae002..41de4f1764 100644 --- a/src/Console/Worker.php +++ b/src/Console/Worker.php @@ -9,6 +9,7 @@ declare(strict_types=1); namespace Friendica\Console; +use Asika\SimpleConsole\Console; use Friendica\App\Mode; use Friendica\Core\Logger\Capability\LogChannel; use Friendica\Core\Update; @@ -19,7 +20,7 @@ use Friendica\Util\BasePath; /** * Console command for starting worker */ -final class Worker extends AbstractConsole +final class Worker extends Console { public const LOG_CHANNEL = LogChannel::WORKER; @@ -69,8 +70,6 @@ HELP; protected function doExecute() { - $this->checkDeprecated('worker'); - $this->mode->setExecutor(Mode::WORKER); // Check the database structure and possibly fixes it From 65b79b5ea0365ade02886c7aa171cfc24a821102 Mon Sep 17 00:00:00 2001 From: Art4 Date: Wed, 22 Jan 2025 15:57:21 +0000 Subject: [PATCH 5/6] Remove unused AbstractConsole --- src/Console/AbstractConsole.php | 39 --------------------------------- src/Console/Daemon.php | 3 --- src/Console/JetstreamDaemon.php | 3 --- src/Console/Worker.php | 3 --- 4 files changed, 48 deletions(-) delete mode 100644 src/Console/AbstractConsole.php diff --git a/src/Console/AbstractConsole.php b/src/Console/AbstractConsole.php deleted file mode 100644 index 0b8c1d6eb8..0000000000 --- a/src/Console/AbstractConsole.php +++ /dev/null @@ -1,39 +0,0 @@ -executable, -strlen(CoreConsole::getDefaultExecutable())) !== CoreConsole::getDefaultExecutable()) { - $this->out(sprintf("'%s' is deprecated and will removed. Please use 'bin/console.php %s' instead", $this->executable, $command)); - } - } -} diff --git a/src/Console/Daemon.php b/src/Console/Daemon.php index f115ec0b66..a21ff26fc6 100644 --- a/src/Console/Daemon.php +++ b/src/Console/Daemon.php @@ -14,7 +14,6 @@ use Asika\SimpleConsole\Console; use Friendica\App\Mode; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs; -use Friendica\Core\Logger\Capability\LogChannel; use Friendica\Core\System; use Friendica\Core\Update; use Friendica\Core\Worker; @@ -30,8 +29,6 @@ use RuntimeException; */ final class Daemon extends Console { - public const LOG_CHANNEL = LogChannel::DAEMON; - private Mode $mode; private IManageConfigValues $config; private IManageKeyValuePairs $keyValue; diff --git a/src/Console/JetstreamDaemon.php b/src/Console/JetstreamDaemon.php index 6071e01f49..8bb1e7e106 100644 --- a/src/Console/JetstreamDaemon.php +++ b/src/Console/JetstreamDaemon.php @@ -15,7 +15,6 @@ use Friendica\Core\Addon; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Hook; use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs; -use Friendica\Core\Logger\Capability\LogChannel; use Friendica\Protocol\ATProtocol\Jetstream; use Friendica\System\Daemon as SysDaemon; use RuntimeException; @@ -25,8 +24,6 @@ use RuntimeException; */ final class JetstreamDaemon extends Console { - public const LOG_CHANNEL = LogChannel::DAEMON; - private Mode $mode; private IManageConfigValues $config; private IManageKeyValuePairs $keyValue; diff --git a/src/Console/Worker.php b/src/Console/Worker.php index 41de4f1764..97b7160d03 100644 --- a/src/Console/Worker.php +++ b/src/Console/Worker.php @@ -11,7 +11,6 @@ namespace Friendica\Console; use Asika\SimpleConsole\Console; use Friendica\App\Mode; -use Friendica\Core\Logger\Capability\LogChannel; use Friendica\Core\Update; use Friendica\Core\Worker as CoreWorker; use Friendica\Core\Worker\Repository\Process as ProcessRepository; @@ -22,8 +21,6 @@ use Friendica\Util\BasePath; */ final class Worker extends Console { - public const LOG_CHANNEL = LogChannel::WORKER; - private Mode $mode; private BasePath $basePath; private ProcessRepository $processRepo; From 0b84cf401daf73d4fff52e0f1d2287be10b8f591 Mon Sep 17 00:00:00 2001 From: Art4 Date: Wed, 22 Jan 2025 19:52:48 +0000 Subject: [PATCH 6/6] Mark more new classes as internal --- src/AppLegacy.php | 1 + src/Core/Container.php | 2 ++ src/Core/DiceContainer.php | 2 ++ src/Core/Logger/Factory/LegacyLoggerFactory.php | 2 ++ src/Core/Logger/LoggerManager.php | 2 ++ 5 files changed, 9 insertions(+) diff --git a/src/AppLegacy.php b/src/AppLegacy.php index 4aa3f25e4c..8ec6b0aabc 100644 --- a/src/AppLegacy.php +++ b/src/AppLegacy.php @@ -32,6 +32,7 @@ use Friendica\Util\Strings; * and anything else that might need to be passed around * before we spit the page out. * + * @internal */ final class AppLegacy implements AppHelper { diff --git a/src/Core/Container.php b/src/Core/Container.php index 1017590a85..55e0826122 100644 --- a/src/Core/Container.php +++ b/src/Core/Container.php @@ -11,6 +11,8 @@ namespace Friendica\Core; /** * Dependency Injection Container + * + * @internal */ interface Container { diff --git a/src/Core/DiceContainer.php b/src/Core/DiceContainer.php index 304c1e411d..bd1eaf8043 100644 --- a/src/Core/DiceContainer.php +++ b/src/Core/DiceContainer.php @@ -13,6 +13,8 @@ use Dice\Dice; /** * Wrapper for the Dice class to make some basic setups + * + * @internal */ final class DiceContainer implements Container { diff --git a/src/Core/Logger/Factory/LegacyLoggerFactory.php b/src/Core/Logger/Factory/LegacyLoggerFactory.php index 5c91d11771..2c7b6c0237 100644 --- a/src/Core/Logger/Factory/LegacyLoggerFactory.php +++ b/src/Core/Logger/Factory/LegacyLoggerFactory.php @@ -26,6 +26,8 @@ use Psr\Log\LoggerInterface; * * @see \Friendica\Core\Logger\Factory\StreamLogger * @see \Friendica\Core\Logger\Factory\SyslogLogger + * + * @internal */ final class LegacyLoggerFactory implements LoggerFactory { diff --git a/src/Core/Logger/LoggerManager.php b/src/Core/Logger/LoggerManager.php index 697756099d..8379c91995 100644 --- a/src/Core/Logger/LoggerManager.php +++ b/src/Core/Logger/LoggerManager.php @@ -21,6 +21,8 @@ use Psr\Log\NullLogger; /** * Manager for the core logging instances + * + * @internal */ final class LoggerManager {