dev_build 1.2.1+1
dev_build: ^1.2.1+1 copied to clipboard
Development utilities for dart and flutter packages. CI and build helpers.
1.2.1+1 #
run_cicleans up after the tests and the build (on failure too), i.e. to free space on a CI running several packages: it runstool/dev_build_cleanup.dartwhen found, then deletes thebuild/folder they created (an existing one is kept).--no-cleanup(PackageRunCiOptions.noCleanup) skips bothrun_ci --no-web-build(PackageRunCiOptions.noWebBuild): noflutter build webnorwebdev build(and no webdev activation), the other builds run, i.e.--build --no-web-buildon windows and macos when the web build is done on linux.--web-build(webBuildOnly) only runs the web build.--buildruns all the builds available, only the web one for now- The
dart pub globallock (concurrent activations) is aGlobalLockof synchronized 3.6.0, its lock file taken over 10 seconds after its holder died (heartbeat), instead of a temp lock file only considered stale 5 minutes after a crash - Requires synchronized 3.6.0
run_cicleanup also deletes the.dart_tool/flutter_build/folder the tests and the build created (flutter build cache): deletingbuild/alone made the nextflutter buildof the same app fail (build/native_assets/<platform>not found), i.e. a package building another one's app on CI
1.2.0 #
- Menus can be driven by an LLM agent (
package:dev_build/menu/menu_agent.dart): themenu(state and output) andmenu_line(a line typed by a user, prompts answered by the next line) commands, over the VM service extensionsext.tekartik.agent.commandsandext.tekartik.agent.run(the ones of tekartik_app_agent, so itsapp-agentMCP server connects to a menu), registered by the io console - io console
--agent: starts the VM service, prints its uri and keeps running once stdin is closed (a background run); agent lines are echoed as if typed MenuLineProcessor, an optional presenter interface (implemented by the io console);MenuManager.runningCountandMenuManager.lastRunFailedrun_ci --build: whenwebdev buildrefuses abuild/folder with other contents (no.build.manifest, such as the output ofwebdev build -o web:build/web), the folder is deleted and the build run again, once
1.1.17+3 #
run_ci --no-fatal-warnings: analyze fails on errors only, the warnings and the infos are reported (for the analyze on the lowest versions, after--pub-downgrade);PackageRunCiOptions.noFatalWarningsrun_ci --no-vm-test(and--chrome-js-test) no longer runsflutter testin a flutter package (it is the host test)run_ciskips the tests of a package whosetestfolder has no_test.dartfile (flutter testfailed on an empty folder left by git)- Add
getPubGlobalInstalledPackagesandcheckAndPubGlobalActivatePackage(forceoption), preferred names forgetInstalledGlobalPackagesandcheckAndActivatePackage(kept); concurrent calls share a singledart pub global list - Add
getDartInstalledPackages(allandforceoptions) andDartInstalledCliPackage, thedart installedlines parser (hosted, git, path, not active)
1.1.16 #
run_cirunstool/dev_build_setup.dartwhen found, after format and analyze, before the tests and the build (i.e. to build a web worker script); its errors are reported and ignored
1.1.15 #
- Console menu: an error thrown by a
command()handler is reported on stderr (it was silently ignored), the menu keeps running - Console menu: the
-hexample uses the exit command (dart test_menu.dart 0 .),-was rejected
1.1.14 #
run_ci --chrome-js-testonly runs chrome dart2js tests (it also ran vm and dart2wasm tests)run_ciskips node tests when node is not installed (--no-node-testand--vm-testwere ignored for node then)packageRunCiusesoptions.poolSizewhenpoolSizeis not setrun_ci --dry-runno longer runsnpm installnor activates webdev, it displays them
1.1.13 #
run_ciignoresdart testexit code 79 (no tests ran) for a platform, i.e. no chrome test when all tests are@TestOn('vm')
1.1.12 #
checkAndActivateWebdev,checkAndActivatePackageanddeactivatePackagehold a lock file shared by isolates and processes (concurrentdart pub global activateof the same package fail with exit code 66)
1.1.11 #
run_ci --recursive(andpackageRunCi) readsdev_build_run_ci_config.yamlfiles toinclude/excludefolders- Add
checkAndInstallCliWebdev,checkAndInstallCliPackageanduninstallCliPackageusingdart install(preferred overcheckAndActivateWebdevandcheckAndActivatePackageusingdart pub global activate)
1.1.10 #
- Don't look for projects inside the
testfolder of a project (run_ci --recursive,packageRunCi,recursivePubPath,iteratePubPath)
1.1.9 #
- Add
dev-build-menu,dev-build-packageanddev-build-run-ciagent skills inskills/, installable withdart run skills@ get
1.1.9-3 #
- Skip
flutter build webwhenlib/main.dartis missing
1.1.9-2 #
- Add
iteratePubPathandIteratePubPathOptions - Add
PubIoPackage.formatandPubIoPackage.checkFormat
1.1.8+3 #
- Requires dart 3.12
- Add
isPubPackageRootSync,isPubPackageRoot,getPubPackageRoot,getPubPackageRootSynctobuild_support - Use pub workspace cache by default
- Add
SinglePackageCiRunner.runTest
1.1.7+5 #
- Add
PubGlobalPackageand related services for installing pub global package. - Fix relative link handling when listing pub directories
- menu: add
writeln
1.1.6 #
- menu: add
enterItem/leaveItem
1.1.5+3 #
- Retry dart chrome test once on macos if timeout to connect
1.1.5 #
- reformat code when doing
--fixoption inrun_ci
1.1.4 #
- Requires dart 3.10
1.1.3+1 #
- Add pubspecYamlGetDependenciesMap and copyWith method to VersionBoundaries
- Add pubspecYamlGetVersionOrNull helper
1.1.2+11 #
- Requires dart 3.7
- Add
chrome-js-testandvm-testoptions to run_ci to run only tests. - Add
compiledExehelper to dart package - Add get dependency helper to DartPackageReader
- Handle workspace in
run_ciwhen mixin dart and flutter projects - Add
popMenuhelper tomenu.dart' - Skip project starting with underscore in
run_ci(i.e._also)
1.1.1+8 #
- Add
pathGetResolvedPackagePath,pathGetPubspecOverridesYamlPath,pathGetResolvedWorkPath,pathGetPackageConfigJsonPath,pathGetResolvedPackagePath,pathGetResolvedWorkPathhelpers tobuild_support - Add
runCiInitPubWorkspacesCachetopackage - Adding basic interactive menu in run_ci
- Start handling workspace
1.1.0+3 #
- Split dart test runner per platform
1.1.0+2 #
- menu: Make prompt not nullable (kind of breaking change, sorry...)
- allow reading config (package_config.json) when finding sub-projects
1.0.1 #
- Export
process_run/shell.dartinshell.dart
1.0.0+14 #
- Make it
1.0.0 - Add
PubDependencyKindandpubspecYamlGetDependenciesPackageNamehelper
0.16.7+4 #
- test using node if supported.
0.16.6 #
- test using dart2wasm if supported.
0.16.5 #
- Simple io menu
0.16.4+3 #
- Fix recursive pub path concurrency
0.16.3+2 #
- Initial version from
dev_test - Fix remove dependency