floriansemm / SolrBundle

Solr-Integration into Symfony and Doctrine2
http://floriansemm.github.io/SolrBundle
MIT License
123 stars 73 forks source link

:dev-master install on SF4.0.6 conflicts with 'solarium/solarium ^4' #175

Closed ghost closed 6 years ago

ghost commented 6 years ago

noting commit to master for SF4 compatibility

@romain-pierre Adds supports for Symfony 4 e784e6d on Nov 8, 2017

on

bin/console --version
    Symfony 4.0.6 (kernel: src, env: dev, debug: true)
composer show -l | egrep "symfony/event-dispatcher|security-bundle"
    symfony/event-dispatcher  v4.0.6         = v4.0.6
    symfony/security-bundle   v4.0.6         = v4.0.6

on SF4, solarium/solarium requires ^4 branch

composer show -l | grep solarium/solarium
    solarium/solarium         4.0.0-beta.1   = 4.0.0-beta.1

solarium v3.9.0-alpha is not installable

composer require solarium/solarium:3.9.0-alpha ``` ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for solarium/solarium 3.9.0-alpha -> satisfiable by solarium/solarium[v3.9.0-alpha]. - solarium/solarium v3.9.0-alpha requires symfony/event-dispatcher ^2.7 || ^3.0 -> satisfiable by symfony/event-dispatcher[2.7.x-dev, 2.8.x-dev, 3.0.x-dev, 3.1.x-dev, 3.2.x-dev, 3.3.x-dev, 3.4.x-dev, v2.7.0, v2.7.0-BETA1, v2.7.0-BETA2, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.0-BETA1, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.4, v2.8.5, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.0-BETA1, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.0-BETA1, v3.1.0-RC1, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.0-BETA1, v3.2.0-RC1, v3.2.0-RC2, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.0-BETA1, v3.3.0-RC1, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.0-BETA1, v3.4.0-BETA2, v3.4.0-BETA3, v3.4.0-BETA4, v3.4.0-RC1, v3.4.0-RC2, v3.4.1, v3.4.2, v3.4.3, v3.4.4, v3.4.5, v3.4.6] but these conflict with your requirements or minimum-stability. Problem 2 - floriansemm/solr-bundle v1.6 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.1 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.2 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.3 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.4 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.5 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.6 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.6.1 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - floriansemm/solr-bundle v1.6.7 requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[v3.9.0-alpha]. - solarium/solarium v3.9.0-alpha requires symfony/event-dispatcher ^2.7 || ^3.0 -> satisfiable by symfony/event-dispatcher[2.7.x-dev, 2.8.x-dev, 3.0.x-dev, 3.1.x-dev, 3.2.x-dev, 3.3.x-dev, 3.4.x-dev, v2.7.0, v2.7.0-BETA1, v2.7.0-BETA2, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.0-BETA1, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.4, v2.8.5, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.0-BETA1, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.0-BETA1, v3.1.0-RC1, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.0-BETA1, v3.2.0-RC1, v3.2.0-RC2, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.0-BETA1, v3.3.0-RC1, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.0-BETA1, v3.4.0-BETA2, v3.4.0-BETA3, v3.4.0-BETA4, v3.4.0-RC1, v3.4.0-RC2, v3.4.1, v3.4.2, v3.4.3, v3.4.4, v3.4.5, v3.4.6] but these conflict with your requirements or minimum-stability. - Installation request for floriansemm/solr-bundle ^1.6 -> satisfiable by floriansemm/solr-bundle[v1.6, v1.6.1, v1.6.2, v1.6.3, v1.6.4, v1.6.5, v1.6.6, v1.6.6.1, v1.6.7]. ```

installing solr-bundle:dev-master fails, requiring (including) solarium/solarium v3.9.0-alpha

composer require floriansemm/solr-bundle:dev-master ``` ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for floriansemm/solr-bundle dev-master -> satisfiable by floriansemm/solr-bundle[dev-master]. - floriansemm/solr-bundle dev-master requires solarium/solarium ^3.6 -> satisfiable by solarium/solarium[3.6.0, 3.7.0, 3.8.0, 3.8.1, 3.x-dev, v3.9.0-alpha] but these conflict with your requirements or minimum-stability. ```
ghost commented 6 years ago

My WIP branch was not intended to be merged, I'm still working on some improvements with the Symfony 4 support.

At this time, you could use this version requirement for solarium in your composer.json:

"solarium/solarium": "4.x-dev as 3.6.0",

ghost commented 6 years ago

Fyi, there's no 4.x-dev branch available at

composer show -a solarium/solarium | grep versions
    versions : dev-master, 4.0.0-beta.1, 4.0.0-alpha.2, 4.0.0-alpha.1, 3.x-dev, v3.9.0-alpha, 3.8.1, 3.8.0, 3.7.0, 3.6.0, 3.5.1, 3.5.0, 3.4.1, 3.4.0, 3.3.0, 3.2.0, 3.2.0-RC1, 3.1.2, 3.1.1, 3.1.0, 3.1.0-RC1, 3.0.1, 3.0.0, 3.0.0-RC1, 2.4.1, 2.4.0, 2.3.0, dev-psr-4, dev-postbig, dev-basdenooijer-patch-1, dev-backport-use-travis-cache-for-solr-download, dev-master_prepare_4.0.0-alpha.1, dev-issue-550-use-php-http-library, dev-increase_compatibility, dev-cache_solr_downloads

But to your general point

composer require solarium/solarium "4.0.0-beta.1 as 3.6.0"
grep solarium composer.json
    "solarium/solarium": "4.0.0-beta.1 as 3.6.0",

Fyi, now

composer -vv require floriansemm/solr-bundle:dev-master
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Dependency resolution completed in 0.834 seconds
    Analyzed 21414 packages to resolve dependencies
    Analyzed 611979 rules to resolve dependencies
    Dependency resolution completed in 0.002 seconds
    Package operations: 3 installs, 0 updates, 0 removals
    Installs: ramsey/uuid:3.7.3, minimalcode/search:1.0.1, floriansemm/solr-bundle:dev-master 6e64915
      - Installing ramsey/uuid (3.7.3): Loading from cache
     Extracting archive    REASON: floriansemm/solr-bundle dev-master requires ramsey/uuid ^3.5 -> satisfiable by ramsey/uuid[3.5.0, 3.5.1, 3.5.2, 3.6.0, 3.6.1, 3.7.0, 3.7.1, 3.7.2, 3.7.3].

      - Installing minimalcode/search (1.0.1): Loading from cache
     Extracting archive    REASON: floriansemm/solr-bundle dev-master requires minimalcode/search ^1.0 -> satisfiable by minimalcode/search[1.0.1].

      - Installing floriansemm/solr-bundle (dev-master 6e64915): Loading from cache
     Extracting archive    REASON: Required by the root package: Install command rule (install floriansemm/solr-bundle dev-master)

    Writing lock file
    Generating autoload files
    ocramius/package-versions:  Generating version class...
    ocramius/package-versions: ...done generating version class
    Symfony operations: 1 recipe (fdc992f53f71171a94f834a391a4441c)
      - Configuring floriansemm/solr-bundle (>=dev-master): From auto-generated recipe
        Enabling the package as a Symfony bundle
    > post-update-cmd: @auto-scripts
    Executing script cache:clear
    Executed script cache:clear  [KO]
     [KO]
    Script cache:clear returned with error code 255
    !!  PHP Fatal error:  Class FS\SolrBundle\DataCollector\RequestCollector contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface::reset) in /home/test/vendor/floriansemm/solr-bundle/FS/SolrBundle/DataCollector/RequestCollector.php on line 100
    !!
    !!  In RequestCollector.php line 100:
    !!
    !!    Error: Class FS\SolrBundle\DataCollector\RequestCollector contains 1 abstra
    !!    ct method and must therefore be declared abstract or implement the remainin
    !!    g methods (Symfony\Component\HttpKernel\DataCollector\DataCollectorInterfac
    !!    e::reset)
    !!
    !!
    !!
ghost commented 6 years ago

https://github.com/solariumphp/solarium/blob/aebed2abc3f319ab89eb3733591e549d116c0f70/composer.json#L30

And, for the error, you just have to define the method temporarily, until I push a deeper support for Symfony 4.

ghost commented 6 years ago

176

Will not resolve the conflict with Solarium but I don't recommands to rely on Solarium before the version stable 4 release.

floriansemm commented 6 years ago

I have reverted the support for SF4, because solarium 4.0 is not yet stable. Please do not the master-branch, it would be to risky.

ghost commented 6 years ago

@floriansemm

fyi, re:

I have reverted the support for SF4, because solarium 4.0 is not yet stable

solarium/solarium 4.0's been released:

https://github.com/solariumphp/solarium/releases/tag/4.0.0

ghost commented 6 years ago

All the work have been done yet, maybe the last change to apply on this bundle is to remove "minimum-stability": "RC" in the composer.json