android: Use + for most androidx maven deps (reland)

Fixed:
- Added lots of logging to help debugging locally and on the bot.
- Added temporary override for androidx_annotation_annotation until
  https://crbug.com/394878886 is fixed.

This CL uses '+' for androidx deps in build.gradle that used to be
explicitly set to be the snapshot builds, as well as '+' for those
targets' androidx transitive deps (via a resolutionStrategy). This
removes the need for versionOverrideMap and removes the need for
scraping androidx.dev in order to create versionOverrideMap. Created the
compileLatest and androidTestCompileLatest to house these androidx deps
that pick their own transitive deps as '+'.

A number of androidx libraries have no new SNAPSHOT builds, i.e. their
last stable build was for example 1.2.0 and their current snapshot build
is 1.2.0-SNAPSHOT, which according to gradle versioning, 1.2.0-SNAPSHOT
< 1.2.0. It makes sense as snapshot builds are used before a new build.
Thus a number of prefixes needed to be added to allow non-snapshot
builds.

Updated the error message from using non-SNAPSHOT versions to show all
known failures at the same time. Update the version tokenizer to split
based on '-' in addition to '.'.

The existing code for scraping androidx.dev and creating/using
versionOverrideMap will be removed in subsequent CLs once the androidx
packager and autoroller both succeed with this new codepath.

Bug: 392896804, 394878886
Change-Id: I9b7650f5ebbdca51aeae2be9695a2899d9b89d29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6237460
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1416953}
6 files changed
tree: 5bffa99213cc959af9245c698bd052ec84692dac
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. crypto/
  16. dbus/
  17. device/
  18. docs/
  19. extensions/
  20. fuchsia_web/
  21. gin/
  22. google_apis/
  23. gpu/
  24. headless/
  25. infra/
  26. ios/
  27. ipc/
  28. media/
  29. mojo/
  30. native_client_sdk/
  31. net/
  32. pdf/
  33. ppapi/
  34. printing/
  35. remoting/
  36. rlz/
  37. sandbox/
  38. services/
  39. skia/
  40. sql/
  41. storage/
  42. styleguide/
  43. testing/
  44. third_party/
  45. tools/
  46. ui/
  47. url/
  48. webkit/
  49. .clang-format
  50. .clang-tidy
  51. .clangd
  52. .git-blame-ignore-revs
  53. .gitallowed
  54. .gitattributes
  55. .gitignore
  56. .gitmodules
  57. .gn
  58. .mailmap
  59. .rustfmt.toml
  60. .vpython3
  61. .yapfignore
  62. ATL_OWNERS
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. CPPLINT.cfg
  68. CRYPTO_OWNERS
  69. DEPS
  70. DIR_METADATA
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.