-
Chris Bracken authored
Adds a Fingerprinter utility class that can be used to compute unique fingerprints for a set of input paths and build options, compare to the output of a previous run, and skip the build action if no inputs or options have changed. The existing Fingerprint class still does all the heavy lifting. Fingerprinter adds common operations such as reading/writing/comparing fingerprints and parsing depfiles. This migrates existing uses of Fingerprint over to Fingerprinter. This also adds better fingerprinting to AOT snapshotting, which previously failed to include several options in its fingerprint (--preview-dart-2, --prefer-shared-library).