68 lines
2.0 KiB
Python
68 lines
2.0 KiB
Python
"""Shared release tooling for the local GovOPlaN release console."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from .model import ReleaseDashboard, ReleasePlan, RepositorySnapshot, RepositorySpec
|
|
|
|
__all__ = [
|
|
"ReleaseDashboard",
|
|
"ReleasePlan",
|
|
"RepositorySnapshot",
|
|
"RepositorySpec",
|
|
"build_dashboard",
|
|
"build_release_intelligence",
|
|
"build_release_plan",
|
|
"build_selective_catalog_candidate",
|
|
"build_selective_release_plan",
|
|
"publish_catalog_candidate",
|
|
"prepare_repositories",
|
|
"push_repositories",
|
|
"sync_repositories",
|
|
]
|
|
|
|
|
|
def __getattr__(name: str):
|
|
value = _load_lazy_export(name)
|
|
globals()[name] = value
|
|
return value
|
|
|
|
|
|
def _load_lazy_export(name: str):
|
|
if name == "build_dashboard":
|
|
from .dashboard import build_dashboard
|
|
|
|
return build_dashboard
|
|
if name == "build_release_intelligence":
|
|
from .release_intelligence import build_release_intelligence
|
|
|
|
return build_release_intelligence
|
|
if name == "build_release_plan":
|
|
from .planner import build_release_plan
|
|
|
|
return build_release_plan
|
|
if name == "build_selective_catalog_candidate":
|
|
from .selective_catalog import build_selective_catalog_candidate
|
|
|
|
return build_selective_catalog_candidate
|
|
if name == "build_selective_release_plan":
|
|
from .selective_planner import build_selective_release_plan
|
|
|
|
return build_selective_release_plan
|
|
if name == "publish_catalog_candidate":
|
|
from .publisher import publish_catalog_candidate
|
|
|
|
return publish_catalog_candidate
|
|
if name == "prepare_repositories":
|
|
from .repository_prepare import prepare_repositories
|
|
|
|
return prepare_repositories
|
|
if name == "push_repositories":
|
|
from .repository_push import push_repositories
|
|
|
|
return push_repositories
|
|
if name == "sync_repositories":
|
|
from .repository_sync import sync_repositories
|
|
|
|
return sync_repositories
|
|
raise AttributeError(name)
|