Skip to content
This repository has been archived by the owner on Apr 29, 2021. It is now read-only.

Latest commit

 

History

History
40 lines (28 loc) · 1.15 KB

README.md

File metadata and controls

40 lines (28 loc) · 1.15 KB

presubmit

A batteries included package to validate whether the working revision of a Dart package conforms to testing and contribution requirements. Stated simply, "something to run on continuous integration before merging pull requests".

Usage

$ pub global activate presubmit

$ pub global run presubmit \
$   --[no]dartanalyzer \
$   --[no]dartfmt \
$   --[no]tests \
$   --path <location of package, defaults to current>

Planned work

A high-level list of work required to get this close to an initial release:

Running modes

  • Allow running as a binary (i.e. pub run presubmit)
  • Allow specifying binary arguments via the command-line
  • Allow specifying binary arguments via presubmit.yaml
  • Allow programmatic use, i.e. write your own tool/presubmit.dart

Built-in plugins

  • Run the Dart analyzer and linter
  • Run the Dart formatter
  • Run the Dart test runner (pub run test)
  • Run an offline source generator (i.e. a build.dart file)

Extensibility

  • Allow defining your own plugin (unclear how this works yet)
  • Run nested sets of plugins (i.e. run program, run tests, close program)