New issue
Advanced search Search tips

Issue 820169 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Mac
Pri: 2
Type: Feature



Sign in to add a comment

Mirror of antlr4 runtime sub-directory for DEPS dependency in Chromum/V8

Project Member Reported by danno@chromium.org, Mar 8 2018

Issue description

As part of a tool that we're building for V8, I need access to a parser-generator library from antlr4 during the V8 build (the antlr4 runtime isn't linked into V8 or Chromium, just used to build a tool during V8's compilation). We'd like to be able to pull in the source via V8 (and Chromium's) DEPS file.

The github repo is:

https://github.com/antlr/antlr4

I only need the runtime/Cpp subdirectoy mirrored so that we can map it in from our DEPS file. Ideally, the directory path would not be truncated, e.g. the mapping would be to third_party/antlr4/runtime/Cpp

 

Comment 1 by danno@chromium.org, Mar 12 2018

Cc: vadimsh@chromium.org
Cc: aga...@chromium.org
I don't think we currently have subtree mirrors of standalone third party repos, and I'm not sure we should start doing that. For one, it will break licensing rules (we'll be omitting LICENSE.txt, since it's not under runtime/Cpp).

Two choices I can see:
1. Mirror + DEPS the entire repo.
2. Manually copy-paste the code (preserving LICENSE.txt and other important bits) into //third_party and then reuse this from V8. This is blocked on the decision in issue 801480.

Comment 3 by aga...@chromium.org, Mar 12 2018

Yep, I suggest we mirror the entire repo as usual, and then you DEPS it in to v8/third_party/antlr4, use the code that ends up in v8/third_party/antlr4/runtime/Cpp, and just ignore the rest of the code that the repo pulls in.

Comment 4 by danno@chromium.org, Mar 12 2018

OK, if the subtree mirroring isn't a good idea, then I'm personally fine pulling in the whole thing into v8/third_party/antlr4 with suggestion 1) in comment 2. Is there some sort of guidelines about how big things are that we pull in like this? I'll only be using about 3% of the included antlr4 repository.

When you say "this is blocked", do you mean in general there is no further mirroring allowed until issue 801480 is resolved? It seems that issue has been open for two months, is there any chance it will be resolved soon? 
Cc: dpranke@chromium.org
> Is there some sort of guidelines about how big things are that we pull in like this?

I think there's some chrome-eng mailing list for questions like this (third party code reviews or something like that). Maybe Dirk knows.

> When you say "this is blocked", do you mean in general there is no further mirroring allowed until issue 801480 is resolved? It seems that issue has been open for two months, is there any chance it will be resolved soon?

I mean, it we copy-paste antlr4 into //third_party in chromium.src, antlr4 will be exact same position as other third party deps mentioned in the bug: we'll need to mirror it as a subtree for consumption by V8. There's no consensus yet that this is a good solution at all. I have no idea how soon it will be resolved.
I'm guessing you don't actually need/want/or care about the history of the runtime, nor particularly need to keep this up to date with every single revision.

If those guesses are true, I'd suggest you copy the parts over as needed into v8/third_party/antlr4. 

(See my comment https://bugs.chromium.org/p/chromium/issues/detail?id=801480#c24 for the more general approach of DEPS'ing vs. copying and how we've approached things in Chromium).
Status: WontFix (was: Untriaged)
since there is no activity here, presuming you'll follow dpranke@ suggestion above.

Sign in to add a comment