fetch.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/usr/bin/env python3
  2. # Copyright 2021 The Chromium Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. import argparse
  6. import json
  7. import os
  8. _PATCH = 'cr0'
  9. _LATEST_VERSION = '12.1-robolectric-8229987.' + _PATCH
  10. # All instrumented jars + latest non-instrumented one.
  11. _ROBO_URL_FILES = {
  12. 'android-all-instrumented-12.1-robolectric-8229987-i4.jar':
  13. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/12.1-robolectric-8229987-i4/android-all-instrumented-12.1-robolectric-8229987-i4.jar',
  14. 'android-all-instrumented-12-robolectric-7732740-i4.jar':
  15. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/12-robolectric-7732740-i4/android-all-instrumented-12-robolectric-7732740-i4.jar',
  16. 'android-all-instrumented-11-robolectric-6757853-i4.jar':
  17. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/11-robolectric-6757853-i4/android-all-instrumented-11-robolectric-6757853-i4.jar',
  18. 'android-all-instrumented-10-robolectric-5803371-i4.jar':
  19. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/10-robolectric-5803371-i4/android-all-instrumented-10-robolectric-5803371-i4.jar',
  20. 'android-all-instrumented-9-robolectric-4913185-2-i4.jar':
  21. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/9-robolectric-4913185-2-i4/android-all-instrumented-9-robolectric-4913185-2-i4.jar',
  22. 'android-all-instrumented-8.1.0-robolectric-4611349-i4.jar':
  23. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/8.1.0-robolectric-4611349-i4/android-all-instrumented-8.1.0-robolectric-4611349-i4.jar',
  24. 'android-all-instrumented-8.0.0_r4-robolectric-r1-i4.jar':
  25. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/8.0.0_r4-robolectric-r1-i4/android-all-instrumented-8.0.0_r4-robolectric-r1-i4.jar',
  26. 'android-all-instrumented-7.1.0_r7-robolectric-r1-i4.jar':
  27. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/7.1.0_r7-robolectric-r1-i4/android-all-instrumented-7.1.0_r7-robolectric-r1-i4.jar',
  28. 'android-all-instrumented-7.0.0_r1-robolectric-r1-i4.jar':
  29. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/7.0.0_r1-robolectric-r1-i4/android-all-instrumented-7.0.0_r1-robolectric-r1-i4.jar',
  30. 'android-all-instrumented-6.0.1_r3-robolectric-r1-i4.jar':
  31. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/6.0.1_r3-robolectric-r1-i4/android-all-instrumented-6.0.1_r3-robolectric-r1-i4.jar',
  32. 'android-all-instrumented-5.0.2_r3-robolectric-r0-i4.jar':
  33. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/5.0.2_r3-robolectric-r0-i4/android-all-instrumented-5.0.2_r3-robolectric-r0-i4.jar',
  34. 'android-all-instrumented-4.4_r1-robolectric-r2-i4.jar':
  35. 'https://repo1.maven.org/maven2/org/robolectric/android-all-instrumented/4.4_r1-robolectric-r2-i4/android-all-instrumented-4.4_r1-robolectric-r2-i4.jar',
  36. 'android-all-12-robolectric-7732740.jar':
  37. 'https://repo1.maven.org/maven2/org/robolectric/android-all/12-robolectric-7732740/android-all-12-robolectric-7732740.jar',
  38. 'android-all-12.1-robolectric-8229987.jar':
  39. 'https://repo1.maven.org/maven2/org/robolectric/android-all/12.1-robolectric-8229987/android-all-12.1-robolectric-8229987.jar'
  40. }
  41. def do_latest():
  42. print(_LATEST_VERSION)
  43. def _get_download_url(version):
  44. download_urls, name = [], []
  45. for robo_name, url in _ROBO_URL_FILES.items():
  46. name.append(robo_name)
  47. download_urls.append(url)
  48. partial_manifest = {
  49. 'url': download_urls,
  50. 'name': name,
  51. 'ext': '.jar',
  52. }
  53. print(json.dumps(partial_manifest))
  54. def main():
  55. ap = argparse.ArgumentParser()
  56. sub = ap.add_subparsers()
  57. latest = sub.add_parser("latest")
  58. latest.set_defaults(func=lambda _opts: do_latest())
  59. download = sub.add_parser("get_url")
  60. download.set_defaults(
  61. func=lambda _opts: _get_download_url(os.environ['_3PP_VERSION']))
  62. opts = ap.parse_args()
  63. opts.func(opts)
  64. if __name__ == '__main__':
  65. main()