Skip to content

Commit ae49706

Browse files
authored
[Marketplace] Add Rulus Set (#35)
Related PRs: - Sylius/MarketplaceSuite#263 - Sylius/SyliusRecipes#30
2 parents a9672e7 + 7210a0d commit ae49706

27 files changed

+555
-1
lines changed

bootstrap.php

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
exec('composer dump-autoload', $output, $returnCode);
4+
if ($returnCode !== 0) {
5+
echo "Error during composer dump-autoload\n";
6+
exit($returnCode);
7+
}
8+
echo "Successfully regenerated autoload\n";
9+
10+
require __DIR__ . '/vendor/autoload.php';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Rector\Config\RectorConfig;
6+
use Sylius\SyliusRector\Rector\Class_\AddInterfaceToClassExtendingTypeRector;
7+
use Sylius\SyliusRector\Rector\Class_\AddTraitToClassExtendingTypeRector;
8+
9+
return static function (RectorConfig $rectorConfig): void {
10+
$rectorConfig->ruleWithConfiguration(AddInterfaceToClassExtendingTypeRector::class, [
11+
'Sylius\Component\Core\Model\Order' => [
12+
'Sylius\MarketplaceSuite\Component\Order\Model\OrderInterface',
13+
],
14+
'Sylius\Component\Core\Model\OrderItem' => [
15+
'Sylius\MarketplaceSuite\Component\Order\Model\OrderItemInterface',
16+
],
17+
'Sylius\Component\Core\Model\Product' => [
18+
'Sylius\MarketplaceSuite\Component\Product\Entity\ProductInterface',
19+
],
20+
'Sylius\Component\Core\Model\Shipment' => [
21+
'Sylius\MarketplaceSuite\Component\Order\Model\ShipmentInterface',
22+
],
23+
'Sylius\Component\Core\Model\ShopUser' => [
24+
'Sylius\MarketplaceSuite\Component\Vendor\Model\ShopUserInterface',
25+
],
26+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\CustomerRepository' => [
27+
'Sylius\MarketplaceSuite\Component\Vendor\Repository\CustomerRepositoryInterface',
28+
],
29+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository' => [
30+
'Sylius\MarketplaceSuite\Component\Order\Repository\OrderRepositoryInterface',
31+
'Sylius\MarketplaceSuite\Component\Product\Repository\OrderRepositoryInterface',
32+
],
33+
'Sylius\Bundle\ChannelBundle\Doctrine\ORM\ChannelRepository' => [
34+
'Sylius\MarketplaceSuite\Component\Settlement\Repository\ChannelRepositoryInterface',
35+
],
36+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\PaymentRepository' => [
37+
'Sylius\MarketplaceSuite\Component\Order\Repository\PaymentRepositoryInterface',
38+
],
39+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository' => [
40+
'Sylius\MarketplaceSuite\Component\Product\Repository\ProductRepositoryInterface',
41+
],
42+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductReviewRepository' => [
43+
'Sylius\MarketplaceSuite\Component\Product\Repository\ProductReviewRepositoryInterface',
44+
],
45+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductVariantRepository' => [
46+
'Sylius\MarketplaceSuite\Component\Product\Repository\ProductVariantRepositoryInterface',
47+
],
48+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ShipmentRepository' => [
49+
'Sylius\MarketplaceSuite\Component\Order\Repository\ShipmentRepositoryInterface',
50+
],
51+
'Sylius\Bundle\TaxonomyBundle\Doctrine\ORM\TaxonRepository' => [
52+
'Sylius\MarketplaceSuite\Component\Vendor\Repository\TaxonRepositoryInterface',
53+
],
54+
]);
55+
56+
$rectorConfig->ruleWithConfiguration(AddTraitToClassExtendingTypeRector::class, [
57+
'Sylius\Component\Core\Model\OrderItem' => [
58+
'Sylius\MarketplaceSuite\Component\Order\Model\OrderItemTrait',
59+
],
60+
'Sylius\Component\Core\Model\Order' => [
61+
'Sylius\MarketplaceSuite\Component\Order\Model\OrderTrait',
62+
],
63+
'Sylius\Component\Core\Model\Product' => [
64+
'Sylius\MarketplaceSuite\Component\Product\Model\ProductTrait',
65+
],
66+
'Sylius\Component\Core\Model\Shipment' => [
67+
'Sylius\MarketplaceSuite\Component\Order\Model\ShipmentTrait',
68+
],
69+
'Sylius\Component\Core\Model\ShopUser' => [
70+
'Sylius\MarketplaceSuite\Component\Vendor\Model\ShopUserTrait',
71+
],
72+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository' => [
73+
'Sylius\MarketplaceSuite\Component\Product\Repository\OrderRepositoryTrait',
74+
'Sylius\MarketplaceSuite\Component\Order\Repository\OrderRepositoryTrait',
75+
],
76+
'Sylius\Bundle\ChannelBundle\Doctrine\ORM\ChannelRepository' => [
77+
'Sylius\MarketplaceSuite\Component\Settlement\Repository\ChannelRepositoryTrait',
78+
],
79+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\CustomerRepository' => [
80+
'Sylius\MarketplaceSuite\Component\Vendor\Repository\CustomerRepositoryTrait',
81+
],
82+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\PaymentRepository' => [
83+
'Sylius\MarketplaceSuite\Component\Order\Repository\PaymentRepositoryTrait',
84+
],
85+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository' => [
86+
'Sylius\MarketplaceSuite\Component\Product\Repository\ProductRepositoryTrait',
87+
],
88+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductReviewRepository' => [
89+
'Sylius\MarketplaceSuite\Component\Product\Repository\ProductReviewRepositoryTrait',
90+
],
91+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductVariantRepository' => [
92+
'Sylius\MarketplaceSuite\Component\Product\Repository\ProductVariantRepositoryTrait',
93+
],
94+
'Sylius\Bundle\CoreBundle\Doctrine\ORM\ShipmentRepository' => [
95+
'Sylius\MarketplaceSuite\Component\Order\Repository\ShipmentRepositoryTrait',
96+
],
97+
'Sylius\Bundle\TaxonomyBundle\Doctrine\ORM\TaxonRepository' => [
98+
'Sylius\MarketplaceSuite\Component\Vendor\Repository\TaxonRepositoryTrait',
99+
],
100+
]);
101+
};

phpunit.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<phpunit
33
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
bootstrap="vendor/autoload.php"
4+
bootstrap="bootstrap.php"
55
colors="true"
66
>
77
<testsuites>

src/Set/SyliusMarketplace.php

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sylius\SyliusRector\Set;
6+
7+
final class SyliusMarketplace
8+
{
9+
public const SYLIUS_MARKETPLACE = __DIR__ . '/../../config/sets/sylius/marketplace/marketplace-plugin.php';
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Bundle\ChannelBundle\Doctrine\ORM;
4+
5+
if (class_exists('Sylius\Bundle\ChannelBundle\Doctrine\ORM\ChannelRepository')) {
6+
return;
7+
}
8+
9+
class ChannelRepository
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Bundle\CoreBundle\Doctrine\ORM;
4+
5+
if (class_exists('Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository')) {
6+
return;
7+
}
8+
9+
class ProductRepository
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Bundle\CoreBundle\Doctrine\ORM;
4+
5+
if (class_exists('Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductReviewRepository')) {
6+
return;
7+
}
8+
9+
class ProductReviewRepository
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Bundle\CoreBundle\Doctrine\ORM;
4+
5+
if (class_exists('Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductVariantRepository')) {
6+
return;
7+
}
8+
9+
class ProductVariantRepository
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Bundle\TaxonomyBundle\Doctrine\ORM;
4+
5+
if (class_exists('Sylius\Bundle\TaxonomyBundle\Doctrine\ORM\TaxonRepository')) {
6+
return;
7+
}
8+
9+
class TaxonRepository
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Component\Core\Model;
4+
5+
if (class_exists('Sylius\Component\Core\Model\OrderItem')) {
6+
return;
7+
}
8+
9+
class OrderItem
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Sylius\Component\Core\Model;
4+
5+
if (class_exists('Sylius\Component\Core\Model\Product')) {
6+
return;
7+
}
8+
9+
class Product
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
use Sylius\Bundle\ChannelBundle\Doctrine\ORM\ChannelRepository as BaseChannelRepository;
4+
5+
class ChannelRepository extends BaseChannelRepository
6+
{
7+
}
8+
9+
?>
10+
-----
11+
<?php
12+
13+
use Sylius\MarketplaceSuite\Component\Settlement\Repository\ChannelRepositoryInterface;
14+
use Sylius\MarketplaceSuite\Component\Settlement\Repository\ChannelRepositoryTrait;
15+
use Sylius\Bundle\ChannelBundle\Doctrine\ORM\ChannelRepository as BaseChannelRepository;
16+
17+
class ChannelRepository extends BaseChannelRepository implements ChannelRepositoryInterface
18+
{
19+
use ChannelRepositoryTrait;
20+
}
21+
22+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
use Sylius\Bundle\CoreBundle\Doctrine\ORM\CustomerRepository as BaseCustomerRepository;
4+
5+
class CustomerRepository extends BaseCustomerRepository
6+
{
7+
}
8+
9+
?>
10+
11+
-----
12+
<?php
13+
14+
use Sylius\Bundle\CoreBundle\Doctrine\ORM\CustomerRepository as BaseCustomerRepository;
15+
16+
class CustomerRepository extends BaseCustomerRepository implements \Sylius\MarketplaceSuite\Component\Vendor\Repository\CustomerRepositoryInterface
17+
{
18+
use \Sylius\MarketplaceSuite\Component\Vendor\Repository\CustomerRepositoryTrait;
19+
}
20+
21+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
use Sylius\Component\Core\Model\OrderItem as BaseOrderItem;
4+
5+
class OrderItem extends BaseOrderItem
6+
{
7+
}
8+
9+
?>
10+
-----
11+
<?php
12+
13+
use Sylius\MarketplaceSuite\Component\Order\Model\OrderItemInterface;
14+
use Sylius\MarketplaceSuite\Component\Order\Model\OrderItemTrait;
15+
use Sylius\Component\Core\Model\OrderItem as BaseOrderItem;
16+
17+
class OrderItem extends BaseOrderItem implements OrderItemInterface
18+
{
19+
use OrderItemTrait;
20+
}
21+
22+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
use Sylius\Component\Core\Model\Order as BaseOrder;
4+
5+
class Order extends BaseOrder
6+
{
7+
}
8+
9+
?>
10+
-----
11+
<?php
12+
13+
use Sylius\MarketplaceSuite\Component\Order\Model\OrderInterface;
14+
use Sylius\MarketplaceSuite\Component\Order\Model\OrderTrait;
15+
use Sylius\Component\Core\Model\Order as BaseOrder;
16+
17+
class Order extends BaseOrder implements OrderInterface
18+
{
19+
use OrderTrait;
20+
}
21+
22+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
use Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository as BaseOrderRepository;
4+
5+
class OrderRepository extends BaseOrderRepository
6+
{
7+
}
8+
9+
?>
10+
-----
11+
<?php
12+
13+
use Sylius\MarketplaceSuite\Component\Order\Repository\OrderRepositoryInterface;
14+
use Sylius\MarketplaceSuite\Component\Order\Repository\OrderRepositoryTrait;
15+
use Sylius\Bundle\CoreBundle\Doctrine\ORM\OrderRepository as BaseOrderRepository;
16+
17+
class OrderRepository extends BaseOrderRepository implements OrderRepositoryInterface, \Sylius\MarketplaceSuite\Component\Product\Repository\OrderRepositoryInterface
18+
{
19+
use OrderRepositoryTrait;
20+
use \Sylius\MarketplaceSuite\Component\Product\Repository\OrderRepositoryTrait;
21+
}
22+
23+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
use Sylius\Bundle\CoreBundle\Doctrine\ORM\PaymentRepository as BasePaymentRepository;
4+
5+
class PaymentRepository extends BasePaymentRepository
6+
{
7+
}
8+
9+
?>
10+
-----
11+
<?php
12+
13+
use Sylius\MarketplaceSuite\Component\Order\Repository\PaymentRepositoryInterface;
14+
use Sylius\MarketplaceSuite\Component\Order\Repository\PaymentRepositoryTrait;
15+
use Sylius\Bundle\CoreBundle\Doctrine\ORM\PaymentRepository as BasePaymentRepository;
16+
17+
class PaymentRepository extends BasePaymentRepository implements PaymentRepositoryInterface
18+
{
19+
use PaymentRepositoryTrait;
20+
}
21+
22+
?>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
use Sylius\Component\Core\Model\Product as BaseProduct;
4+
5+
class Product extends BaseProduct
6+
{
7+
}
8+
9+
?>
10+
-----
11+
<?php
12+
13+
use Sylius\MarketplaceSuite\Component\Product\Entity\ProductInterface;
14+
use Sylius\MarketplaceSuite\Component\Product\Model\ProductTrait;
15+
use Sylius\Component\Core\Model\Product as BaseProduct;
16+
17+
class Product extends BaseProduct implements ProductInterface
18+
{
19+
use ProductTrait;
20+
}
21+
22+
?>

0 commit comments

Comments
 (0)