Add buck build soyc to output GWT split point report

The GWT compiler can output a report (or "story of your compile"),
describing the size of the JavaScript and which source classes
contributed to the overall download size. This is useful for
optimizing code splits in Dispatcher, and generally understanding
the impact of linking code together.

Only the "Split Point Report" is created.
The "Compiler Metrics" are not output.

The report is very slow to create, so it is not done by default.

Change-Id: I6ce86d65ee5f3e4bdba573d1f777ccc59767341d
This commit is contained in:
Shawn Pearce 2015-01-14 16:27:42 -08:00 committed by David Pursehouse
parent 36934dc6ef
commit 16570463ab
4 changed files with 33 additions and 0 deletions

View File

@ -11,6 +11,7 @@
gerrit = //:gerrit
release = //:release
safari = //:safari
soyc = //gerrit-gwtui:ui_soyc
withdocs = //:withdocs
[buildfile]

1
.gitignore vendored
View File

@ -15,6 +15,7 @@
/.buckd
/buck-cache
/buck-out
/extras
/local.properties
*.pyc
/gwt-unitCache

View File

@ -231,6 +231,26 @@ The WAR file will be placed in:
buck-out/gen/withdocs.war
----
[[soyc]]
=== GWT Compile Report
The GWT compiler can output a compile report (or "story of your compile"),
describing the size of the JavaScript and which source classes contributed
to the overall download size.
----
buck build soyc
----
The report will be written as an HTML page to the extras directory, and
can be opened and viewed in any web browser:
----
extras/gerrit_ui/soycReport/compile-report/index.html
----
Only the "Split Point Report" is created, "Compiler Metrics" are not output.
[[release]]
=== Gerrit Release WAR File

View File

@ -36,6 +36,17 @@ gwt_binary(
vm_args = GWT_JVM_ARGS,
)
gwt_binary(
name = 'ui_soyc',
modules = [MODULE],
module_deps = [':ui_module'],
deps = DEPS + [':ui_dbg'],
local_workers = cpu_count(),
strict = True,
experimental_args = GWT_COMPILER_ARGS + ['-compileReport'],
vm_args = GWT_JVM_ARGS,
)
gwt_binary(
name = 'ui_dbg',
modules = [MODULE],