Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. .DEFAULT_GOAL := default
  2. app_root = backend/app
  3. pkg_src = $(app_root)/app
  4. tests_src = $(app_root)/tests
  5. local_tests_src = $(app_root)/tests/local
  6.  
  7. isort = isort -rc $(pkg_src) $(tests_src)
  8. black = black $(pkg_src) $(tests_src)
  9. flake8 = flake8 $(pkg_src) $(tests_src)
  10. mypy = mypy $(pkg_src)
  11. mypy_tests = mypy $(pkg_src) $(tests_src)
  12.  
  13.  
  14. .PHONY: format
  15. format:
  16. $(isort)
  17. $(black)
  18.  
  19. .PHONY: check-format
  20. check-format:
  21. $(isort) --check-only
  22. $(black) --check
  23.  
  24. .PHONY: lint
  25. lint:
  26. $(flake8)
  27.  
  28. .PHONY: mypy
  29. mypy:
  30. $(mypy)
  31.  
  32. .PHONY: mypy-tests
  33. mypy-tests:
  34. $(mypy_tests)
  35.  
  36. .PHONY: test-local
  37. test-local:
  38. pytest $(local_tests_src) --cov=$(pkg_src)
  39.  
  40. .PHONY: test-dev
  41. test-dev:
  42. ./scripts/test-dev.sh
  43.  
  44. .PHONY: test-deploy
  45. test-deploy:
  46. ./scripts/test-deploy.sh
  47.  
  48. # Consider using test-dev or test-deploy instead
  49. .PHONY: testcov
  50. testcov:
  51. pytest $(local_tests_src) --cov=$(pkg_src)
  52. @echo "building coverage html"
  53. @coverage html
  54. @echo "opening coverage html in browser"
  55. @open htmlcov/index.html
  56.  
  57. .PHONY: static
  58. static: format lint mypy
  59.  
  60. .PHONY: default
  61. default: static test-local
  62.  
  63. # Consider test-dev or test-deploy instead
  64. .PHONY: verify
  65. verify: check-format lint mypy test-local
  66.  
  67. .PHONY: clean
  68. clean:
  69. rm -rf `find . -name __pycache__`
  70. rm -f `find . -type f -name '*.py[co]' `
  71. rm -f `find . -type f -name '*~' `
  72. rm -f `find . -type f -name '.*~' `
  73. rm -rf `find . -type d -name '*.egg-info' `
  74. rm -rf `find . -type d -name 'pip-wheel-metadata' `
  75. rm -rf .cache
  76. rm -rf .pytest_cache
  77. rm -rf .mypy_cache
  78. rm -rf htmlcov
  79. rm -rf *.egg-info
  80. rm -f .coverage
  81. rm -f .coverage.*
  82. rm -rf build
  83.  
  84. .PHONY: lock
  85. lock:
  86. ./scripts/setup-lock.sh
  87.  
  88. .PHONY: develop
  89. develop:
  90. ./scripts/setup-develop.sh
  91.  
  92. .PHONY: poetryversion
  93. poetryversion:
  94. cd $(app_root); poetry version $(version)
  95.  
  96. .PHONY: version
  97. version: poetryversion
  98. $(eval NEW_VERS := $(shell cat $(app_root)/pyproject.toml | grep "^version = \"*\"" | cut -d'"' -f2))
  99. @sed -i "" "s/__version__ = .*/__version__ = \"$(NEW_VERS)\"/g" $(pkg_src)/__init__.py
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement