devtools/madb: handle build variants explicitly and cache the project ids.

1) Now the sub-module name and the build variant name of an Android
   project can be explicitly provided with "-module" and "-variant"
   flags of madb start.  When these are not specified, the first
   available application module and the first build variant is chosen
   with a warning message.

2) The returned project ids are now kept in a cache, so that they can
   be reused without running Gradle scripts again.  The cache is a map
   of (variantKey, projectIds) pair, and implemented in id_cache.go.
   Users can choose to clear the cache and extract the ids again by
   providing "-clear-cache" flag.

3) madb start now also provides "-force-stop" flag which defaults to
   true. Users can set it to false if they just want to bring the
   running app to the front, instead of restarting the app.

Change-Id: I4bdfd34bf7710477a4ff2af3d16c36bec8d1860d
25 files changed
tree: 6e50257fda2626955a4e213e5def3d0704744835
  1. bendroid/
  2. dashboard/
  3. data/
  4. godepcop/
  5. gologcop/
  6. internal/
  7. jiri-api/
  8. jiri-copyright/
  9. jiri-dockergo/
  10. jiri-go/
  11. jiri-goext/
  12. jiri-oncall/
  13. jiri-profile-v23/
  14. jiri-run/
  15. jiri-swift/
  16. jiri-test/
  17. jiri-v23-profile/
  18. jiridoc/
  19. madb/
  20. mailer/
  21. oncall/
  22. postsubmit/
  23. presubmit/
  24. vbinary/
  25. vcloud/
  26. vjenkins/
  27. vkiosk/
  28. vmon/
  29. .gitignore
  30. .godepcop
  31. .jiriignore
  32. AUTHORS
  33. CONTRIBUTING.md
  34. CONTRIBUTORS
  35. LICENSE
  36. PATENTS
  37. README.md
  38. VERSION
README.md

This repository contains developer tools used to install and contribute to Vanadium.

For more information, see the installation and contributing instructions.

This repository is fetched and the tools are built as part of the Vanadium installation process for contributors.