tree 463bd536b993ae295bb4003fab2b48d87c3e9477
parent 19fb1a956236d6c81b1d99182443f3cd6e5557a8
author Greg Spencer <gspencergoog@users.noreply.github.com> 1542158997 -0800
committer GitHub <noreply@github.com> 1542158997 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJb63qVCRBK7hj4Ov3rIwAAdHIIABoca7SNY5K7AAEk8XEDb0UV
 P2i2RwHB6ZwU8GFMGDfFb5Ihd5hjV8OtPZZV2emcNUph2fMqYe1SEQivZ5RfWpUY
 BOEXTVBD9p60nLLrlBl4eAzvvOYx0iy7RcHZfFstF6mAqAaB93MjfYee6O089bHL
 or88PEL+u3x3bVw3Ed59EBw8SegMAtGGULH6b76lgR9o2mOhYyYFn6arLwCZE/O4
 pYEapD5Rsr37gsS0/mB31dOt4JoaBg6LarTHvj+deur43twKcjbop70Z5j6f9GSr
 QfSOXGsGbWuu8ePnDYmVrKFTW0aH0j4nvTkXWkssuCXe6smvesE2iDHJIqguXcI=
 =7N3J
 -----END PGP SIGNATURE-----
 

Added tool support for running snapshotted Dart scripts. (#1820)

Since tools are run so often, it makes sense to use snapshots to run them, so this makes it so that Dartdoc creates a snapshot automatically of a tool the first time it is run, and then uses that snapshot from then on.

See the README.md for the new instructions, but basically, it creates a snapshot in a tempdir the first time the tool is run, using the first time arguments as training arguments for the compiler. The second time and beyond, it is run using the snapshot. This results in about a 20-100x speedup in startup time for the tool invocations. If you'd rather build and use your own snapshots, it does recognize the .snapshot suffix, and will just use that one instead of generating its own.

In addition, I added the ability to run a "setup" command before the first time a tool runs. This would allow generation of script code, or fetching one-time information needed for the tool to run.

I also added some more tests for things that weren't broken, but also weren't tested, and converted the tool_runner test to get its information from parsing a YAML block instead of setting up the map programmatically (more code coverage that way, and I can test the snapshotted executables that way).