2 Commits

Author SHA1 Message Date
Joel Winarske 1af62109e4 feat(bootstrap): add --shellenv for one-line PATH setup
--shellenv emits an eval-able export of the Dart SDK bin and the emb shim
dir, so eval "$(./bootstrap.sh --shellenv)" fetches Dart, activates emb,
and puts both on PATH in one line. The default clean-stdout bin-dir output
is unchanged.

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2026-06-18 08:08:25 -07:00
Joel Winarske e61bda9de0 build: add OS-agnostic Dart SDK bootstrap
Add `tool/bootstrap_dart.py` (stdlib-only Python 3.6+) to fetch, SHA-256
verify, and cache the official Dart SDK across Linux distros, macOS, and
Windows -- no package manager or root required. Content-addressed cache with
atomic publish; restores exec bits and symlinks that `zipfile` would drop.
`--activate <dir>` chains into `dart pub global activate` so emb installs in
one OS-agnostic step.

Add `bootstrap.sh`, a thin POSIX wrapper that runs the script with
`--activate .` for Linux/macOS. Ignore `__pycache__`.

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2026-06-16 08:51:39 -07:00