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
diff --git a/tools/printseeds.py b/tools/printseeds.py
new file mode 100755
index 0000000..4f389d5
--- /dev/null
+++ b/tools/printseeds.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+# Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+import sys
+import toolhelper
+
+if __name__ == '__main__':
+ sys.exit(toolhelper.run('printseeds', sys.argv[1:]))