on_Crawl__05_git_install.py 1006 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python3
  2. """
  3. Emit git Binary dependency for the crawl.
  4. """
  5. import json
  6. import os
  7. import sys
  8. def get_env(name: str, default: str = '') -> str:
  9. return os.environ.get(name, default).strip()
  10. def get_env_bool(name: str, default: bool = False) -> bool:
  11. val = get_env(name, '').lower()
  12. if val in ('true', '1', 'yes', 'on'):
  13. return True
  14. if val in ('false', '0', 'no', 'off'):
  15. return False
  16. return default
  17. def output_binary(name: str, binproviders: str):
  18. """Output Binary JSONL record for a dependency."""
  19. machine_id = os.environ.get('MACHINE_ID', '')
  20. record = {
  21. 'type': 'Binary',
  22. 'name': name,
  23. 'binproviders': binproviders,
  24. 'machine_id': machine_id,
  25. }
  26. print(json.dumps(record))
  27. def main():
  28. git_enabled = get_env_bool('GIT_ENABLED', True)
  29. if not git_enabled:
  30. sys.exit(0)
  31. output_binary(name='git', binproviders='apt,brew,env')
  32. sys.exit(0)
  33. if __name__ == '__main__':
  34. main()