Skip to content
This repository was archived by the owner on Oct 24, 2023. It is now read-only.

Commit a902110

Browse files
committed
Merge branch 'release/v2.14.0'
2 parents ff5c351 + 8c9a5fb commit a902110

File tree

17 files changed

+297
-9
lines changed

17 files changed

+297
-9
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ jobs:
202202
- name: Install PHP with extensions
203203
uses: shivammathur/setup-php@v2
204204
with:
205-
php-version: 7.2
205+
php-version: 7.3
206206
extensions: json, mbstring, intl, apcu
207207
tools: composer, phive
208208
ini-values: assert.exception=1, zend.assertions=1, apc.enabled=1, apc.enable_cli=1
@@ -224,7 +224,7 @@ jobs:
224224
- name: Install box
225225
env:
226226
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
227-
run: phive install humbug/box --force-accept-unsigned
227+
run: phive install humbug/box@^3.11.1 --force-accept-unsigned
228228

229229
- name: Compile phar
230230
run: tools/box compile

.github/workflows/docs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ on:
33
push:
44
branches:
55
- master
6+
workflow_dispatch:
67
jobs:
78
build-and-deploy:
89
runs-on: ubuntu-latest
@@ -23,7 +24,7 @@ jobs:
2324
run: ./install-apigen.sh && php apigen.phar generate --debug --config build/apigen.neon
2425

2526
- name: Install SSH Client 🔑
26-
uses: webfactory/ssh-agent@v0.2.0
27+
uses: webfactory/ssh-agent@v0.4.1
2728
with:
2829
ssh-private-key: ${{ secrets.DEPLOY_KEY }}
2930

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# [2.14.0](https://github.com/commercetools/commercetools-php-sdk/compare/v2.13.0...v2.14.0) (2021-03-02)
2+
3+
### Features
4+
5+
* **Store** support Custom fields for stores
6+
* **Cart** support cart replicate for stores
7+
8+
### Bug Fixes
9+
10+
* **ErrorResponse:** add getter for inner exception ([96413a7](https://github.com/commercetools/commercetools-php-sdk/commit/96413a76ffa90954cbf2f496f4c71e3634c01740)), closes [#601](https://github.com/commercetools/commercetools-php-sdk/issues/601)
11+
12+
113
# [2.13.0](https://github.com/commercetools/commercetools-php-sdk/compare/v2.12.1...v2.13.0) (2021-01-11)
214

315

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"require-dev": {
4444
"guzzlehttp/guzzle": "^7.0 || ^6.0",
4545
"phpunit/phpunit": "^8.5",
46-
"symplify/easy-coding-standard": "^7.2",
46+
"symplify/easy-coding-standard-prefixed": "^8.3.48 || ^9.2.1",
4747
"doctrine/cache": "^1.6",
4848
"monolog/monolog": "^1.12",
4949
"symfony/yaml": "^4.0 || ^3.4.38",

ecs.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
6+
use Symplify\EasyCodingStandard\ValueObject\Option;
7+
8+
return static function (ContainerConfigurator $containerConfigurator): void {
9+
$containerConfigurator->import(__DIR__ . '/tools/psr2.php');
10+
11+
$parameters = $containerConfigurator->parameters();
12+
$parameters->set(Option::PATHS, [
13+
__DIR__ . '/src',
14+
]);
15+
$parameters->set(Option::SKIP, [
16+
__DIR__ . 'src/Core/Builder'
17+
]);
18+
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "commercetools-php-sdk-changelog",
3-
"version": "2.13.0",
3+
"version": "2.14.0",
44
"description": "commercetools PHP SDK changelog generator package description",
55
"homepage": "https://github.com/commercetools/commercetools-php-sdk",
66
"bugs": "https://github.com/commercetools/commercetools-php-sdk/issues",

phive.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<phive xmlns="https://phar.io/phive">
3-
<phar name="humbug/box" version="^3.8.4" installed="3.8.4" location="./tools/box" copy="false"/>
3+
<phar name="humbug/box" version="^3.11.1" installed="3.11.1" location="./tools/box" copy="false"/>
44
</phive>

src/Core/AbstractHttpClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515
abstract class AbstractHttpClient
1616
{
17-
const VERSION = '2.13.0-dev';
17+
const VERSION = '2.14.0';
1818

1919
/**
2020
* @var AdapterInterface

src/Core/Helper/Annotate/AnnotationGenerator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,8 @@ function ($link) {
588588
$factoryMethod = $requestClass->getMethod('ofDraft');
589589
$params = $factoryMethod->getParameters();
590590
$draftParam = current($params);
591-
$type = $draftParam->getClass();
591+
$typeClass = new \ReflectionClass($draftParam->getType()->getName());
592+
$type = $typeClass;
592593
$uses[] = 'use ' . $type->getName() . ';';
593594
if ($domain == 'CustomObjects') {
594595
$methodParams[] = [

src/Core/Helper/Annotate/ReflectedClass.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,10 @@ protected function reflectConstructorArgs()
231231
if ($parameter->isOptional()) {
232232
continue;
233233
}
234-
$typeClass = $parameter->getClass();
234+
if ($parameter->getType() == null) {
235+
continue;
236+
}
237+
$typeClass = new \ReflectionClass($parameter->getType()->getName());
235238
$typeName = '';
236239
if (!is_null($typeClass)) {
237240
$typeName = $typeClass->getShortName();

src/Core/Model/Store/Store.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Commercetools\Core\Model\Common\DateTimeDecorator;
99
use Commercetools\Core\Model\Common\LocalizedString;
1010
use Commercetools\Core\Model\Common\Resource;
11+
use Commercetools\Core\Model\CustomField\CustomFieldObject;
1112
use DateTime;
1213

1314
/**
@@ -35,6 +36,8 @@
3536
* @method Store setDistributionChannels(array $distributionChannels = null)
3637
* @method array getSupplyChannels()
3738
* @method Store setSupplyChannels(array $supplyChannels = null)
39+
* @method CustomFieldObject getCustom()
40+
* @method Store setCustom(CustomFieldObject $custom = null)
3841
* @method StoreReference getReference()
3942
*/
4043
class Store extends Resource
@@ -57,6 +60,7 @@ public function fieldDefinitions()
5760
'languages' => [static::TYPE => 'array'],
5861
'distributionChannels' => [static::TYPE => 'array'],
5962
'supplyChannels' => [static::TYPE => 'array'],
63+
'custom' => [static::TYPE => CustomFieldObject::class],
6064
];
6165
}
6266
}

src/Core/Model/Store/StoreDraft.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
use Commercetools\Core\Model\Common\Context;
99
use Commercetools\Core\Model\Common\JsonObject;
1010
use Commercetools\Core\Model\Common\LocalizedString;
11+
use Commercetools\Core\Model\CustomField\CustomFieldObject;
12+
use Commercetools\Core\Model\CustomField\CustomFieldObjectDraft;
1113

1214
/**
1315
* @package Commercetools\Core\Model\Store
@@ -27,6 +29,8 @@
2729
* @method StoreDraft setDistributionChannels(array $distributionChannels = null)
2830
* @method array getSupplyChannels()
2931
* @method StoreDraft setSupplyChannels(array $supplyChannels = null)
32+
* @method CustomFieldObjectDraft getCustom()
33+
* @method StoreDraft setCustom(CustomFieldObjectDraft $custom = null)
3034
*/
3135
class StoreDraft extends JsonObject
3236
{
@@ -38,6 +42,7 @@ public function fieldDefinitions()
3842
'languages' => [static::TYPE => 'array'],
3943
'distributionChannels' => [static::TYPE => 'array'],
4044
'supplyChannels' => [static::TYPE => 'array'],
45+
'custom' => [static::TYPE => CustomFieldObjectDraft::class],
4146
];
4247
}
4348

src/Core/Request/InStores/InStoreRequests.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Commercetools\Core\Request\Carts\CartCreateRequest;
1111
use Commercetools\Core\Request\Carts\CartDeleteRequest;
1212
use Commercetools\Core\Request\Carts\CartQueryRequest;
13+
use Commercetools\Core\Request\Carts\CartReplicateRequest;
1314
use Commercetools\Core\Request\Carts\CartUpdateRequest;
1415
use Commercetools\Core\Request\Customers\CustomerByEmailTokenGetRequest;
1516
use Commercetools\Core\Request\Customers\CustomerByIdGetRequest;
@@ -53,6 +54,7 @@ class InStoreRequests
5354
CartCreateRequest::class => 1,
5455
CartUpdateRequest::class => 1,
5556
CartDeleteRequest::class => 1,
57+
CartReplicateRequest::class => 1,
5658
MeCartByIdRequest::class => 1,
5759
MeActiveCartRequest::class => 1,
5860
MeCartQueryRequest::class => 1,

src/Core/Response/ErrorResponse.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,12 @@ public function getMessage()
5252
}
5353
return $this->message;
5454
}
55+
56+
/**
57+
* @return \Exception
58+
*/
59+
public function getException()
60+
{
61+
return $this->exception;
62+
}
5563
}
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use PHP_CodeSniffer\Standards\Generic\Sniffs\ControlStructures\InlineControlStructureSniff;
6+
use PHP_CodeSniffer\Standards\Generic\Sniffs\Files\ByteOrderMarkSniff;
7+
use PHP_CodeSniffer\Standards\Generic\Sniffs\Files\LineEndingsSniff;
8+
use PHP_CodeSniffer\Standards\Generic\Sniffs\Formatting\DisallowMultipleStatementsSniff;
9+
use PHP_CodeSniffer\Standards\Generic\Sniffs\Functions\FunctionCallArgumentSpacingSniff;
10+
use PHP_CodeSniffer\Standards\Generic\Sniffs\NamingConventions\UpperCaseConstantNameSniff;
11+
use PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\LowerCaseConstantSniff;
12+
use PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\LowerCaseKeywordSniff;
13+
use PHP_CodeSniffer\Standards\Generic\Sniffs\WhiteSpace\DisallowTabIndentSniff;
14+
use PHP_CodeSniffer\Standards\Generic\Sniffs\WhiteSpace\ScopeIndentSniff;
15+
use PHP_CodeSniffer\Standards\PEAR\Sniffs\Functions\ValidDefaultValueSniff;
16+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Classes\ClassDeclarationSniff;
17+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Classes\PropertyDeclarationSniff;
18+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\ControlStructures\ControlStructureSpacingSniff;
19+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\ControlStructures\ElseIfDeclarationSniff;
20+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\ControlStructures\SwitchDeclarationSniff;
21+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Files\ClosingTagSniff;
22+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Files\EndFileNewlineSniff;
23+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Methods\FunctionCallSignatureSniff;
24+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Methods\FunctionClosingBraceSniff;
25+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Methods\MethodDeclarationSniff;
26+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Namespaces\NamespaceDeclarationSniff;
27+
use PHP_CodeSniffer\Standards\PSR2\Sniffs\Namespaces\UseDeclarationSniff;
28+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\Classes\ValidClassNameSniff;
29+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\ControlStructures\ControlSignatureSniff;
30+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\ControlStructures\ForEachLoopDeclarationSniff;
31+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\ControlStructures\ForLoopDeclarationSniff;
32+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\ControlStructures\LowercaseDeclarationSniff;
33+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\Functions\FunctionDeclarationArgumentSpacingSniff;
34+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\Functions\FunctionDeclarationSniff;
35+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\Functions\LowercaseFunctionKeywordsSniff;
36+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\Functions\MultiLineFunctionDeclarationSniff;
37+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\Scope\MethodScopeSniff;
38+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\ScopeClosingBraceSniff;
39+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\ScopeKeywordSpacingSniff;
40+
use PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\SuperfluousWhitespaceSniff;
41+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
42+
use Symplify\EasyCodingStandard\ValueObject\Option;
43+
44+
return static function (ContainerConfigurator $containerConfigurator): void {
45+
$services = $containerConfigurator->services();
46+
47+
$services->set(NamespaceDeclarationSniff::class);
48+
49+
$services->set(UseDeclarationSniff::class);
50+
51+
$services->set(ClassDeclarationSniff::class);
52+
53+
$services->set(PropertyDeclarationSniff::class);
54+
55+
$services->set(EndFileNewlineSniff::class);
56+
57+
$services->set(ClosingTagSniff::class);
58+
59+
$services->set(ControlStructureSpacingSniff::class);
60+
61+
$services->set(SwitchDeclarationSniff::class);
62+
63+
$services->set(ElseIfDeclarationSniff::class);
64+
65+
$services->set(FunctionCallSignatureSniff::class);
66+
67+
$services->set(MethodDeclarationSniff::class);
68+
69+
$services->set(FunctionClosingBraceSniff::class);
70+
71+
$services->set(ByteOrderMarkSniff::class);
72+
73+
$services->set(ValidClassNameSniff::class);
74+
75+
$services->set(UpperCaseConstantNameSniff::class);
76+
77+
$services->set(LineEndingsSniff::class)
78+
->property('eolChar', '\n');
79+
80+
$services->set(SuperfluousWhitespaceSniff::class)
81+
->property('ignoreBlankLines', true);
82+
83+
$services->set(DisallowMultipleStatementsSniff::class);
84+
85+
$services->set(ScopeIndentSniff::class)
86+
->property('ignoreIndentationTokens', ['T_COMMENT', 'T_DOC_COMMENT_OPEN_TAG']);
87+
88+
$services->set(DisallowTabIndentSniff::class);
89+
90+
$services->set(LowerCaseKeywordSniff::class);
91+
92+
$services->set(LowerCaseConstantSniff::class);
93+
94+
$services->set(MethodScopeSniff::class);
95+
96+
$services->set(ScopeKeywordSpacingSniff::class);
97+
98+
$services->set(FunctionDeclarationSniff::class);
99+
100+
$services->set(LowercaseFunctionKeywordsSniff::class);
101+
102+
$services->set(FunctionDeclarationArgumentSpacingSniff::class)
103+
->property('equalsSpacing', 1);
104+
105+
$services->set(ValidDefaultValueSniff::class);
106+
107+
$services->set(MultiLineFunctionDeclarationSniff::class);
108+
109+
$services->set(FunctionCallArgumentSpacingSniff::class);
110+
111+
$services->set(ControlSignatureSniff::class);
112+
113+
$services->set(ScopeClosingBraceSniff::class);
114+
115+
$services->set(ForEachLoopDeclarationSniff::class);
116+
117+
$services->set(ForLoopDeclarationSniff::class);
118+
119+
$services->set(LowercaseDeclarationSniff::class);
120+
121+
$services->set(InlineControlStructureSniff::class);
122+
123+
$parameters = $containerConfigurator->parameters();
124+
125+
$parameters->set(Option::SKIP, [
126+
ControlStructureSpacingSniff::class . '.SpacingAfterOpenBrace' => null,
127+
ControlStructureSpacingSniff::class . '.SpaceBeforeCloseBrace' => null,
128+
ControlStructureSpacingSniff::class . '.LineAfterClose' => null,
129+
ControlStructureSpacingSniff::class . '.NoLineAfterClose' => null,
130+
FunctionCallSignatureSniff::class . '.OpeningIndent' => null,
131+
]);
132+
};

0 commit comments

Comments
 (0)