-
Notifications
You must be signed in to change notification settings - Fork 72
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
Automatic V8 DEPS detection #168
Comments
Note that I intentionally didn't use |
We can have a |
There are also the gitignore updates that are related to the deps that we use. |
As a first step, would you be willing to add add Edit: also |
I'm open to anything that works 😄 |
Cool! I'll try to get this working with Edit: and maybe in the near future we can drop the |
Are you ready for the nightmare it will be to make it work on Windows? :D |
I'm ready to push super hard for us to drop msvc and support only clang like V8 does 😅 |
|
That's with the full fetch, which includes binary files and the git folder, those folder are considerably smaller when cloning a single commit |
This is what I get with |
I don't think so, but maybe we can |
those folders are git repo. |
I like the idea. But I have bad experience both with depot_tools and gclient even on linux (setup and sync issue). Also git submodule actually is pretty mess up. Maybe publish related toolchain in a npm module. |
The folders yes, but all the binaries that depot_tools downloads on the side aren't and can be deleted with xdf (and that's where most of the size @targos mentioned is coming from).
We all have 😅 but hopefully automating it via ncu would make things easier
I didn't suggest submodules in this issue :)
That could work, but we would face pushback from folks that want Node.js to be builable offline at any point for any commit after you clone the repository. Also, publishing the toolchain to npm has many challenges as we would need to store all toolchains for any commit. Of course we can reuse a specific toolchain version for many commits, but as the time passed the number of versions we have to store grows. This might not scale well either in terms of storage or developer experience. I'm not saying we shouldn't do it, it's something I'm even considering as part of the hole "bye bye gyp" initiative, but the hole is a lot deeper than it seems. And what I described is basically us rebuilding depot_tools our own way. |
I'm trying to find a way for us to auto sync V8 dependencies without needing to manually list them and without having to manually parse the DEPS file. One idea I had is to add depot_tools as a dependency to
git node v8
(which the user can specify a path or we can download if not specified) and then usefetch
/gclient sync
to ensure dependencies are sync'ed.The main reason I'm looking into this is that I'm looking into the idea of "hybrid builds" where we build V8 with GN (or use GN to generate
gyp
/cmake
files), and for this to work without Node.js collaborators having to installdepot_tools
, we need to make sure all dependencies are fetched, includingbuild
andbuild_tools
(see all submodules on rusty_v8).The text was updated successfully, but these errors were encountered: