PageRenderTime 48ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/support/android/prereq.py

https://github.com/ayeung/titanium_mobile
Python | 58 lines | 49 code | 3 blank | 6 comment | 3 complexity | d09dd46265382d3a875b5f32f5a0e34a MD5 | raw file
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Check the pre-requisites for Android development
  5. #
  6. import os, sys, subprocess, re, platform, run
  7. from androidsdk import *
  8. def check_java():
  9. failed = False
  10. status = "OK"
  11. try:
  12. if platform.system() == "Windows":
  13. (out,err) = subprocess.Popen(['cmd.exe','/C','javac','-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
  14. else:
  15. (out,err) = subprocess.Popen(['javac','-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
  16. # javac prints it's version on stderr
  17. version = err.replace("javac ", "").strip()
  18. if not version.startswith("1.6"):
  19. status = "JDK version %s detected, but 1.6 is required" % version
  20. failed = True
  21. except Exception,e:
  22. status = "Missing Java SDK. Please make sure Java SDK is on your PATH (exception: %s)" % e
  23. failed = True
  24. return (failed, status)
  25. def check_android_sdk():
  26. failed = False
  27. status = "OK"
  28. try:
  29. sdk = AndroidSDK(None)
  30. status = sdk.get_android_sdk()
  31. except Exception, e:
  32. status = "Missing default Android SDK: %s" % e
  33. failed = True
  34. return (failed, status)
  35. def main(args):
  36. (java_failed, java_status) = check_java()
  37. if java_failed:
  38. print java_status
  39. sys.exit(1)
  40. (android_failed, android_status) = check_android_sdk()
  41. if android_failed:
  42. print android_status
  43. sys.exit(2)
  44. print android_status
  45. sys.exit(0)
  46. if __name__ == "__main__":
  47. main(sys.argv)