Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Issue 1875213002: 🏣 Stop including .mojom.js files in GN runtime_deps (Closed)

Created:
4 years, 8 months ago by agrieve
Modified:
4 years, 7 months ago
CC:
chromium-reviews, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Stop including .mojom.js files in GN runtime_deps on Android They are included in the build via .grd files, so don't need to be uploaded to swarming individually. BUG=593416

Patch Set 1 #

Patch Set 2 : switch to is_android #

Patch Set 3 : attach bug #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -1 line) Patch
M mojo/public/tools/bindings/mojom.gni View 1 2 1 chunk +6 lines, -1 line 0 comments Download

Messages

Total messages: 23 (6 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1875213002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1875213002/1
4 years, 8 months ago (2016-04-11 20:29:48 UTC) #2
agrieve
I've done very little testing with this change. Just looked through codesearch to try and ...
4 years, 8 months ago (2016-04-11 20:31:31 UTC) #4
yzshen1
On 2016/04/11 20:31:31, agrieve wrote: > I've done very little testing with this change. Just ...
4 years, 8 months ago (2016-04-11 20:51:57 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-11 21:14:09 UTC) #7
agrieve
On 2016/04/11 20:51:57, yzshen1 wrote: > On 2016/04/11 20:31:31, agrieve wrote: > > I've done ...
4 years, 8 months ago (2016-04-12 02:44:51 UTC) #8
yzshen1
On 2016/04/12 02:44:51, agrieve wrote: > On 2016/04/11 20:51:57, yzshen1 wrote: > > On 2016/04/11 ...
4 years, 8 months ago (2016-04-12 17:32:01 UTC) #9
agrieve
On 2016/04/12 17:32:01, yzshen1 wrote: > On 2016/04/12 02:44:51, agrieve wrote: > > On 2016/04/11 ...
4 years, 8 months ago (2016-04-12 18:15:30 UTC) #12
yzshen1
On 2016/04/12 18:15:30, agrieve wrote: > On 2016/04/12 17:32:01, yzshen1 wrote: > > On 2016/04/12 ...
4 years, 8 months ago (2016-04-12 19:25:11 UTC) #13
agrieve
On 2016/04/12 19:25:11, yzshen1 wrote: > On 2016/04/12 18:15:30, agrieve wrote: > > On 2016/04/12 ...
4 years, 8 months ago (2016-04-13 18:41:56 UTC) #15
jam
just got pointed at this by Yuzhu. These mojom.js files aren't listed in isolates now, ...
4 years, 8 months ago (2016-04-13 19:44:53 UTC) #16
yzshen1
On 2016/04/13 19:44:53, jam wrote: > just got pointed at this by Yuzhu. > > ...
4 years, 8 months ago (2016-04-13 20:01:36 UTC) #17
agrieve
On 2016/04/13 20:01:36, yzshen1 wrote: > On 2016/04/13 19:44:53, jam wrote: > > just got ...
4 years, 8 months ago (2016-04-13 20:20:47 UTC) #18
jam
On 2016/04/13 20:20:47, agrieve wrote: > On 2016/04/13 20:01:36, yzshen1 wrote: > > On 2016/04/13 ...
4 years, 8 months ago (2016-04-13 20:40:58 UTC) #19
agrieve
On 2016/04/13 20:40:58, jam wrote: > On 2016/04/13 20:20:47, agrieve wrote: > > On 2016/04/13 ...
4 years, 8 months ago (2016-04-14 14:28:31 UTC) #20
jam
On 2016/04/14 14:28:31, agrieve wrote: > On 2016/04/13 20:40:58, jam wrote: > > On 2016/04/13 ...
4 years, 8 months ago (2016-04-15 16:12:24 UTC) #21
agrieve
On 2016/04/15 16:12:24, jam wrote: > On 2016/04/14 14:28:31, agrieve wrote: > > On 2016/04/13 ...
4 years, 8 months ago (2016-04-15 18:56:39 UTC) #22
jam
4 years, 8 months ago (2016-04-21 17:59:00 UTC) #23
On 2016/04/15 18:56:39, agrieve wrote:
> On 2016/04/15 16:12:24, jam wrote:
> > On 2016/04/14 14:28:31, agrieve wrote:
> > > On 2016/04/13 20:40:58, jam wrote:
> > > > On 2016/04/13 20:20:47, agrieve wrote:
> > > > > On 2016/04/13 20:01:36, yzshen1 wrote:
> > > > > > On 2016/04/13 19:44:53, jam wrote:
> > > > > > > just got pointed at this by Yuzhu.
> > > > > > > 
> > > > > > > These mojom.js files aren't listed in isolates now, but will be in
> > > > isolates
> > > > > > > generated from GN.
> > > > > > > 
> > > > > > > Moving forward, more and more will be used in tests. Given that
> > they're
> > > > > quite
> > > > > > > small, and when we use swarming they'll be cached locally on the
> bots,
> > I
> > > > > think
> > > > > > > we shouldn't do this change.
> > > > > > 
> > > > > > From the chat with John and Ken, I also learnt that some layout
tests
> > have
> > > > > > run-time deps on generated JS files which are not built into
> resources.
> > > > > > This change passed trybots likely because layout tests are not tried
> on
> > > some
> > > > > > platforms, or stale JS files remain on on the trybots.
> > > > > > It is likely that the change as is will break our build sometime
later
> > > (when
> > > > > > builds get clobbered or stale JS files go out of sync).
> > > > > > 
> > > > > > :/
> > > > > 
> > > > > I agree it's not a big deal for swarming, but if these will be used
for
> > any
> > > > > tests that run on Android, then we really can't be pushing the files
to
> > > > devices
> > > > > unless we're sure they are needed. Android tests are slow enough
already
> > :(.
> > > > 
> > > > Data here would be great to show that this is true. The JS bindings are
> very
> > > > small in comparison to all the other files that are pushed.
Additionally,
> > this
> > > > would be cached once we switch to swarming.
> > > 
> > > Swarming isn't used when devs are testing locally.
> > 
> > Do you have data on how long these extra files take compared to without
them?
> > 
> > > We also sometimes test on
> > > non-rooted devices, where files are pushed one-at-a-time, and each file
> takes
> > > about 150 to push even when it's 100 bytes.
> > 
> > When you run these tests, how many files are you pushing in total?
> > 
> > > 
> > > > 
> > > > > 
> > > > > What's wrong with having clients of the generated files declare them
as
> > > data?
> > > > > It's the clients that require them on-device, and that dictate how
they
> > are
> > > to
> > > > > be packaged.
> > > > > 
> > > > > Right now I'm working on generating .isolate files from runtime_deps
for
> > > > Android
> > > > > tests, and the current logic is to just strip all .mojom.js files.
> 
> $ gn desc . //android_webview/test:_android_webview_unittests__library
> runtime_deps | grep -v \.so | grep -v \.py |wc -l
> 82
> agrieve@agrievester ~/ssd/git/clankium1/src/out-gn/Debug (android-amp)$ gn
desc
> . //android_webview/test:_android_webview_unittests__library runtime_deps |
grep
> -v \.so | grep -v \.py | grep -v mojom | wc -l
> 3
> 
> This tests requires just 3 files, but with mojom, it's pushing 82.

sorry to be clearer, I meant data on how long it takes to push, not how many
files. i.e. I'm curious what effect this has on developer productivity.

Powered by Google App Engine
This is Rietveld 408576698