upgrade to 2.3 throws
PHP Fatal error: Uncaught Error: Call to undefined method Drupal\commerce_license\Plugin\Commerce\LicenseType\LicenseTypeBase::create() in /var/www/public_html/modules/commerce_file/src/Plugin/Commerce/LicenseType/File.php:33
Stack trace:
#0 /var/www/public_html/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\commerce_file\Plugin\Commerce\LicenseType\File::create(Object(Drupal\Core\DependencyInjection\Container), Array, 'commerce_file', Array)
#1 /var/www/public_html/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(76): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance('commerce_file', Array)
#2 /var/www/public_html/modules/entity/src/BundlePlugin/BundlePluginHandler.php(70): Drupal\Component\Plugin\PluginManagerBase->createInstance('commerce_file')
#3 /var/www/public_html/modules/entity/entity.module(112): Drupal\entity\BundlePlugin\BundlePluginHandler->getFieldStorageDefinitions()
#4 /var/www/public_html/core/lib/Drupal/Core/Entity/EntityFieldManager.php(592): entity_entity_field_storage_info(Object(Drupal\Core\Entity\ContentEntityType))
#5 /var/www/public_html/core/lib/Drupal/Core/Extension/ModuleHandler.php(395): Drupal\Core\Entity\EntityFieldManager->{closure:Drupal\Core\Entity\EntityFieldManager::buildFieldStorageDefinitions():591}(Object(Closure), 'entity')
#6 /var/www/bigbay4b/public_html/modules/hook_event_dispatcher/src/HookEventDispatcherModuleHandler.php(68): Drupal\Core\Extension\ModuleHandler->invokeAllWith('entity_field_st...', Object(Closure))
#7 /var/www/public_html/core/lib/Drupal/Core/Entity/EntityFieldManager.php(589): Drupal\hook_event_dispatcher\HookEventDispatcherModuleHandler->invokeAllWith('entity_field_st...', Object(Closure))
#8 /var/www/public_html/core/lib/Drupal/Core/Entity/EntityFieldManager.php(466): Drupal\Core\Entity\EntityFieldManager->buildFieldStorageDefinitions('commerce_licens...')
#9 /var/www/public_html/core/lib/Drupal/Core/Entity/Routing/DefaultHtmlRouteProvider.php(359): Drupal\Core\Entity\EntityFieldManager->getFieldStorageDefinitions('commerce_licens...')
#10 /var/www/public_html/core/lib/Drupal/Core/Entity/Routing/DefaultHtmlRouteProvider.php(233): Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider->getEntityTypeIdKeyType(Object(Drupal\Core\Entity\ContentEntityType))
#11 /var/www/public_html/modules/commerce_license/src/LicenseRouteProvider.php(17): Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider->getCanonicalRoute(Object(Drupal\Core\Entity\ContentEntityType))
#12 /var/www/public_html/core/lib/Drupal/Core/Entity/Routing/DefaultHtmlRouteProvider.php(86): Drupal\commerce_license\LicenseRouteProvider->getCanonicalRoute(Object(Drupal\Core\Entity\ContentEntityType))
#13 /var/www/public_html/core/lib/Drupal/Core/EventSubscriber/EntityRouteProviderSubscriber.php(47): Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider->getRoutes(Object(Drupal\Core\Entity\ContentEntityType))
#14 [internal function]: Drupal\Core\EventSubscriber\EntityRouteProviderSubscriber->onDynamicRouteEvent(Object(Drupal\Core\Routing\RouteBuildEvent), 'routing.route_d...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#15 /var/www/public_html/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Drupal\Core\Routing\RouteBuildEvent), 'routing.route_d...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#16 /var/www/public_html/core/lib/Drupal/Core/Routing/RouteBuilder.php(184): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\Core\Routing\RouteBuildEvent), 'routing.route_d...')
#17 /var/www/public_html/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
#18 /var/www/public_html/core/includes/common.inc(485): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
#19 /var/www/public_html/core/includes/utility.inc(41): drupal_flush_all_caches(Object(Drupal\Core\DrupalKernel))
#20 /var/www/public_html/vendor/drush/drush/src/Commands/core/CacheRebuildCommands.php(65): drupal_rebuild(Object(Composer\Autoload\ClassLoader), Object(Symfony\Component\HttpFoundation\Request))
#21 [internal function]: Drush\Commands\core\CacheRebuildCommands->rebuild(Array)
#22 /var/www/public_html/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array(Array, Array)
#23 /var/www/public_html/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback(Array, Object(Consolidation\AnnotatedCommand\CommandData))
#24 /var/www/public_html/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter(Array, Array, Object(Consolidation\AnnotatedCommand\CommandData))
#25 /var/www/public_html/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(389): Consolidation\AnnotatedCommand\CommandProcessor->process(Object(Symfony\Component\Console\Output\ConsoleOutput), Array, Array, Object(Consolidation\AnnotatedCommand\CommandData))
#26 /var/www/public_html/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#27 /var/www/public_html/vendor/symfony/console/Application.php(1106): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /var/www/public_html/vendor/drush/drush/src/Application.php(201): Symfony\Component\Console\Application->doRunCommand(Object(Consolidation\AnnotatedCommand\AnnotatedCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /var/www/public_html/vendor/symfony/console/Application.php(324): Drush\Application->doRunCommand(Object(Consolidation\AnnotatedCommand\AnnotatedCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /var/www/public_html/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /var/www/public_html/vendor/drush/drush/src/Runtime/Runtime.php(113): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#32 /var/www/public_html/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun(Array, Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 /var/www/public_html/vendor/drush/drush/drush.php(140): Drush\Runtime\Runtime->run(Array)
#34 /var/www/public_html/vendor/bin/drush.php(119): include('/var/www/...')
#35 {main}
thrown in /var/www/public_html/modules/commerce_file/src/Plugin/Commerce/LicenseType/File.php on line 33
Issue fork commerce_file-3575518
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
nickolajFixed the fatal error in `File::create()` by replacing `parent::create()` with `new static()`. The parent class `LicenseTypeBase` extends `PluginBase` which does not implement `ContainerFactoryPluginInterface` or provide a `create()` method, so the instance must be constructed directly.
Comment #5
jsacksick commentedLicenseTypeBase defines a create() method in Commerce license 3.x, not 2.x, which is why...
Your change makes commerce_file work with Commerce License 2.x. However, the second Commerce license injects additional services this change will break but committing this still as for now this isn't the case.
Comment #7
jsacksick commented