tree 2c286b91d58ee9939700de5623140f406ceca417
parent 3824694c5cc3ab6b14a4c9bd73bd799e5bd21930
author Mathias Rav <mathiasr@google.com> 1528270631 +0200
committer Mathias Rav <mathiasr@google.com> 1528270631 +0200

Add script to print R8 API not covered by API usage sample

Add a script api_sample_coverage.py that runs two programs PrintUses and
PrintSeeds and prints the difference in the outputs.

PrintUses prints the entry points in a given library (e.g. r8.jar)
used by a given program (e.g. d8_api_usage_sample.jar).

PrintSeeds prints the entry points in a given library (e.g. r8.jar)
kept by a given ProGuard configuration (e.g. src/main/keep.txt).

* Add 'include' predicate to RootSetBuilder.writeSeeds() to allow
  PrintSeeds to skip printing classes in the Java library.

* Enqueuer: Add a helpful assertion error for when PrintSeeds discovers
  that a library class is missing.

* Sort SwissArmyKnife to reduce the opportunity for merge conflicts

* Add utils.R8LIB_KEEP_RULES with path to keep-rules for keeping @Keep

Change-Id: I5963a1094a5bb9a99795a5cdeee6b6698551726a