mirror of
https://github.com/toyota-connected/emb_cli.git
synced 2026-06-21 07:19:37 -07:00
353b15e0be
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.
11 lines
396 B
YAML
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
|