Files
emb_cli/analysis_options.yaml
T
Joel Winarske 353b15e0be Port workspace-automation to the emb CLI
Reimplement meta-flutter/workspace-automation (flutter_workspace.py +
create_aot.py) as a Dart CLI that provisions an embedded-Linux Flutter
workspace and builds ivi-homescreen bundles.

Commands:
- doctor: host detection (os/arch/distro) + package-backend availability.
- deps:   coalesce host deps across manifests, filter to what's missing,
          install in one PackageKit transaction (with WhatProvides
          resolution for provides/alternate names).
- sync:   concurrent git clone/update into <workspace>/app.
- flutter: clone/checkout the Flutter SDK (auto-resolves the engine commit).
- engine: fetch prebuilt engine artifacts from meta-flutter/flutter-engine
          releases (keyed by the SDK engine commit).
- aot:    create_aot.py port producing libapp.so (profile/release).
- bundle: assemble an ivi-homescreen bundle (debug JIT / AOT) with implicit
          engine fetch; cross-compile x86_64 -> arm64/riscv64 via the engine
          simulator gen_snapshot (self-contained, no qemu).
- build:  manifest-driven build (emb.yaml / pubspec emb:) over an
          arch x mode matrix.
- setup:  one-shot provision (deps -> repos -> SDK -> engine); writes
          setup_env.sh.
- env:    write setup_env.sh.

Self-describing manifests carry host deps (by OS/distro) and a build: block.
Linux uses the PackageKit backend; the macOS (brew) and Windows (winget)
backends live in lib/src/pkg/_platform and are wired per-OS.

Replaces the sample command with the above. Adds tests across host
detection, manifest parsing, coalesce/filter, git sync, engine arch
resolution, AOT command construction, bundle assembly, and env generation.
2026-06-15 18:35:32 -07:00

11 lines
396 B
YAML

include: package:very_good_analysis/analysis_options.6.0.0.yaml
analyzer:
exclude:
# Per-OS provisioner backends compiled only on macOS/Windows builds, where
# brew_dart / winget_dart are added as dependencies. Excluded here so the
# default (Linux) build does not require those packages to resolve.
- lib/src/pkg/_platform/**
linter:
rules:
public_member_api_docs: false