From 75eae7f2bf89ced8ae0eef0adeb6bda11113cd78 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Tue, 17 Jan 2023 12:26:42 +1300 Subject: [PATCH] API Deprecate legacy tasks --- code/Tasks/MigrateSiteTreeLinkingTask.php | 12 ++++++++++++ code/Tasks/RemoveOrphanedPagesTask.php | 12 ++++++++++++ code/Tasks/SiteTreeMaintenanceTask.php | 13 +++++++++++++ tests/php/Tasks/MigrateSiteTreeLinkingTaskTest.php | 4 ++++ tests/php/Tasks/RemoveOrphanedPagesTaskTest.php | 4 ++++ 5 files changed, 45 insertions(+) diff --git a/code/Tasks/MigrateSiteTreeLinkingTask.php b/code/Tasks/MigrateSiteTreeLinkingTask.php index 0687e5e6..e9acaeac 100644 --- a/code/Tasks/MigrateSiteTreeLinkingTask.php +++ b/code/Tasks/MigrateSiteTreeLinkingTask.php @@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Tasks; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Dev\BuildTask; use SilverStripe\Dev\Debug; +use SilverStripe\Dev\Deprecation; use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; use SilverStripe\Versioned\Versioned; @@ -12,6 +13,8 @@ use SilverStripe\Versioned\Versioned; /** * Updates legacy SiteTree link tracking into new polymorphic many_many relation. * This should be done for any site upgrading to 4.2.0 + * + * @deprecated 4.13.0 Will be removed without equivalent functionality to replace it */ class MigrateSiteTreeLinkingTask extends BuildTask { @@ -21,6 +24,15 @@ class MigrateSiteTreeLinkingTask extends BuildTask protected $description = 'Updates legacy SiteTree link tracking into new polymorphic many_many relation'; + public function __construct() + { + Deprecation::notice( + '4.13.0', + 'Will be removed without equivalent functionality to replace it', + Deprecation::SCOPE_CLASS + ); + } + public function run($request) { // Ensure legacy table exists diff --git a/code/Tasks/RemoveOrphanedPagesTask.php b/code/Tasks/RemoveOrphanedPagesTask.php index c422e747..47e4d9f5 100644 --- a/code/Tasks/RemoveOrphanedPagesTask.php +++ b/code/Tasks/RemoveOrphanedPagesTask.php @@ -18,6 +18,7 @@ use SilverStripe\Versioned\Versioned; use SilverStripe\Security\Permission; use SilverStripe\Security\Security; use SilverStripe\View\Requirements; +use SilverStripe\Dev\Deprecation; /** * Identify "orphaned" pages which point to a parent @@ -36,6 +37,8 @@ use SilverStripe\View\Requirements; * before and after orphan removal. * * @author Ingo Schommer (@silverstripe.com), SilverStripe Ltd. + * + * @deprecated 4.13.0 Will be removed without equivalent functionality to replace it */ class RemoveOrphanedPagesTask extends Controller { @@ -65,6 +68,15 @@ in the other stage:
protected $orphanedSearchClass = SiteTree::class; + public function __construct() + { + Deprecation::notice( + '4.13.0', + 'Will be removed without equivalent functionality to replace it', + Deprecation::SCOPE_CLASS + ); + } + protected function init() { parent::init(); diff --git a/code/Tasks/SiteTreeMaintenanceTask.php b/code/Tasks/SiteTreeMaintenanceTask.php index 2a5c54a6..0977b8db 100644 --- a/code/Tasks/SiteTreeMaintenanceTask.php +++ b/code/Tasks/SiteTreeMaintenanceTask.php @@ -6,13 +6,26 @@ use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Control\Controller; use SilverStripe\ORM\DB; use SilverStripe\ORM\DataObject; +use SilverStripe\Dev\Deprecation; +/** + * @deprecated 4.13.0 Will be removed without equivalent functionality to replace it + */ class SiteTreeMaintenanceTask extends Controller { private static $allowed_actions = [ '*' => 'ADMIN' ]; + public function __construct() + { + Deprecation::notice( + '4.13.0', + 'Will be removed without equivalent functionality to replace it', + Deprecation::SCOPE_CLASS + ); + } + public function makelinksunique() { $table = DataObject::singleton(SiteTree::class)->baseTable(); diff --git a/tests/php/Tasks/MigrateSiteTreeLinkingTaskTest.php b/tests/php/Tasks/MigrateSiteTreeLinkingTaskTest.php index 2b3fdc75..f7b6f8a0 100644 --- a/tests/php/Tasks/MigrateSiteTreeLinkingTaskTest.php +++ b/tests/php/Tasks/MigrateSiteTreeLinkingTaskTest.php @@ -7,6 +7,7 @@ use SilverStripe\CMS\Tasks\MigrateSiteTreeLinkingTask; use SilverStripe\Dev\SapphireTest; use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; +use SilverStripe\Dev\Deprecation; class MigrateSiteTreeLinkingTaskTest extends SapphireTest { @@ -34,6 +35,9 @@ class MigrateSiteTreeLinkingTaskTest extends SapphireTest protected function setUp(): void { + if (Deprecation::isEnabled()) { + $this->markTestSkipped('Test calls deprecated code'); + } parent::setUp(); // Manually bootstrap all Content blocks with soft coded IDs (raw sql to avoid save hooks) diff --git a/tests/php/Tasks/RemoveOrphanedPagesTaskTest.php b/tests/php/Tasks/RemoveOrphanedPagesTaskTest.php index dc3450b6..63108c9d 100644 --- a/tests/php/Tasks/RemoveOrphanedPagesTaskTest.php +++ b/tests/php/Tasks/RemoveOrphanedPagesTaskTest.php @@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Tests\Tasks; use SilverStripe\CMS\Tasks\RemoveOrphanedPagesTask; use SilverStripe\Versioned\Versioned; use SilverStripe\Dev\FunctionalTest; +use SilverStripe\Dev\Deprecation; /** *

Fixture tree

@@ -40,6 +41,9 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest protected function setUp(): void { + if (Deprecation::isEnabled()) { + $this->markTestSkipped('Test calls deprecated code'); + } parent::setUp(); $parent1_published = $this->objFromFixture('Page', 'parent1_published');