load("@rbs//python/rules.rbs", "py_binary", "py_library")
load("@rbs//python/lint.rbs", "py_lint")
py_library(
name = "blog_app",
srcs = glob(["blog/*.py"]),
deps = [":django_repo", ":pillow_repo"],
)
py_library(
name = "django_config",
srcs = glob(["django_blog/*.py"]),
deps = [":django_repo", ":whitenoise_repo", ":requests_repo"],
)
# Development server
py_binary(
name = "dev_server",
srcs = ["manage.py"],
main = "manage.py",
args = ["runserver", "8001"],
deps = [":blog_app", ":django_config", ":django_repo"],
env = {"DJANGO_SETTINGS_MODULE": "django_blog.settings", "DEBUG": "True"},
)
# Production server (Gunicorn)
py_binary(
name = "prod_server",
srcs = ["gunicorn_config.py"],
main = "gunicorn_config.py",
deps = [":blog_app", ":django_config", ":django_repo", ":gunicorn_repo", ":whitenoise_repo"],
env = {"DJANGO_SETTINGS_MODULE": "django_blog.settings", "DEBUG": "False"},
)
# Database migrations
py_binary(
name = "migrate",
srcs = ["manage.py"],
main = "manage.py",
args = ["migrate"],
deps = [":blog_app", ":django_config", ":django_repo"],
env = {"DJANGO_SETTINGS_MODULE": "django_blog.settings"},
)
# Lint
py_lint(
name = "lint",
srcs = glob(["**/*.py"], exclude = [".rbs/**", "venv/**", "__pycache__/**"]),
)