-
-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues with the new update mechanism #293
Comments
For, For haxelib haxelib & project-local repository, that's an interesting question... I think "do not search local repo" would give less surprising result. I have to give it a bit more thought. |
You mean, just exit with an error message (suggesting |
UPD: added one more item we need to make sure is handled correctly
|
(haxelib remove --safe) (haxe upgrade doesn't upgrade haxelib) (performance cost) (project local repo) (no setup) |
That happens when you do
Yeah, and I added some error handling here: 55c1414 |
Sounds reasonable, I guess we have to add some more checks here and there. I'll do it! |
Maybe we should at least emit a warning if bundled haxelib is about to run library haxelib of earlier version? |
We already do (almost finished) emit a warning: "update available". |
Right. There's a small concern that a newer haxe might DEPEND on a newer haxelib version, but I guess if that ever happens, we can handle it specifically. |
I tried updating haxelib to the latest version in haxe and it revealed something: https://travis-ci.org/HaxeFoundation/haxe/jobs/115524038 |
Oh, I don't understand why path would fail in the second one. |
Oh crap. Am I correct thinking that it's this:
This can be fixed by passing library name via an env var and checking it in haxelib.
It may have the same root. |
A quick search on github shows that we can't change |
…heck for it in haxelib (see #293). Let's see if it helps.
Okay. That helped (and is actually useful for haxelibs in general). But as with any new public API I have concerns whether it's good or bad. At the moment I can't think of another options, so if noone objects before the release, It'll stay like this. :) |
Sounds good to me. |
I've put a |
Sounds fine. What OS are you on btw? |
Linux (openSuse) |
I remembered to compare with the old Asking for the path of flixel takes:
|
Ouf of interest, could you provide these numbers with latest haxe/haxelib? :) |
well latest haxelib, don't care about haxe here |
for me on Windows it's around 0.044. I guess this is fine after all. |
An average of 550 ms, adding |
That's great! |
I wonder why is it slower though, is there a bottleneck in haxe interp regarding to spawning process? |
Since it's more or less the same time with or without |
Regarding project-local haxelib, we settled somewhere in the middle, see #295 |
Only one item left, I can update the doc if you want. |
Feel free, I have to go afk for an hour or two anyway :) |
Maybe |
What about renaming |
Or that not using it is unsafe. I think that |
It would also be nice to decide on the terminology. How do we call the haxelibs? |
Personally I don't call them haxelibs, that's too confusing, simply libraries. I think it could be a bit late to find a nice term like ruby's gems. |
yeah too bad our language isn't named after diamonds and snakes :-P |
Haxe is usually eaten with potatoes and sauerkraut, not catchy names for libraries :D So I guess all that's left in this issue is to rename safe into system in the code and doc? |
I like "potato"!
Yeah I think so. Everything seems to work so far :) |
Could I get the result of a simple Hello class using |
https://gist.github.com/nadako/93e659e10542caab5a2a As mentioned earlier, the slowdown on Windows is about BTW, I'd like to look at these numbers on Linux/OSX. |
Thanks, that looks good enough for now. And yes loading run.n would prevent having to start one extra process, especially if you just need to resolve the .n directory then call it with the exact same arguments. |
I'll look into it later and do some measurements. |
I'll make a list of issues found with the new haxelib update mechanism, so we don't forget about them:
haxelib remove haxelib
fails (at least on Windows) because the directory withrun.n
file is busy. One option would be to always use bundled haxelib if we're removinghaxelib
, but that sounds pretty hacky.haxelib path
, since now we do some extra work (extra fs queries, readinghaxelib.json
, invokingneko run.n
). However I wouldn't be surprised if it'll perform on par or even faster on Unixes becausehaxe --interp
mode we used earlier is slower than Neko./etc/.haxelib
or~/.haxelib
file, noHAXELIB_PATH
env var)--safe
option if haxelib installation is messed upcc @ibilon
The text was updated successfully, but these errors were encountered: