-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Closed
Description
Now that AMP's closure compiler is at the latest available version (#22446) modulo one awaited bug fix (google/closure-compiler#3041), it's time to think about how to stay there as new releases appear.
Here's my proposed solution:
- Wait for ES6 module support for "type-only import" like
goog.requireTypeor TSimport typegoogle/closure-compiler#3041 to be fixed. After this, single pass can simply usenode_modules/google-closure-compiler-java/compiler.jarwith no changes. - Delete
third_party/closure-compiler/**andbuild-system/runner/dist/runner.jar - Check in a copy of
anttothird_party/ant/ - Whenever
gulp distorgulp check-typesare invoked, run a pre-requisite task that generatesrunner.jarby callingant clean && ant jar && ant testand makes sure everything worked
Notes:
- Whenever a new version of closure compiler is released, a
renovatePR will automatically test it out by generating a newrunner.jar, runninggulp check-types, performing a minified build, and running all our tests. - If a breaking change appears, we will be alerted by build / test failures, and can make the required changes and move on.
- We'll no longer need to separately maintain
compiler-and-tests.jarsince we are no longer using a custom version ofcompiler.jar. The tests inbuild-system/runnershould be sufficient to verify the custom AMP passes. - The speed up gains for multi pass due to
nailgunwill remain as they are, since we'll continue to re-use a single instance of the dynamically generatedrunner.jar
Reactions are currently unavailable