Skip to content

Latest commit

 

History

History
126 lines (100 loc) · 7.63 KB

before-monorepo.md

File metadata and controls

126 lines (100 loc) · 7.63 KB

Before monorepo

Before we managed to implement monorepo for our packages, we had slightly different versions for each of our package, that's why is this section formatted differently from the other upgrading guides.

This guide contains instructions to upgrade packages before monorepo was introduced.

Before you start, don't forget to take a look at general instructions about upgrading. There you can find links to upgrade notes for other versions too.

From 0.4.2 to 0.5.0

From 0.4.0 to 0.4.1

From 0.2.0 to 0.4.0

From 0.1.0 to 0.2.0

From 0.4.0 to 0.4.1

From 0.3.0 to 0.4.0

From 0.1.0 to 0.2.0

From 0.2.0 to 0.2.1

From 0.1.1 to 0.2.0

From 0.4.0 to 0.5.0

  • implement method getMainCategoryId() in your implementations of StandardFeedItemInterface.

From 0.3.0 to 0.4.0

  • implement method isSellingDenied() for all implementations of StandardFeedItemInterface.
  • you have to take care of filtering of non-sellable items in implementations of FeedConfigInterface::processItems() in your product feed plugin because the instances of StandardFeedItemInterface passed as an argument can be non-sellable now.
  • implement method getAdditionalInformation() in your implementations of FeedConfigInterface.
  • implement method getCurrencyCode() in your implementations of StandardFeedItemInterface.

From 0.2.0 to 0.3.0

  • remove method getFeedItemRepository() from all implementations and usages of FeedConfigInterface.

From 0.1.0 to 0.2.0

  • Rename all implementations and usages of FeedItemInterface::getItemId() to getId().
  • Rename all implementations and usages of FeedItemCustomValuesProviderInterface to HeurekaCategoryNameProviderInterface.
  • If you are using custom values in your implementation, you need to implement interfaces from package shopsys/plugin-interface (see how to work with data storage interface).

From 0.2.0 to 0.3.0

  • all implementations of DataStorageInterface now must have implemented method getAll() for getting all saved data indexed by keys

From 2.0.0-beta.21.0 to v7.0.0-alpha1

  • manual upgrade from this version will be very hard because of BC-breaking extraction of shopsys/framework
    • at this moment the core is not easily extensible by your individual functionality
    • before upgrading to the new architecture you should upgrade to Dockerized architecture of 2.0.0-beta.21.0
    • the upgrade will require overriding or extending of all classes now located in
      shopsys/framework that you customized in your forked repository
    • it would be wise to wait with the upgrade until the newly build architecture has matured
  • update custom tests to be compatible with phpunit 7. For further details visit phpunit release announcements phpunit 6 and phpunit 7

From 2.0.0-beta.20.0 to 2.0.0-beta.21.0

  • do not longer use Phing targets standards-ci and standards-ci-diff, use standards and standards-diff instead

From 2.0.0-beta.17.0 to 2.0.0-beta.18.0

  • use SimpleCronModuleInterface and IteratedCronModuleInterface from their new namespace Shopsys\Plugin\Cron (instead of Shopsys\FrameworkBundle\Component\Cron)

From 2.0.0-beta.16.0 to 2.0.0-beta.17.0

  • coding standards for JS files were added, make sure phing eslint-check passes
    (you can run phing eslint-fix to fix some violations automatically)

From 2.0.0-beta.15.0 to 2.0.0-beta.16.0

  • all implementations of Shopsys\ProductFeed\FeedItemRepositoryInterface must implement interface Shopsys\FrameworkBundle\Model\Feed\FeedItemRepositoryInterface instead
  • parameter email_for_error_reporting was renamed to error_reporting_email_to in app/config/parameter.yml.dist, you will be prompted to fill it out again during composer install
  • all implementations of StandardFeedItemInterface must implement methods isSellingDenied() and getCurrencyCode(), see product-feed-interface

From 3.x to 4.0

  • In order to run all checks, there is new unified way - execute php vendor/bin/ecs check /path/to/project --config=vendor/shopsys/coding-standards/easy-coding-standard.neon

Example of custom configuration file

Version 3.x and lower
// custom phpcs-fixer.php_cs
$originalConfig = include __DIR__ . '/../vendor/shopsys/coding-standards/build/phpcs-fixer.php_cs';

$originalConfig->getFinder()
    ->exclude('_generated');

return $originalConfig;
Version 4.0 and higher
#custom-coding-standard.neon
includes:
    - vendor/symplify/easy-coding-standard/config/psr2-checkers.neon
    - vendor/shopsys/coding-standards/shopsys-coding-standard.neon
parameters:
    exclude_files:
        - *_generated/*