Reland "Build Karma test with Ninja" This reverts commit 01ac2b90b3893b8355208cbba7ce8ee9c18e53ec. Reason for revert: Build fixed in Chromium Original change's description: > Revert "Build Karma test with Ninja" > > This reverts commit 4b654444ed5ef198c8551503670895d67ae7856a. > > Reason for revert: Broke the build in Chromium: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8887844056671365856/+/steps/compile__with_patch_/0/stdout > > Original change's description: > > Build Karma test with Ninja > > > > This instructs Ninja to generate the appropriate files for the test > > files. It adds a separate `ts_library` definition for tests. > > > > Some caveats: > > - It currently hardcodes the Ninja build output name. We should fix out > > a solution on how to make this irrespective of build name > > - The test name has to be renamed to Color_test.ts. While I think this > > is clearer for code navigation, it was necessary because `ts_library` > > currently copies to `resources/inspector`, which is not necessary for > > test files. We could therefore filter these out, based on the files that > > end with `_test.ts`. We could also add a separate Ninja template, > > something like `ts_test_library`. Not sure yet what is the best > > approach. > > > > DISABLE_THIRD_PARTY_CHECK=Updating TypeScript configuration > > > > Bug: 1011811 > > Change-Id: If7448474e84a013d8d4b00a16743575a12112f58 > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2064669 > > 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: I1048a5003b5680b257586cf3720fc5eaddb435d5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 1011811 > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2067061 > Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org> > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> DISABLE_THIRD_PARTY_CHECK=Reland Bug: 1011811 Change-Id: I9df8d551a18c7733fca586f504621c18262e941d Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2067062 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
The client-side of the Chrome DevTools, including all JS & CSS to run the DevTools webapp.
The frontend is available on chromium.googlesource.com.
Please be aware that DevTools follows additional development guidelines.
In order to make changes to DevTools frontend, build, run, test, and submit changes, several workflows exist. Having depot_tools set up is a common prerequisite.
As a standalone project, Chrome DevTools frontend can be checked out and built independently from Chromium. The main advantage is not having to check out and build Chromium. However, there is also no way to run layout tests in this workflow.
To check out the source for DevTools frontend only, follow these steps:
mkdir devtools cd devtools fetch devtools-frontend
To build, follow these steps:
cd devtools-frontend gn gen out/Default autoninja -C out/Default
The resulting build artifacts can be found in out/Default/resources/inspector.
To update to latest tip of tree version:
git fetch origin git checkout origin/master gclient sync
These steps work with Chromium 79 or later. To run the production build, use
(Requires brew install coreutils on Mac.)
<path-to-chrome>/chrome --custom-devtools-frontend=file://$(realpath out/Default/resources/inspector)
To run the debug build (directly symlinked to the original unminified source files), build both Chromium and DevTools frontend with the GN flag debug_devtools=true, and use
<path-to-chrome>/chrome --custom-devtools-frontend=file://$(realpath out/Default/resources/inspector/debug)
You can inspect DevTools with DevTools by undocking DevTools and then open the developers tools (F12 on Windows/Linux, Cmd+Option+I on Mac).
Test are available by running scripts in scripts/test/.
Usual steps for creating a change work out of the box.
scripts/deps/roll_deps.py.scripts/deps/roll_to_chromium.py.roll-dep.DevTools frontend can also be developed as part of the full Chromium checkout.
Follow instructions to check out Chromium. DevTools frontend can be found under third_party/devtools-frontend/src/.
Refer to instructions to build Chromium. To only build DevTools frontend, use devtools_frontend_resources as build target. The resulting build artifacts for DevTools frontend can be found in out/Default/resources/inspector.
Consider building with the GN flag debug_devtools=true to symlink to the original unminified source.
Run Chrome with DevTools frontend bundled:
out/Default/chrome
Test are available by running scripts in third_party/devtools-frontend/src/scripts/test/. After building content shell, we can also run layout tests that are relevant for DevTools frontend:
autoninja -C out/Default content_shell third_party/blink/tools/run_web_tests.py http/tests/devtools
Usual steps for creating a change work out of the box, when executed in third_party/devtools-frontend/src/.
If you prefer working on a standalone checkout of DevTools frontend, but want to build, test, and run inside the full Chromium checkout. This way, you combine the best of both worlds.
Disable gclient sync for DevTools frontend inside of Chromium by editing .gclient config. From chromium/src/, simply run
vim $(gclient root)/.gclient
In the custom_deps section, insert this line:
"src/third_party/devtools-frontend/src": None,
Then run
gclient sync -D
This removes the DevTools frontend dependency. We now create a symlink to refer to the standalone checkout:
(Note that the folder names do NOT include the trailing slash)
ln -s path/to/standalone/devtools-frontend third_party/devtools-frontend/src
Running gclient sync in chromium/src/ will update dependencies for the Chromium checkout. Running gclient sync in chromium/src/third_party/devtools-frontend/src will update dependencies for the standalone checkout.
Please refer to the overview document. The current test status can be seen at the test waterfall.
Merge request/approval is handled by Chromium Release Managers. DevTools follows The Zen of Merge Requests. In exceptional cases please get in touch with hablich@chromium.org.
Step-by-step guide on how to merge:
git cl format --jsFormats all code using clang-format.
npm run checkRuns all static analysis checks on DevTools code.
DevTools frontend repository is mirrored on GitHub.
DevTools frontend is also available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES2015 modules, so consuming this package in other tools may require some effort.
The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.
All devtools commits: View the log or follow @DevToolsCommits on Twitter
All open DevTools tickets on crbug.com
File a new DevTools ticket: new.crbug.com
Code reviews mailing list: devtools-reviews@chromium.org
@ChromeDevTools on Twitter
Chrome DevTools mailing list: groups.google.com/forum/google-chrome-developer-tools