Source code for deploy_tools.build
import shutil
from .layout import Layout
from .models.changes import DeploymentChanges
from .module_builder import ModuleBuilder
from .templater import Templater
[docs]
def clean_build_area(layout: Layout) -> None:
"""Remove the build area directory if it exists."""
build_path = layout.build_layout.build_root
if build_path.exists():
shutil.rmtree(build_path)
[docs]
def build(changes: DeploymentChanges, layout: Layout) -> None:
"""Build all modules that are to be added or updated."""
release_changes = changes.release_changes
releases = release_changes.to_add + release_changes.to_update
if releases:
templater = Templater()
module_builder = ModuleBuilder(templater, layout)
for release in releases:
module_builder.create_module(release.module)