PackageTrack
Sign in Get early access

grinder

Grinder is a task runner for Dart, helping to define and automate common project workflows.

0.10.0 171K downloads/mo #911 most downloaded on pub.dev google/grinder.dart

What this package is like to depend on

Last release 1 months ago

01 Jul 2026

Release timing varies

gaps range from 2 months to 2.6 years

Some releases are documented

notes for 30 of 53 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

58 releases · first in 2013

1 release in the last 12 months

see the full history below

Release timeline

58 releases · Sep 2013 to Jul 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 58
  1. 0.10.0 01 Jul 2026
    Release notes

    Grant permissions to the Dart publish GitHub Action

    Open source →
    Release notes
    • Update the SDK constraint to 3.1.

    • Support package:cli_util 0.5.0.

    • Breaking change: Tasks can no longer take a GrinderContext parameter. Instead, they must access the context getter.

    • Breaking change: Remove deprecated members startGrinder(), task(), runProcess(), runProcessAsync(), getSdkDir(), and Analyzer.analyzeFiles(). Remove the deprecated quiet argument to Dart.version().

    • Breaking change: Remove package:grinder/grinder_files.dart, package:grinder/grinder_sdk.dart, and package:grinder/grinder_tools.dart. All members provided by these libraries are still available through the main package:grinder/grinder.dart library.

    • Breaking change: Mark all classes exported by this library as final except for GrinderContext.

    • Breaking change: Tighten a number of static types to avoid dynamic and better match the allowed runtime values.

    Open source →
  2. 0.9.5 09 Nov 2023
    Release notes
    • Update the SDK constraint to 3.0.
    • Rev to the latest version of package:lints.
    Open source →
    Release notes
    • Update the SDK constraint to 3.0.
    • Rev to the latest version of package:lints.
    Open source →
  3. 0.9.4 27 Apr 2023
    Release notes
    • Update the SDK constraint to >=2.17.0 <4.0.0.
    Open source →
    Release notes
    • Update the SDK constraint to >=2.17.0 <4.0.0.
    Open source →
  4. 0.9.3 06 Feb 2023
    Release notes
    • Remove the use of the alwaysThrows annotation.
    • Fixed an issue with the analyze command and long paths on Windows (#392).
    • Populate the pubspec repository field.
    • Update the markdown badges in the readme.
    Open source →
    Release notes
    • Remove the use of the alwaysThrows annotation.
    • Fixed an issue with the analyze command and long paths on Windows (#392).
    • Populate the pubspec repository field.
    • Update the markdown badges in the readme.
    Open source →
  5. 0.9.2 22 Jun 2022
    Release notes

    Fix all uses of removed Dart SDK executables (#390)

    Open source →
    Release notes
    • Run all Dart SDK executables through dart rather than their old standalone names.
    Open source →
  6. 0.9.1 04 Apr 2022
    Release notes
    • Address an issue with the removal of the pub tool from Dart 2.17 (#385).
    • Address an issue with the removal of the dartfmt tool from Dart 2.17.
    Open source →
  7. 0.9.0 18 Mar 2021
    Release notes
    • Publish 0.9.0 stable.
    • Address an issue with the Process.run() / RunOptions({bool runInShell}) API (@liudonghua123).
    Open source →
  8. 0.9.0-nullsafety.0 17 Jan 2021 pre-release
    Release notes
    • Support null-safety.
    • Declare Never instead of Null for fail() and GrinderContext.fail().
    • Make the args parameter to GrinderTask.execute() optional.
    Open source →
  9. 0.8.6 13 Oct 2020
    Release notes
    • Declare a Null return type for fail() and GrinderContext.fail().
    Open source →
  10. 0.8.5 09 Jun 2020
    Release notes
    • Broaden the cli_util dependency to be compatible with version 0.2.0.
    Open source →
  11. 0.8.4 18 Mar 2020
    Release notes
    • Update the code to be package:pedantic v1.9.0 compliant.
    Open source →
  12. 0.8.3 20 Jul 2018
    Release notes
    • Upgrade dependencies for Dart 2
    Open source →
  13. 0.8.3+1 21 Jul 2019
    Release notes

    Merge pull request #343 from google/0.8.3+1

    prep for v0.8.3+1

    Open source →
    Release notes
    • Mark fail() and GrinderContext.fail() as @alwaysThrows.
    • Use package:pedantic to analyze the package.
    Open source →
  14. 0.8.2 10 May 2018
    Release notes
    • Address some --preview-dart-2 runtime issues.
    Open source →
  15. 0.8.1 19 Dec 2017
    Release notes
    • Added the ability to pass parameters to tasks from the command line (using a TaskArgs parameter on task functions)
    • Removed the older way to pass flags and options to tasks (via named and positional parameters on task functions)
    • Remove a dependency on a non-strong mode package (unscripted)
    Open source →
  16. 0.8.0 29 Oct 2015
    Release notes
    • Removed deprecated constants: BIN_DIR, BUILD_DIR, LIB_DIR, WEB_DIR
    • Removed the 120-col line wrapping on task output
    • Added a task for DDC (dev_compiler)
    • Fixed an issue where we were emitting overly verbose stack traces on failures
    • Fixed an issue where we would emit stdout after a failure, even when the stdout had been emitted as part of the task
    • Added outFile and enableExperimentalMirrors to the dart2js task
    • Some grinder output now written using ansi colors
    • Removed the deprecated defaultInit method.
    • Added a task for dartdoc
    • Added a new sdkBin() method
    Open source →
  17. 0.8.0+1 13 Nov 2015
    Release notes
    • Fixed a bug with the DDC --html-report option
    Open source →
  18. 0.8.0+2 27 Jan 2016
    Release notes
    • Added categories and extraArgs parameters to Dart2Js.compile() and Dart2Js.compileAsync()
    Open source →
  19. 0.8.0+3 16 Oct 2016
    Release notes
    • All APIs, including pub run grinder, always use the same Dart version as the user.
    Open source →
  20. 0.8.0-dev.2 29 Oct 2015 pre-release

    Nothing published for this version

  21. 0.8.0-dev.1 26 Oct 2015 pre-release

    Nothing published for this version

  22. 0.7.2 09 Jul 2015
    Release notes
    • Auto-expand directories passed to Analyzer.analyze() to a list of Dart source files using the added method findDartSourceFiles().
    • Add tests for Analyzer.analyze() task.
    • Add sourceDirs and existingSourceDirs to return the projects top-level directories usually containing Dart source files.
    • Deprecate the Tests class (in favor of TestRunner)
    • Add lineLength as an optional argument to DartFmt.format
    Open source →
  23. 0.7.1 19 May 2015
    Release notes
    • Added grind --completion install command to install tab-completion for task names and options in grind.
    • Improved grind -h (help) output.
    • Dart.run now takes an optional vmArgs, a list of arguments passed to the Dart VM.
    • Added downgrade method do Pub.
    • Introduce RunOptions to support all Process.run/Process.start parameters. The workingDirectory parameter is now deprecated in all methods, use RunOptions.workingDirectory instead.
    • Added PubApp.runAsync.
    • In Dart.run, deprecate the vmNewGenHeapMB and vmOldGenHeapMB options.
    • Added support for passing lists of files or directories to DartFmt.format().
    • Analyzer.analyzeFiles is deprecated in favor of Analyzer.analyze.
    • Added a Pub.global.list() method to list the installed applications.
    • added a TestRunner class - a wrapper around the new test package.
    Open source →
  24. 0.7.1+1 20 May 2015
    Release notes
    • Add a files param to TestRunner.test.
    Open source →
  25. 0.7.1+2 24 May 2015
    Release notes
    • Add a Dart.runAsync static method.
    Open source →
  26. 0.7.1+3 24 May 2015
    Release notes
    • Fix bug with Dart.run/runAsync. Args were swapped.
    Open source →
  27. 0.7.0 21 Apr 2015
    Release notes
    • Big changes! Task definitions are now primarily annotation based; see the readme for more information and an example
    • The GrinderContext arg is no longer expected in task functions. Instead, the context variable (and the log and fail functions) are available as global variables. They're injected into the zone running the current task.
    • pub [global] run grinder:grind no longer work, use pub [global] run grinder instead. Add :grinder if using pub run in Dart SDK < 1.10.
    • copyFile and copyDirectory and deprecated in favor of a new copy method
    • deleteEntity is deprecated in favor of a new delete method
    • Renamed runProcess/runProcessAsync/runDartScript to run/runAsync/Dart.run. Process result info (stdout, stderr, exitCode) is now exposed by these methods and some others which call them.
    • Added a wrapper class around pub global activate/run/pub run applications - PubApp
    • Grinder can now create a simple starter script for a project - run pub run grinder:init
    Open source →
  28. 0.7.0-dev.2 10 Apr 2015 pre-release

    Nothing published for this version

  29. 0.7.0-dev.1 29 Mar 2015 pre-release

    Nothing published for this version

  30. 0.6.6 29 Jan 2015

    Nothing published for this version

  31. 0.6.6+1 31 Jan 2015

    Nothing published for this version

  32. 0.6.6+2 31 Jan 2015

    Nothing published for this version

  33. 0.6.6+3 05 Feb 2015

    Nothing published for this version

  34. 0.6.5 14 Jan 2015
    Release notes
    • added defaultInit() and defaultClean() methods, for common tasks
    • added methods for Pub.global.activate and Pub.global.run
    • added an optional workingDirectory argument to more methods
    • added a --version command line flag
    • have the version command check to see if there's a newer version of grinder available
    • the dart2js compile tasks now create the output directory if it doesn't exist
    Open source →
  35. 0.6.4 18 Dec 2014
    Release notes
    • clarify that users should put their build scripts in tools/grind.dart
    • add a getSdkDir method
    Open source →
  36. 0.6.4+1 23 Dec 2014

    Nothing published for this version

  37. 0.6.3 11 Dec 2014

    Nothing published for this version

  38. 0.6.2 13 Nov 2014
    Release notes
    • widen the version constraint on quiver
    Open source →
  39. 0.6.1 13 Oct 2014
    Release notes
    • widen the version constraint on args
    Open source →
  40. 0.6.0 24 Sep 2014
    Release notes

    The convenience API is now more terse:

    • the defineTask() method has been renamed to task()
    • instead of named parameters, the task() function now uses optional positional parameters

    Added two new entrypoint files in bin/: grind.dart and grinder.dart. These let you run grinder via:

    pub run grinder test
    

    They look for a corresponding grinder script in the tool directory (bin/grind.dart looks for tool/grind.dart and bin/grinder.dart looks for tool/grinder.dart). If they find a corresponding script they run it in a new Dart VM process. This means that projects will no longer have to have a grind.sh script in the root of each project.

    PubTool's build methods now take an optional workingDirectory argument.

    Removed runSdkBinary and runSdkBinaryAsync, and they are no longer needed. Use runProcess and runProcessAsync instead.

    The methods on PubTools and Dart2jsTools are now static - you no longer need to create an instance to use them. Also, PubTools was renamed to Pub and Dart2jsTools was renamed to Dart2js. And a new utility class for dartanalyzer - Analyzer - was created.

    Open source →
  41. 0.5.7 29 Jul 2014
    Release notes
    • added runProcessAsync() and related async methods (such as PubTools.buildAsync(...))
    • removed duplicated stack traces when the build fails with exceptions
    • throw an exception when running SDK binaries, and we are not able to locate the Dart SDK
    Open source →
  42. 0.5.6 21 Jul 2014

    Nothing published for this version

  43. 0.5.4 23 May 2014

    Nothing published for this version

  44. 0.5.3 22 May 2014

    Nothing published for this version

  45. 0.5.2 11 Apr 2014

    Nothing published for this version

  46. 0.5.1 06 Jan 2014

    Nothing published for this version

  47. 0.5.0 03 Jan 2014

    Nothing published for this version

  48. 0.4.5 21 Dec 2013

    Nothing published for this version

  49. 0.4.4 10 Dec 2013

    Nothing published for this version

  50. 0.4.3 27 Nov 2013

    Nothing published for this version

  51. 0.4.2 26 Nov 2013

    Nothing published for this version

  52. 0.4.1 25 Nov 2013

    Nothing published for this version

  53. 0.4.0 11 Nov 2013

    Nothing published for this version

  54. 0.1.0 30 Oct 2013

    Nothing published for this version

  55. 0.0.7 18 Oct 2013

    Nothing published for this version

  56. 0.0.6 09 Oct 2013

    Nothing published for this version

  57. 0.0.5 01 Oct 2013

    Nothing published for this version

  58. 0.0.4 24 Sep 2013

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive