Composes every builder, validates each output against its schema, and writes the
bytes. Nothing is uploaded here: publishing is the notebook's job and happens
only under APP_BUNDLE_S3=1.
Usage
app_bundle_build(
con,
ver,
dir_out,
manifest = NULL,
base = atlas_base_url(),
geom_keys = list(),
cell_tiles = TRUE,
strict = TRUE,
taxonomy_csv = NULL,
zone_sets = NULL,
zone_names = NULL,
zone_bbox = NULL,
built_at = format(Sys.time(), "%Y-%m-%dT%H:%M:%SZ", tz = "UTC")
)Arguments
- con
a DBI connection to the release database
- ver
version label
- dir_out
output directory (created)
- manifest
a manifest from
manifest_build(); built fromconwhenNULL- base
atlas base URL
- geom_keys
optional geometry keys per zone type, see
app_units()- cell_tiles
write the wide cell tiles (default
TRUE)- strict
stop at the first failing stage (
TRUE, the default), so a half-written bundle is never published by accident.FALSEruns every stage, records what failed in$failed, and leaves the stages that worked on disk — the notebook's diagnostic pass. Either way a failure NAMES its stage and the outputs already written, so nobody needs to build a parallel composition to get at the parts.- taxonomy_csv
path to the WoRMS hierarchy CSV, passed to
app_taxonomy().NULLwrites notaxonomy.parquetand advertises none.- zone_sets
the zone-set registry (
data/zone_sets.csv), passed toapp_zone_tbl()so a release with two tables for one field publishes the one the geometry actually corresponds to- zone_names
optional
data.frame(fld, key, name)(rbind ofapp_zone_names()across the release's zone types), passed toapp_boot()forzones.<unit>[i].name.NULL(default) publishes no names, exactly as before.- zone_bbox
optional
data.frame(fld, key, w, s, e, n)(rbind ofapp_zone_bbox()across the release's zone types), passed toapp_boot()forzones.<unit>[i].bbox.NULL(default) publishes no bboxes, exactly as before.- built_at
ISO timestamp