__main__.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import os
  2. import sys
  3. from ap_git import GitRepo
  4. from build_manager import BuildManager
  5. from builder import Builder
  6. from metadata_manager import (
  7. APSourceMetadataFetcher,
  8. VehiclesManager,
  9. )
  10. from logging.config import dictConfig
  11. dictConfig({
  12. 'version': 1,
  13. 'formatters': {
  14. 'default': {
  15. 'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
  16. },
  17. },
  18. 'handlers': {
  19. 'stream': {
  20. 'class': 'logging.StreamHandler',
  21. 'level': 'INFO',
  22. 'formatter': 'default',
  23. 'stream': sys.stdout,
  24. },
  25. },
  26. 'loggers': {
  27. 'root': {
  28. 'level': 'INFO',
  29. 'handlers': ['stream'],
  30. },
  31. },
  32. })
  33. if __name__ == "__main__":
  34. basedir = os.path.abspath(os.getenv("CBS_BASEDIR"))
  35. workdir = os.path.abspath('/workdir')
  36. repo = GitRepo.clone_if_needed(
  37. source="https://github.com/ardupilot/ardupilot.git",
  38. dest=os.path.join(workdir, 'ardupilot'),
  39. )
  40. ap_metafetch = APSourceMetadataFetcher(
  41. ap_repo=repo
  42. )
  43. vehicles_manager = VehiclesManager()
  44. manager = BuildManager(
  45. outdir=os.path.join(basedir, 'artifacts'),
  46. redis_host=os.getenv('CBS_REDIS_HOST', default='localhost'),
  47. redis_port=os.getenv('CBS_REDIS_PORT', default='6379')
  48. )
  49. builder = Builder(
  50. workdir=workdir,
  51. source_repo=repo,
  52. )
  53. builder.run()