sonata-project / SonataMediaBundle

Symfony SonataMediaBundle
https://docs.sonata-project.org/projects/SonataMediaBundle
MIT License
446 stars 498 forks source link

Installation of V4 breaks because it uses V3 recipe with non-existing gallery.xml #2305

Closed MantraMediaMike closed 2 years ago

MantraMediaMike commented 2 years ago

Environment

Sonata packages

show

``` $ composer show --latest 'sonata-project/*' sonata-project/admin-bundle 4.11.1 4.11.1 The missing Symfony Admin Generator sonata-project/block-bundle 4.12.0 4.12.0 Symfony SonataBlockBundle sonata-project/cache 2.2.0 2.2.0 Cache library Package sonata-project/cache is abandoned, you should avoid using it. No replacement was suggested. sonata-project/doctrine-extensions 1.17.0 1.17.0 Doctrine2 behavioral extensions sonata-project/doctrine-orm-admin-bundle 4.2.8 4.2.8 Integrate Doctrine ORM into the SonataAdminBundle sonata-project/exporter 2.11.0 2.11.0 Lightweight Exporter library sonata-project/form-extensions 1.16.0 1.16.0 Symfony form extensions sonata-project/media-bundle 4.1.5 4.1.5 Symfony SonataMediaBundle sonata-project/twig-extensions 1.9.1 1.9.1 Sonata twig extensions ```

Symfony packages

show

``` $ composer show --latest 'symfony/*' symfony/asset v6.0.7 v6.0.7 Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files symfony/cache v6.0.8 v6.0.8 Provides an extended PSR-6, PSR-16 (and tags) implementation symfony/cache-contracts v3.0.1 v3.0.1 Generic abstractions related to caching symfony/config v6.0.8 v6.0.8 Helps you find, load, combine, autofill and validate configuration values of any kind symfony/console v6.0.8 v6.0.8 Eases the creation of beautiful and testable command line interfaces symfony/dependency-injection v6.0.8 v6.0.8 Allows you to standardize and centralize the way objects are constructed in your application symfony/deprecation-contracts v3.0.1 v3.0.1 A generic function and convention to trigger deprecation notices symfony/doctrine-bridge v6.0.8 v6.0.8 Provides integration for Doctrine with various Symfony components symfony/dotenv v6.0.5 v6.0.5 Registers environment variables from a .env file symfony/error-handler v6.0.8 v6.0.8 Provides tools to manage errors and ease debugging PHP code symfony/event-dispatcher v6.0.3 v6.0.3 Provides tools that allow your application components to communicate with each other by dispatching events and listening to them symfony/event-dispatcher-contracts v3.0.1 v3.0.1 Generic abstractions related to dispatching event symfony/expression-language v6.0.8 v6.0.8 Provides an engine that can compile and evaluate expressions symfony/filesystem v6.0.7 v6.0.7 Provides basic utilities for the filesystem symfony/finder v6.0.8 v6.0.8 Finds files and directories via an intuitive fluent interface symfony/flex v2.1.8 v2.1.8 Composer plugin for Symfony symfony/form v6.0.8 v6.0.8 Allows to easily create, process and reuse HTML forms symfony/framework-bundle v6.0.8 v6.0.8 Provides a tight integration between Symfony components and the Symfony full-stack framework symfony/http-client v6.0.8 v6.0.8 Provides powerful methods to fetch HTTP resources synchronously or asynchronously symfony/http-client-contracts v3.0.1 v3.0.1 Generic abstractions related to HTTP clients symfony/http-foundation v6.0.8 v6.0.8 Defines an object-oriented layer for the HTTP specification symfony/http-kernel v6.0.8 v6.0.8 Provides a structured process for converting a Request into a Response symfony/intl v6.0.8 v6.0.8 Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library symfony/maker-bundle v1.43.0 v1.43.0 Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code. symfony/messenger v6.0.8 v6.0.8 Helps applications send and receive messages to/from other applications or via message queues symfony/mime v6.0.8 v6.0.8 Allows manipulating MIME messages symfony/monolog-bridge v6.0.3 v6.0.3 Provides integration for Monolog with various Symfony components symfony/monolog-bundle v3.8.0 v3.8.0 Symfony MonologBundle symfony/options-resolver v6.0.3 v6.0.3 Provides an improved replacement for the array_replace PHP function symfony/password-hasher v6.0.8 v6.0.8 Provides password hashing utilities symfony/polyfill-intl-grapheme v1.25.0 v1.25.0 Symfony polyfill for intl's grapheme_* functions symfony/polyfill-intl-icu v1.25.0 v1.25.0 Symfony polyfill for intl's ICU-related data and classes symfony/polyfill-intl-idn v1.25.0 v1.25.0 Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions symfony/polyfill-intl-normalizer v1.25.0 v1.25.0 Symfony polyfill for intl's Normalizer class and related functions symfony/polyfill-mbstring v1.25.0 v1.25.0 Symfony polyfill for the Mbstring extension symfony/polyfill-php81 v1.25.0 v1.25.0 Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions symfony/polyfill-uuid v1.25.0 v1.25.0 Symfony polyfill for uuid functions symfony/process v6.0.8 v6.0.8 Executes commands in sub-processes symfony/property-access v6.0.8 v6.0.8 Provides functions to read and write from/to an object or array using a simple string notation symfony/property-info v6.0.7 v6.0.7 Extracts information about PHP class' properties using metadata of popular sources symfony/routing v6.0.8 v6.0.8 Maps an HTTP request to a set of configuration variables symfony/runtime v6.0.8 v6.0.8 Enables decoupling PHP applications from global state symfony/security-acl v3.3.1 v3.3.1 Symfony Security Component - ACL (Access Control List) symfony/security-bundle v6.0.8 v6.0.8 Provides a tight integration of the Security component into the Symfony full-stack framework symfony/security-core v6.0.8 v6.0.8 Symfony Security Component - Core Library symfony/security-csrf v6.0.3 v6.0.3 Symfony Security Component - CSRF Library symfony/security-http v6.0.8 v6.0.8 Symfony Security Component - HTTP Integration symfony/serializer v6.0.8 v6.0.8 Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON. symfony/service-contracts v3.0.1 v3.0.1 Generic abstractions related to writing services symfony/stopwatch v6.0.5 v6.0.5 Provides a way to profile code symfony/string v6.0.8 v6.0.8 Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way symfony/translation v6.0.8 v6.0.8 Provides tools to internationalize your application symfony/translation-contracts v3.0.1 v3.0.1 Generic abstractions related to translation symfony/twig-bridge v6.0.8 v6.0.8 Provides integration for Twig with various Symfony components symfony/twig-bundle v6.0.8 v6.0.8 Provides a tight integration of Twig into the Symfony full-stack framework symfony/uid v6.0.3 v6.0.3 Provides an object-oriented API to generate and represent UIDs symfony/validator v6.0.8 v6.0.8 Provides tools to validate values symfony/var-dumper v6.0.8 v6.0.8 Provides mechanisms for walking through any arbitrary PHP variable symfony/var-exporter v6.0.8 v6.0.8 Allows exporting any serializable PHP data structure to plain PHP code symfony/yaml v6.0.3 v6.0.3 Loads and dumps YAML files ```

PHP version

$ php -v
PHP 8.1.6

Subject

If you install the bundle and accept the recipe, it is using https://github.com/symfony/recipes-contrib/tree/main/sonata-project/media-bundle/3.13 which contains

sonata_media_gallery: resource: '@SonataMediaBundle/Resources/config/routing/gallery.xml' prefix: /media/gallery

But there is no gallery.xml in /Resources/config/routing/ , just media.xml

Minimal repository with the bug

Steps to reproduce

Expected results

The installation works

Actual results

The installation breaks with

Unable to find file "@SonataMediaBundle/Resources/config/routing/gallery.xm !! l" in @SonataMediaBundle/Resources/config/routing/gallery.xml (which is bei !! ng imported from "/home/mike/code/prediction/config/routes/sonata_media.yam !! l"). Make sure the "SonataMediaBundle" bundle is correctly registered and l !! oaded in the application kernel class. If the bundle is registered, make su !! re the bundle path "@SonataMediaBundle/Resources/config/routing/gallery.xml !! " is not empty. !! !! !! In Kernel.php line 260: !! !! Unable to find file "@SonataMediaBundle/Resources/config/routing/gallery.xm !! l".

VincentLanglet commented 2 years ago

This is because there is no 4.x recipe. Do you want to provide one @Mantra-Media ?

Removing

sonata_media_gallery:
    resource: '@SonataMediaBundle/Resources/config/routing/gallery.xml'
    prefix: /media/gallery

might be enough.

cc @jordisala1991

MantraMediaMike commented 2 years ago

Will do!