Targeted ProGuard / R8 rules in JAR/AARs

Allows library creators to specify rules that
target ProGuard or R8, and also to specify which
versions the rules apply to.

If the plugin finds META-INF/com.android.tools/,
it ignores the legacy proguard.txt (AAR) or
META-INF/proguard/ (JAR) rules. Instead, it
reads files from the new location from dirs
named like so: proguard/, r8/,
proguard-min-x.y.z/, r8-min-x.y.z-max-a.b.c/ etc

Bug: b/135672715
Test: added unit and integration tests

Change-Id: I5a6f2177657438297d636b655dc25081ce2d87db
28 files changed
tree: a0d2dfeda8e3d3cbc085e8e9f53297fd524617fe
  1. .idea/
  2. annotations/
  3. apkparser/
  4. apps/
  5. aspects_agent/
  6. bazel/
  7. build-system/
  8. chunkio/
  9. chunkio-processor/
  10. common/
  11. ddmlib/
  12. debug/
  13. deploy/
  14. device_validator/
  15. devicelib/
  16. draw9patch/
  17. dynamic-layout-inspector/
  18. echo-sample/
  19. external-annotations/
  20. fakeadbserver/
  21. fakeandroid/
  22. files/
  23. flags/
  24. jaxb-inheritance-plugin/
  25. jobb/
  26. layoutinspector/
  27. layoutlib-api/
  28. legacy/
  29. lint/
  30. misc/
  31. ninepatch/
  32. perf-logger/
  33. perflib/
  34. pixelprobe/
  35. profiler/
  36. repository/
  37. sdk-common/
  38. sdklib/
  39. signflinger/
  40. templates/
  41. testing-infrastructure/
  42. testutils/
  43. third_party/
  44. tracer/
  45. transport/
  46. usb-devices/
  47. vector-drawable-tool/
  48. zipflinger/
  49. .gitignore
  50. adt.iml
  51. BUILD.bazel
  52. build.gradle
  53. changes.txt
  54. contributing.md
  55. navbar.md
  56. PREUPLOAD.cfg
  57. README.md
  58. source.md
  59. studio.md
README.md

tools/base

This project contains:

  • Common libraries that are shared between any of the IDE (Android Studio), the build system (The Android Gradle Plugin) and SDK components that will be released from studio-master-dev (e.g. the standalone SDK manager). This includes:
    • Instant-run-libraries
    • SDK management libraries
    • The manifest merger
    • Common libraries
    • Common test utilites
  • The build system
  • The new profiler