flutter_compile 0.10.0
flutter_compile: ^0.10.0 copied to clipboard
A CLI that automates Flutter framework, DevTools, and engine contributor environment setup — depot_tools, gclient sync, GN flags, and ninja builds.
CHANGE LOG #
0.10.0 #
- feat: add
daemoncommand — JSON-RPC 2.0 daemon for real-time IDE communication over stdin/stdout - feat: daemon supports
sdk.list,sdk.global.get/set,sdk.use.get/set,doctor,config.list/get/set,status,version,shutdownmethods - feat: daemon sends
sdk.changedandconfig.changednotifications on file system changes - feat: add
uicommand — interactive terminal UI dashboard for SDK management - feat: TUI provides four tabs: SDKs (with install/set global), Environments, Builds, Doctor
- feat: TUI keyboard navigation with arrow keys, number keys for tab switching, and action keys
- feat: extract
gatherSdkList(),gatherDoctorChecks(),gatherStatus(),gatherConfig()helpers for daemon/TUI reuse - feat: add file watcher with 500ms debounce for
.flutter_compilercand.flutter-versionchanges - deps: add
json_rpc_2andstream_channeldependencies - test: add tests for daemon peer, file watcher, TUI key parser, TUI renderer, and new commands
- feat: add VS Code extension MVP (
extensions/vscode/) — status bar SDK version, quick pick switcher, Install SDK / Switch SDK / Doctor commands - feat: VS Code extension auto-updates
dart.flutterSdkPathworkspace setting on SDK switch - feat: VS Code extension watches
.flutter-versionfor external changes and updates status bar + settings automatically - feat: add
--forceflag tosdk installto remove and re-install an existing SDK - feat: add
isValidGitRepo()validation — detect and recover from partial/corrupted clones - feat: harden
cloneRepository()with force mode and partial clone cleanup on failure - feat:
isSdkInstalled()now validates.git/HEADinstead of just directory existence - feat: idempotent PATH management —
switch,uninstall, andsdk globaluse regex-based block detection to prevent duplicate entries - feat: add
homeDirOverridetoFclass for test isolation - feat: add shell completions documentation to README
- ci: expand GitHub Actions to matrix strategy (Ubuntu, Windows, macOS)
- test: add
TempHometest helper for isolated filesystem tests - test: add behavioral tests for
config,clean,status, andsdk installcommands - test: add unit tests for
Constants,ConsoleColorextension,isValidGitRepo,writeKeyValueToRcConfig,readGlobalSdkVersion - feat: add Android Studio / IntelliJ plugin MVP (
extensions/intellij/) — toolbar combo box SDK switcher, tool window with SDK list and doctor output - feat: IntelliJ plugin auto-updates Flutter SDK path in project settings on SDK switch via
FlutterSdkUtil - feat: IntelliJ plugin settings panel for configuring
flutter_compileCLI path
0.9.0 #
- feat: add
synccommand to sync contributor environments with upstream (sync flutter,sync engine,sync devtools) - feat: add
syalias forsynccommand - feat: bare
sync(no subcommand) runs all three environments sequentially - feat: add
fcpexecutable alias —fcpworks everywhereflutter_compiledoes - feat: add
--jsonflag tosdk list,doctor,config list, andstatusfor machine-readable output - feat: add Windows support — cross-platform PATH management, shell config detection, and host architecture resolution
- feat: add
F.homeDir()cross-platform helper (HOME on Unix, USERPROFILE on Windows) - feat:
isCommandAvailable()now useswhereon Windows,whichon Unix - feat:
getHostCpuArch()uses PROCESSOR_ARCHITECTURE env var on Windows - feat:
getShellConfigPath()returns PowerShell profile path on Windows - feat: add platform-aware PATH export templates for PowerShell
- feat:
doctornow checks for Visual Studio (cl.exe) on Windows - feat:
install flutterandinstall enginenow accept Windows as a supported platform - feat:
ducommands replaced with PowerShell equivalents on Windows forstatusandclean
0.8.0 #
- feat: add
sdk execcommand to run commands through the resolved SDK (project.flutter-version→ global default) - feat:
sdk installauto-sets global default when installing the first SDK - feat:
sdk removenow allows removing the global SDK and cleans up rc config and shell PATH block
0.7.0 #
- feat: add
sdk globalcommand to set or show the global default Flutter SDK version - feat: add
sdk usecommand to pin a Flutter SDK version per project (.flutter-version) - feat: PUB_CACHE isolation — each installed SDK uses its own
.pub-cachedirectory - feat:
sdk listnow annotates entries with(global)and(project)markers - feat:
sdk removenow guards against removing the global default or project-pinned SDK - feat: add SDK resolution helpers (
sdkPubCachePath,sdkEnvironment,sdkVersionPath,isSdkInstalled,readProjectSdkVersion,readGlobalSdkVersion,resolveActiveSdkVersion) - feat: add
environmentparameter toF.runCommand()andF.runFlutterCommand() - feat: add
global_sdkalias toconfigcommand
0.6.0 #
- feat: add
sdkcommand to install and manage multiple Flutter SDK versions (sdk install,sdk list,sdk remove) - feat: add
dralias fordoctorandupalias forupdate - refactor: replace all
exit()calls in shared utilities withFlutterCompileException - refactor: add centralized exception handling in command runner
- refactor: extract shell config detection to shared
F.getShellConfigPath()utility - refactor: replace
exit()calls with return exit codes in install/build commands - fix: rename
uninstall devtool→uninstall devtoolsfor consistency (old name kept as alias) - test: extract shared test helpers to reduce boilerplate across 12 test files
- test: add tests for exception handling,
sdkcommand,install,uninstall, andswitchcommands
0.5.1 #
- chore: upgrade mason_logger to ^0.3.3 and pub_updater to ^0.5.0
0.5.0 #
- feat: add
cleancommand to remove engine build output directories (alias:c) - feat: add
configcommand to view and modify.flutter_compilercfrom CLI (alias:cf) - fix:
uninstall flutternow removes PATH exports from shell config and cleans.flutter_compilerc
0.4.0 #
- feat: add
testcommand to run Flutter tests with a local engine build (--local-engine) - feat: add
statuscommand to show engine configuration and available builds - feat: add
talias fortestcommand andstalias forstatuscommand
0.3.1 #
- ci: add code coverage reporting and Codecov integration
- docs: update README badges (build, codecov, pub version, Dart SDK)
0.3.0 #
- feat: add
runcommand to launch Flutter apps with a local engine build (--local-engine) - feat: add
--gnand--no-gnflags tobuild enginefor incremental rebuilds (auto-skips GN whenbuild.ninjaexists) - feat: add
ralias forruncommand
0.2.0 #
- feat: automate Flutter engine setup (
install engine) — depot_tools, gclient sync, git remotes - feat: add
build enginecommand with GN flag resolution and ninja builds - feat: support all platforms — android, ios, macos, linux, web, host
- feat: extend
doctorwith depot_tools, ninja, Xcode, and engine environment checks - feat: implement
uninstall enginewith optional depot_tools cleanup - feat: add
workingDirectorysupport torunCommand(),getHostCpuArch(),writeFile()utilities
0.1.0 #
- feat: add
doctorcommand for environment health checks - feat: implement
uninstall devtoolwith PATH and config cleanup - fix: bug fixes and dead code cleanup
0.0.1 #
- Initial release
0.0.2 #
- Fix: broken links
0.0.2+1 #
- fix: tests
0.0.2+2 #
- fix: version index
- chore: update
0.0.3 #
- feat: (breaking) added support for compiling devTools