floriansemm/SolrBundle

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

Closed this issue · 7 comments

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.

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",

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)
	!!
	!!
	!!

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.

#176

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

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.

@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

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