-
Notifications
You must be signed in to change notification settings - Fork 8
Nucleus release issue #32
Comments
Hello @Hywan! Is there a way to find quickly all the wrong composer.json repos to update ? Why rolling back to previous composer version ? |
No it won't work with this workflow. We need new branches. cc @CircleCode |
@shulard |
I also don't get the point in rolling back the change |
Forget my proposal. How will you fix this situation? Do you understand it? |
I'm not really aware of what is possible to do with composer but is there a way to have a conditional rules in |
It seems ok now with the new consistency snapshot... I tried to install |
@shulard No it cannot. This is not related. |
To be honest, I think the real problem is that we have stable (tagged) libraries requiring unstable ones. |
ATM, I don't see any elegant way of solving this. |
@CircleCode Exactly, and we are working hard on finalizing (making them stable). But we have an issue right now :-). How to solve it? |
@CircleCode Maybe just throw a notice? With apologies. |
@Hywan we have ton find a way to flag BC on unstable lib |
@CircleCode Here is a new proposal. Let's consider |
@Jir4 We should not have unstable libraries in fact. |
@Hywan We need tell them to specify the release of all the beta dependencies. It's like that i solve my problem when i reporting the issue Monday morning. |
until they have drop |
@Hywan a lib cannot be stable from the beginning, so for each lib that we will able to add, it will have some times where the lib will be unstable |
@Pierozi I'm not sure Hoa\Core is THE point: future BC breaks in 0.* libs will do the same.
I think we MUST NOT (rather than should not) have unstable libraries required by stable libraries. |
@CircleCode i agree with your last sentence |
So
And expain what to do ? (explain in #32 (comment)) |
@CircleCode you right future BC between dependencies can still exist. We cannot specify in composer.json a conflit version ? |
the problem is: is there a way to fix it on the user side? |
@CircleCode checking git tag ? ^^ |
if it can be fixed on user side, so we juste have to apologize, explain it, and stabilize any lib required by a stable lib. Again, how many unstable libraries are concerned? (I mean, how many unstable libs arerequired by stable ones?) |
Nop, because we will avoid having unstable dependencies. So, @hoaproject/hoackers, what do you suggest? We have to take a decision. Maybe we have to make a vote? |
what does it mean for stable libs currently depending of unstable libs? |
@CircleCode We have to stabilize unstable libs and this situation will not happen anymore. |
Make an snapshot with "0.15.0" make sense as an hotfix :D. |
I have another idea. We can delete the latest tags of unstable libraries. Thus, the problem disappears. Then, we create another snapshot but as stable. Most libraries are stables now. Thoughts @hoaproject/hoackers? |
I love this idea, but have some remarks:
|
@Hywan 👍 but we have to be sure that the lib is really stable @CircleCode 👍 on all your points ( and an other 👍 for the 2, it will avoid further issues ) |
@Hywan 👍 |
Hey guys, it seems that you have found the simpler way to handle the current problem 😄. For me the 3 points mentioned by @CircleCode are the right rules to be followed. |
That mean if i call |
@Pierozi Currently, |
Got it ! 👍 |
@CircleCode @Jir4 Some unstable libraries are not required at all, like $ cat */composer.json | grep '~0.' | cut -d\ -f 9 | grep hoa | sed -e 's/[": ]*//g' | sort | uniq
hoa/devtools
hoa/dispatcher
hoa/file
hoa/graph
hoa/http
hoa/math
hoa/praspel
hoa/realdom
hoa/regex
hoa/socket
hoa/stream
hoa/stringbuffer
hoa/xml
hoa/xyl
hoa/zformat This is all the libraries we need to update as stables. Here we go:
It should not take a lot of time. Reminder of the strategy:
Agree? |
Actually the strategy is not that simple. For instance, |
Anyway, we can have a better strategy but the final list seems correct. All these libraries are stables. The API didn't change since a long time. Even if it changes, it will be a BC break. It's not a big deal. Is everyone agree? |
(just |
👍 Agree, about |
@CircleCode, @Hywan Agree, seem good for me @Pierozi |
@Metalaka Exact about I am starting. Then lunch, then night and I will finish this night. |
Note: I don't change the |
Done. All dependencies, except |
To get the list of all libraries to update: $ for i in `\ls`; do if test ! -f $i/composer.json; then continue; fi; cd $i; if test 0 != $(cat composer.json | grep '~0.' | wc -l); then echo $i; fi; cd ..; done Hmm nop, actually we must filter by stable/unstable libraries. An unstable library (~0.*) can have unstable dependencies. So: $ for i in `\ls`; do if test ! -f $i/composer.json; then continue; fi; cd $i; if test 0 != $(git tag | grep '0.16' | wc -l); then cd .. && continue; fi; if test 0 != $(cat composer.json | grep '~0.' | wc -l); then echo $i; fi; cd ..; done
Cli
Compiler
Console
Devtools
Dispatcher
Eventsource
File
Http
Json
Locale
Math
Mime
Praspel
Realdom
Regex
Router
Ruler
Socket
Stringbuffer
Test
Websocket
Worker
Xml
Xyl So here is the progression list:
|
Now, if I install $ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing hoa/core (2.15.11.09)
Loading from cache
- Installing hoa/visitor (1.15.08.17)
Loading from cache
- Installing hoa/iterator (1.15.10.29)
Loading from cache
- Installing hoa/stream (0.15.10.26)
Loading from cache
- Installing hoa/file (0.15.11.09)
Loading from cache
- Installing hoa/ustring (3.15.11.09)
Loading from cache
- Installing hoa/compiler (2.15.10.29)
Loading from cache
- Installing hoa/regex (0.15.08.13)
Loading from cache
- Installing hoa/math (0.15.10.26)
Loading from cache
- Installing hoa/ruler (1.15.11.09)
Loading from cache which is what we expect! $ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing hoa/core (2.15.11.09)
- Installing hoa/exception (1.16.01.11)
Loading from cache
- Installing hoa/consistency (1.16.01.14)
Loading from cache
- Installing hoa/event (1.16.01.11)
Loading from cache
- Removing hoa/visitor (1.15.08.17)
- Installing hoa/visitor (2.16.01.11)
Loading from cache
- Removing hoa/iterator (1.15.10.29)
- Installing hoa/iterator (2.16.01.11)
Loading from cache
- Installing hoa/protocol (1.16.01.11)
Loading from cache
- Removing hoa/stream (0.15.10.26)
- Installing hoa/stream (1.16.01.14)
Loading from cache
- Removing hoa/file (0.15.11.09)
- Installing hoa/file (1.16.01.15)
Loading from cache
- Removing hoa/ustring (3.15.11.09)
- Installing hoa/ustring (4.16.01.11)
Loading from cache
- Installing hoa/zformat (1.16.01.14)
Loading from cache
- Removing hoa/compiler (2.15.10.29)
- Installing hoa/compiler (3.16.01.14)
Loading from cache
- Removing hoa/math (0.15.10.26)
- Installing hoa/math (1.16.01.15)
Loading from cache
- Removing hoa/regex (0.15.08.13)
- Installing hoa/regex (1.16.01.15)
Loading from cache
- Removing hoa/ruler (1.15.11.09)
- Installing hoa/ruler (2.16.01.15)
Downloading: 100% This is what we expect! |
@Hywan Good job ! |
Thank you everyone for your participations! Awesome community ❤️! |
Hello :-),
We have a big issues with the not-finalized libraries. They are tagged as
0.*
. We require~0.0
in this case. This is wrong. Here is why.Try this:
and then
See what's wrong here? Because of
hoa/stream
in0.…
, it will load0.16.01.11
and thenhoa/consistency
etc., and it will create a conflict withhoa/core
.To solve this, this is easy. Track all
composer.json
files with a~0.0
dependency, and add this:~0.0,<=0.15
, it will work. However, I don't want to create another branch just for that, so here is my proposal:composer.json
with~0.0
dependencies,~0.15.0
or~0.0,<=0.15
,master
,0.15.12.31
snapshot,composer.json
and re-commit,What do you think @hoaproject/hoackers?
The text was updated successfully, but these errors were encountered: