Automatic V8 DEPS detection

Open
#168 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
cmake, git, node.js, shell

Research direction

Start by reviewing lib/update-v8/constants.js and the git node v8 entry point, then compare the proposed fetch and gclient sync flow with the hybrid-build requirements. The work is complete when V8 dependencies, including build and build_tools, can be synchronized without manually listing or parsing DEPS files or requiring collaborators to install depot_tools.

Written by the indexing model from the issue text.

Description

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 use fetch/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 install depot_tools, we need to make sure all dependencies are fetched, including build and build_tools (see all submodules on rusty_v8).

Dominant language
Shell
Stars
466
Forks
75
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nodejs/node-v8

All issues in nodejs/node-v8

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.