Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/GitHub actions #8

Merged
merged 3 commits into from
Aug 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .coveralls.yml

This file was deleted.

32 changes: 32 additions & 0 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: PHP Composer

on:
push:
branches: [ master, spryker_upgrade ]
pull_request:
types: [ assigned, opened, synchronize, reopened ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Validate composer.json and composer.lock
run: composer validate
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --prefer-dist --no-progress --no-suggest
- name: Run test suite
env:
XDEBUG_MODE: coverage
run: composer run-script ci
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@

.DS_Store

src/Generated
src/Orm

vendor
composer.lock
composer.lock
22 changes: 0 additions & 22 deletions .travis.yml

This file was deleted.

30 changes: 30 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.PHONY: update
update:
composer update

.PHONY: install
install:
composer install --no-dev

.PHONY: install-dev
install-dev:
composer install

.PHONY: phpcs
phpcs:
./vendor/bin/phpcs --standard=./vendor/spryker/code-sniffer/Spryker/ruleset.xml ./src/FondOfSpryker/ ./tests/FondOfSpryker/

.PHONY: phpcbf
phpcbf:
./vendor/bin/phpcbf --standard=./vendor/spryker/code-sniffer/Spryker/ruleset.xml ./src/FondOfSpryker/ ./tests/FondOfSpryker/

.PHONY: phpstan
phpstan:
php -d memory_limit=-1 ./vendor/bin/phpstan analyse -l 4 ./src/FondOfSpryker

.PHONY: codeception
codeception:
./vendor/bin/codecept run --env standalone --coverage --coverage-xml --coverage-html

.PHONY: ci
ci: install-dev phpcs codeception phpstan
23 changes: 21 additions & 2 deletions codeception.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
namespace: FondOfSpryker
namespace: fond-of-spryker/product

suites:
unit:
path: .
Expand All @@ -17,4 +18,22 @@ paths:
coverage:
enabled: true
include:
- src/*.php
- src/FondOfSpryker/*.php

modules:
enabled:
- \FondOfCodeception\Module\Spryker
config:
\FondOfCodeception\Module\Spryker:
generate_transfer: false
generate_map_classes: false
generate_propel_classes: false

env:
standalone:
modules:
config:
\FondOfCodeception\Module\Spryker:
generate_transfer: true
generate_map_classes: true
generate_propel_classes: true
23 changes: 16 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,20 @@
"email": "[email protected]"
}
],
"scripts": {
"ci": "make ci",
"codeception": "make codeception",
"phpcs": "make phpcs",
"phpstan": "make phpstan"
},
"require": {
"php": ">=7.4",
"spryker/product": "^6.29.0"
},
"require-dev": {
"spryker/code-sniffer": "^0.14.7",
"spryker/development": "^3.22",
"codeception/codeception": "^2.5",
"mikey179/vfsstream": "^1.6",
"phpro/grumphp": "^0.14",
"sebastian/phpcpd": "^4.1"
"fond-of-codeception/spryker": "^1.0",
"spryker/code-sniffer": "*",
"spryker-sdk/phpstan-spryker": "*"
},
"minimum-stability": "dev",
"prefer-stable": true,
Expand All @@ -42,7 +45,13 @@
"autoload-dev": {
"psr-4": {
"FondOfSpryker\\": "tests/FondOfSpryker/",
"Generated\\": "tests/Generated/"
"Generated\\": "src/Generated/",
"Orm\\Zed\\": "src/Orm/Zed/"
}
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}
4 changes: 0 additions & 4 deletions grumphp.yml

This file was deleted.

10 changes: 10 additions & 0 deletions phpstan.neon
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@


parameters:
level: 4
reportUnmatchedIgnoredErrors: false
scanDirectories:
- src/Orm/Zed
- src/Generated
ignoreErrors:
- '#.* on an unknown class Generated\\(Client|Glue|Service|Yves|Zed)\\Ide\\AutoCompletion.*#'
6 changes: 6 additions & 0 deletions src/FondOfSpryker/Shared/Product/ProductConstants.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@

interface ProductConstants
{
/**
* @var string
*/
public const URL_ATTRIBUTE_CODE = 'PRODUCT:URL_ATTRIBUTE_CODE';

/**
* @var string
*/
public const URL_LOCALE_TO_SKIP = 'PRODUCT:URL_LOCALE_TO_SKIP';
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@
use Spryker\Zed\Product\Business\ProductBusinessFactory as BaseProductBusinessFactory;

/**
* @method \FondOfSpryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Persistence\ProductEntityManagerInterface getEntityManager()
* @method \Spryker\Zed\Product\Persistence\ProductQueryContainerInterface getQueryContainer()
* @method \Spryker\Zed\Product\Persistence\ProductRepositoryInterface getRepository()
*/
class ProductBusinessFactory extends BaseProductBusinessFactory
{
Expand All @@ -23,7 +26,7 @@ public function createProductUrlGenerator(): ProductUrlGeneratorInterface
$this->createProductAbstractNameGenerator(),
$this->getLocaleFacade(),
$this->getUtilTextService(),
$this->getConfig()
$this->getConfig(),
);
}

Expand Down
9 changes: 7 additions & 2 deletions src/FondOfSpryker/Zed/Product/Business/ProductFacade.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
use Spryker\Zed\Product\Business\ProductFacade as BaseProductFacade;

/**
* @method \FondOfSpryker\Zed\Product\Business\ProductBusinessFactory getFactory()
* @method \Spryker\Zed\Product\Business\ProductBusinessFactory getFactory()
* @method \Spryker\Zed\Product\Persistence\ProductEntityManagerInterface getEntityManager()
* @method \Spryker\Zed\Product\Persistence\ProductRepositoryInterface getRepository()
*/
class ProductFacade extends BaseProductFacade implements ProductFacadeInterface
{
Expand Down Expand Up @@ -54,6 +56,9 @@ public function updateProductAbstractUrl(ProductAbstractTransfer $productAbstrac
*/
public function canPersistProductAbstractUrl(ProductAbstractTransfer $productAbstractTransfer): bool
{
return $this->getFactory()->createProductUrlManager()->canPersistProductUrl($productAbstractTransfer);
/** @var \FondOfSpryker\Zed\Product\Business\ProductUrlManagerInterface $productUrlManager */
$productUrlManager = $this->getFactory()->createProductUrlManager();

return $productUrlManager->canPersistProductUrl($productAbstractTransfer);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace FondOfSpryker\Zed\Product\Business;

use FondOfSpryker\Zed\Product\Dependency\Facade\ProductToStoreInterface;
use FondOfSpryker\Zed\Product\ProductConfig;
use Generated\Shared\Transfer\LocaleTransfer;
use Generated\Shared\Transfer\ProductAbstractTransfer;
Expand Down Expand Up @@ -34,7 +33,6 @@ public function __construct(
ProductToUtilTextInterface $utilTextService,
ProductConfig $config
) {

parent::__construct($productAbstractNameGenerator, $localeFacade, $utilTextService);

$this->config = $config;
Expand Down
5 changes: 4 additions & 1 deletion src/FondOfSpryker/Zed/Product/Business/ProductUrlManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@ class ProductUrlManager extends SprykerProductUrlMananger implements ProductUrlM
*/
public function canPersistProductUrl(ProductAbstractTransfer $productAbstractTransfer): bool
{
/** @var \FondOfSpryker\Zed\Product\Dependency\Facade\ProductToUrlBridge $urlFacade */
$urlFacade = $this->urlFacade;

$productUrl = $this->urlGenerator->generateProductUrl($productAbstractTransfer);

foreach ($productUrl->getUrls() as $urlTransfer) {
$newUrlTransfer = new UrlTransfer();
$newUrlTransfer->setUrl($urlTransfer->getUrl());

$existingUrlTransfer = $this->urlFacade->findUrl($newUrlTransfer);
$existingUrlTransfer = $urlFacade->findUrl($newUrlTransfer);

if ($existingUrlTransfer === null) {
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
use Spryker\Zed\Product\Dependency\Plugin\ProductAbstractPluginCreateInterface;

/**
* @method \FondOfSpryker\Zed\Product\Business\ProductFacadInterface getFacade()
* @method \FondOfSpryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \Spryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Persistence\ProductQueryContainerInterface getQueryContainer()
* @method \Spryker\Zed\Product\Communication\ProductCommunicationFactory getFactory()
*/
class UrlProductAbstractAfterCreatePlugin extends AbstractPlugin implements ProductAbstractPluginCreateInterface
{
Expand All @@ -19,7 +21,10 @@ class UrlProductAbstractAfterCreatePlugin extends AbstractPlugin implements Prod
*/
public function create(ProductAbstractTransfer $productAbstractTransfer): ProductAbstractTransfer
{
$this->getFacade()->createProductAbstractUrl($productAbstractTransfer);
/** @var \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface $facade */
$facade = $this->getFacade();

$facade->createProductAbstractUrl($productAbstractTransfer);

return $productAbstractTransfer;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
use Spryker\Zed\Product\Dependency\Plugin\ProductAbstractPluginUpdateInterface;

/**
* @method \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \FondOfSpryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \Spryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Persistence\ProductQueryContainerInterface getQueryContainer()
* @method \Spryker\Zed\Product\Communication\ProductCommunicationFactory getFactory()
*/
class UrlProductAbstractAfterUpdatePlugin extends AbstractPlugin implements ProductAbstractPluginUpdateInterface
{
Expand All @@ -19,7 +21,10 @@ class UrlProductAbstractAfterUpdatePlugin extends AbstractPlugin implements Prod
*/
public function update(ProductAbstractTransfer $productAbstractTransfer): ProductAbstractTransfer
{
$this->getFacade()->updateProductAbstractUrl($productAbstractTransfer);
/** @var \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface $facade */
$facade = $this->getFacade();

$facade->updateProductAbstractUrl($productAbstractTransfer);

return $productAbstractTransfer;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
use Spryker\Zed\Product\Dependency\Plugin\ProductAbstractPluginCreateInterface;

/**
* @method \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \FondOfSpryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \Spryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Persistence\ProductQueryContainerInterface getQueryContainer()
* @method \Spryker\Zed\Product\Communication\ProductCommunicationFactory getFactory()
*/
class UrlProductAbstractBeforeCreatePlugin extends AbstractPlugin implements ProductAbstractPluginCreateInterface
{
Expand All @@ -22,7 +24,10 @@ class UrlProductAbstractBeforeCreatePlugin extends AbstractPlugin implements Pro
*/
public function create(ProductAbstractTransfer $productAbstractTransfer): ProductAbstractTransfer
{
if (!$this->getFacade()->canPersistProductAbstractUrl($productAbstractTransfer)) {
/** @var \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface $facade */
$facade = $this->getFacade();

if (!$facade->canPersistProductAbstractUrl($productAbstractTransfer)) {
throw new DuplicateUrlKeyException('Url key already exists!');
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
use Spryker\Zed\Product\Dependency\Plugin\ProductAbstractPluginUpdateInterface;

/**
* @method \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \FondOfSpryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Business\ProductFacadeInterface getFacade()
* @method \Spryker\Zed\Product\ProductConfig getConfig()
* @method \Spryker\Zed\Product\Persistence\ProductQueryContainerInterface getQueryContainer()
* @method \Spryker\Zed\Product\Communication\ProductCommunicationFactory getFactory()
*/
class UrlProductAbstractBeforeUpdatePlugin extends AbstractPlugin implements ProductAbstractPluginUpdateInterface
{
Expand All @@ -22,7 +24,10 @@ class UrlProductAbstractBeforeUpdatePlugin extends AbstractPlugin implements Pro
*/
public function update(ProductAbstractTransfer $productAbstractTransfer): ProductAbstractTransfer
{
if (!$this->getFacade()->canPersistProductAbstractUrl($productAbstractTransfer)) {
/** @var \FondOfSpryker\Zed\Product\Business\ProductFacadeInterface $facade */
$facade = $this->getFacade();

if (!$facade->canPersistProductAbstractUrl($productAbstractTransfer)) {
throw new DuplicateUrlKeyException('Url key already exists!');
}

Expand Down
Loading
Loading