New public plugin and move existing to internal.

All current plugin classes are considered public API
because of how Gradle allows finding plugins. Therefore
we need these classes to not change.

However, we also want to have plugin authors target gradle-api
instead of the 'gradle' artifact. This change forks the current
plugin classes into a new set of public class (name unchanged)
and the actual implementations as private, internal classes.

The new public plugins delegate to the internal plugins
by applying them as separate "internal" plugins. For now
the public plugins stay in gradle-core but we'll move them
to gradle-api at some point. This is currently limited by
the presence of getExtension on BasePlugin, both of which are
now deprecated.

Because our classes have no other public API this should not
break anything.

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