-
Notifications
You must be signed in to change notification settings - Fork 48
Dependency errors when installed with prefer-lowest #83
Comments
Hello :-), Hoa uses a rolling-release approach, and thus, does not recommend to use the |
@Hywan I'm not sure to follow, why using a rolling release approach shouldn't be used with |
@Hywan Thanks for reply. |
Few things here indeed:
@Majkl578 until this issue is solved (or at least re-opened) we really can't add a dependency here: the implications are massive. EDIT: clarifying further on this bit:
Hoa can safely be used in applications, where dependencies are locked, but a rolling release library absolutely cannot be used as a dependency of a library (any library). I know this is absolutely breaking the eggs in your basket, but we'll need some sort of very clear agreement on how to constrain dependencies before moving forward (should work with the |
Let me rephrase a little bit :-). Hoa adopts rolling-release, but uses a semver-compliant versionning number to be compatible with the rest of the world. So that's why you can safely require I'm not very familiar with |
One solution on your side seems to write:
but it's annoying for you. Or, we can switch the whole Hoa ecosystem to semver strictly. We are in a middle of huge refactoring for PHP 7.1, so… we can tag all new libraries as semver only and drop rush versionning, it does not sound like a big deal in our context. cc @vonglasow |
We are having an internal discussion about whether we should drop Rush in favor of strict semver, or add constraints everywhere. What I can ensure you is that your problem will be fixed :-). |
The discussion turns to be: We will finish the rewrite of Hoa for PHP 7.1-2, and then we will drop the rolling release approach to go to a strict semver. Will it work for you? |
Using
Thus, using Also note that using tilde is not ideal (since it has confusing behavior), caret is preferred: https://getcomposer.org/doc/articles/versions.md#tilde-version-range-
Imho in the end, this will be a huge win for you too, since your consumers will be familiar with it and confident when using Hoa, unlike current versioning, which is confusing to some people. 👍
Sounds good to me, do you have any timeline? |
If you do, that will be damn ace! Thanks! |
I'm glad you are happy with our decisions :-). Indeed, the Rush Release format is not compatible with
I've been very absent these past months for personal reasons. I consider I'm back on tracks now. We are planning a Hoa Virtual Meeting (http://discourse.hoa-project.net/t/hoa-virtual-meeting/22/33) to elaborate a plan and a timeline to finish this PHP 7.1-2 rewrite. Note that all timelines are not written in stone, this is more a less a goal we try to reach.
Thanks for the proposal! So far, I've mainly been the only one working on the PHP 7.1-2 rewrite. I think we will come with a plan or a guide describing steps to follow to update the code. So since then, everything you can do is to subscribe to hoaproject/Central#75 I guess. Many thanks for your feedbacks and the trust you put in Hoa :-). |
Update for the people not reading the other thread. Refactoring to make hoa php 7 is on going.
|
While attempting to run the suite locally with lowest dependencies (Composer's
--prefer-lowest
), it crashes right away:When using Compiler as dependency and installing with
--prefer-lowest
, it produces lots of errors, regarding the deprecated cast, but also non-existent class Hoa\Iterator\Buffer. See Travis log here: https://travis-ci.org/schmittjoh/serializer/jobs/371673251#L580Compiler must, as a library, require lowest versions of its dependencies in versions it works with.
The text was updated successfully, but these errors were encountered: