This reverts commitdbb8f31857. Reason for revert: suspected cause of build breakage downstream: https://ci.chromium.org/p/chromium/builders/ci/Android%20arm64%20Builder%20%28dbg%29/42557?blamelist=1#blamelist-tab Original change's description: > Reland "Add rollup_entrypoint to rollup entrypoints in front_end" > > This is a reland of9f16ccc6a1> > Original change's description: > > Add rollup_entrypoint to rollup entrypoints in front_end > > > > To support lit-html in a release build, we have to run rollup > > separately. Since lit-html source code is targeted to TypeScript, > > the entrypoint front_end/lit-html/lit-html.ts is a TypeScript-authored > > file. > > > > This means that we can't use `build_release_applications.py` to rollup > > this file (this is by design). Instead, we introduce a new > > `rollup_entrypoint` Ninja target that calls Rollup. We don't have to > > write a special Python file, as we can reuse `node.py` for this, which > > is essentially a pipe-through with a pinned version of Node. > > > > While the rollup build works, for debug builds we are still missing > > the `front_end/third_party/lit-html` files. We will address that > > in a follow-up CL, once we introduce the first usage of lit-html > > in the codebase. > > > > We are going to need to make more changes to Rollup later (most notably > > the external files check), but since we aren't using this codepath > > in `build_release_applications.py`, I will fix that in a separate CL. > > > > To reduce duplication in the Ninja build system, I also extract > > a vars.gni file that has the relevant variables. These are currently > > used in the rollup.gni and typescript.gni. > > > > Lastly, I had to fix node.py to make sure it wouldn't always print > > the stdout. In Ninja, we should only print to stdout if there is > > an error. > > > > DISABLE_THIRD_PARTY_CHECK=Ninja fixes > > R=jacktfranklin@chromium.org,aerotwist@chromium.org > > > > Bug: 1011811, 1061037 > > Change-Id: Ib22ff9c1d78e61c922101444f27c4f0d4ccf9bd6 > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2238232 > > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> > > Reviewed-by: Paul Lewis <aerotwist@chromium.org> > > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> > > DISABLE_THIRD_PARTY_CHECK=Ninja fixes > > Bug: 1011811, 1061037, 1096473 > Change-Id: I5695c445f8456b6447c836dead89bdd4cf98b0fa > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2247646 > Reviewed-by: Paul Lewis <aerotwist@chromium.org> > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> TBR=aerotwist@chromium.org,tvanderlippe@chromium.org,jacktfranklin@chromium.org Change-Id: Ia6fd6111181500ad44c7757321d141f320b1edf5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1011811, 1061037, 1096473 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2257954 Reviewed-by: Andrey Kosyakov <caseq@chromium.org> Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
DevTools Scripts
Development workflow scripts
These are scripts that can be useful to run independently as you're working on Chrome DevTools front-end.
The newer scripts such as for testing and hosted mode are written in Node.js, which has become the standard toolchain for web apps. The older scripts such as building (e.g. bundling and minifying) are written in Python, which has first-class support in Chromium's infrastructure.
Overview
Folders
- build - Python package for generating DevTools debug and release mode
- chrome_debug_launcher - automagically finds Chrome Canary and launches it with debugging flags (e.g. remote debugging port)
- closure - see section on Closure Compiler below
- gulp - experimental build process written in node.js & gulp to remove the dependency on Chromium-specific build tools (i.e. gn and ninja)
- hosted_mode - run DevTools on a localhost development server
- jsdoc_validator - enforces the use of Closure type annotations
Python Scripts
- compile_frontend.py - runs closure compiler to do static type analysis
- Note: the compiled outputs are not actually used to run DevTools
- lint_javascript.py - run eslint
- optimize_svg_images.py - manually run when changing svg images
Node.js scripts
The easiest way to run the node.js scripts is to use npm run which displays all the commands. For more information on the specific npm run commands, take a look at the primary devtools front-end readme (../readme.md).
Closure
DevTools manually rolls the closure compiler to ./closure. If you manually roll closure compiler, you will need to re-generate the closure_runner (in ./closure) and jsdoc_validator custom jars using the python scripts in their respective directory.