Skip to content

Commit aa636dd

Browse files
Silverstripe 6 compatibility (#79)
* Add Silverstripe CMS 6 support * Add PHPUnit 11 support * Remove tests folder from phpcs check --------- Co-authored-by: Mohamed Alsharaf <mohamed.alsharaf@silverstripe.com>
1 parent a0cbc80 commit aa636dd

18 files changed

+98
-182
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@ node_modules
22
/vendor/
33
.DS_Store
44
.idea
5+
.phpunit.result.cache
6+
app/
7+
composer.lock
8+
public/

composer.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020
],
2121
"require": {
2222
"php": "^8.1",
23-
"silverstripe/framework": "^5"
23+
"silverstripe/framework": "^6"
2424
},
2525
"require-dev": {
26-
"phpunit/phpunit": "^9.5",
27-
"tractorcow/silverstripe-fluent": "^7",
28-
"slevomat/coding-standard": "~8.8.0"
26+
"phpunit/phpunit": "^11.5",
27+
"tractorcow/silverstripe-fluent": "^8",
28+
"slevomat/coding-standard": "~8.8.0",
29+
"silverstripe/cms": "^6"
2930
},
3031
"autoload": {
3132
"psr-4": {

phpcs.xml.dist

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
<description>CodeSniffer ruleset for SilverStripe coding conventions.</description>
44

55
<file>src</file>
6-
<file>tests</file>
76

87
<!-- Show progress and output sniff names on violation, and add colours -->
98
<arg value="p" />

phpunit.xml.dist

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
2-
<phpunit bootstrap="vendor/silverstripe/framework/tests/bootstrap.php" colors="true">
3-
<testsuites>
4-
<testsuite name="Default">
5-
<directory>tests</directory>
6-
</testsuite>
7-
</testsuites>
8-
<filter>
9-
<whitelist addUncoveredFilesFromWhitelist="true">
10-
<directory suffix=".php">src/</directory>
11-
<exclude>
12-
<directory suffix=".php">tests/</directory>
13-
</exclude>
14-
</whitelist>
15-
</filter>
1+
<?xml version="1.0"?>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="vendor/silverstripe/cms/tests/bootstrap.php" colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.5/phpunit.xsd">
3+
<testsuite name="Default">
4+
<directory>tests/</directory>
5+
</testsuite>
6+
<source>
7+
<include>
8+
<directory suffix=".php">src/</directory>
9+
</include>
10+
<exclude>
11+
<directory suffix=".php">tests/</directory>
12+
</exclude>
13+
</source>
1614
</phpunit>

src/Extensions/CacheKeyExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
namespace Terraformers\KeysForCache\Extensions;
44

55
use SilverStripe\Core\Config\Config;
6+
use SilverStripe\Core\Extension;
67
use SilverStripe\Forms\FieldList;
78
use SilverStripe\Forms\GridField\GridField;
89
use SilverStripe\Forms\GridField\GridFieldConfig_RecordViewer;
9-
use SilverStripe\ORM\DataExtension;
1010
use SilverStripe\ORM\DataObject;
1111
use SilverStripe\ORM\HasManyList;
1212
use SilverStripe\Versioned\Versioned;
@@ -20,7 +20,7 @@
2020
* @property DataObject|Versioned|$this $owner
2121
* @method HasManyList|CacheKey CacheKeys()
2222
*/
23-
class CacheKeyExtension extends DataExtension
23+
class CacheKeyExtension extends Extension
2424
{
2525
private static array $has_many = [
2626
// Programmatically we know that we will only ever create one of these CacheKey records per unique DataObject,

src/Extensions/FluentExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
namespace Terraformers\KeysForCache\Extensions;
44

5-
use SilverStripe\ORM\DataExtension;
5+
use SilverStripe\Core\Extension;
66
use Terraformers\KeysForCache\DataTransferObjects\CacheKeyDto;
77
use TractorCow\Fluent\State\FluentState;
88

9-
class FluentExtension extends DataExtension
9+
class FluentExtension extends Extension
1010
{
1111
public function updateCacheKey(CacheKeyDto $cacheKey): void
1212
{

src/Extensions/StagingExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
namespace Terraformers\KeysForCache\Extensions;
44

55
use SilverStripe\CMS\Controllers\ContentController;
6-
use SilverStripe\CMS\Model\SiteTreeExtension;
6+
use SilverStripe\Core\Extension;
77
use Terraformers\KeysForCache\State\StagingState;
88

99
/**
1010
* @property ContentController $owner
1111
*/
12-
class StagingExtension extends SiteTreeExtension
12+
class StagingExtension extends Extension
1313
{
1414
public function contentcontrollerInit(ContentController $controller): void
1515
{

src/Models/CacheKey.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace Terraformers\KeysForCache\Models;
44

5+
use SilverStripe\Core\Validation\ValidationException;
56
use SilverStripe\ORM\DataObject;
6-
use SilverStripe\ORM\ValidationException;
77
use SilverStripe\Versioned\Versioned;
88
use Terraformers\KeysForCache\Extensions\CacheKeyExtension;
99

src/RelationshipGraph/Graph.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
use SilverStripe\Core\Flushable;
1111
use SilverStripe\Core\Injector\Injectable;
1212
use SilverStripe\Core\Injector\Injector;
13+
use SilverStripe\Model\ModelData;
1314
use SilverStripe\ORM\DataObject;
14-
use SilverStripe\View\ViewableData;
1515
use Terraformers\KeysForCache\Models\CacheKey;
1616

1717
class Graph implements Flushable
@@ -49,7 +49,7 @@ public function getEdgesFrom(string $from): array
4949
// Base classes that show up in every ancestry array
5050
$disallowList = [
5151
DataObject::class,
52-
ViewableData::class,
52+
ModelData::class,
5353
];
5454

5555
return array_filter(

src/Services/CacheProcessingService.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
use SilverStripe\Core\ClassInfo;
66
use SilverStripe\Core\Injector\Injectable;
7+
use SilverStripe\Model\List\SS_List;
78
use SilverStripe\ORM\DataList;
89
use SilverStripe\ORM\DataObject;
9-
use SilverStripe\ORM\SS_List;
1010
use SilverStripe\Versioned\Versioned;
1111
use Terraformers\KeysForCache\DataTransferObjects\EdgeUpdateDto;
1212
use Terraformers\KeysForCache\Models\CacheKey;

0 commit comments

Comments
 (0)