These packages provide libraries for generating, compiling and serving Dart code.
Defines the interfaces for creating a
Builder which is a way of doing codegen
that is compatible across build systems (pub, bazel, standalone runner).
For packages doing code generation this should generally be the only package against which there is a public dependency. Packages may have a dev_dependency on one or more of the other packages.
Support for parsing
build.yaml files. Used by
Support for discovering the sub-modules within packages and creating summaries
of those modules. Used by
build_web_compilers but should not be used directly
by most users.
An implementation of the
Resolver interface to use the analyzer during build
Provides utilities to enact builds and a way to automatically run builds based on configuration.
This package should generally be a dev_dependency as it is used to run
standalone builds. The only exception would be wrapping the
methods with some other package.
Stub implementations for classes in
Build and some utilities for running
instances of builds and checking their outputs.
This package generally only be a dev_dependency as it introduces a dependency on package:test. The exception to that would be if you were creating another testing-only package that wraps this one.
dartdevc support for your package. To use this
package you should add it as a dev_dependency.
If you are using the automated build scripts, your project will automatically start being compiled with dartdevc, and you can start developing with chrome without any configuration.
directory has an example of a build with custom builders which generate outputs
into both the source tree and a hidden generated directory. Try a build with
dart run build_runner build -o web:deploy to see what the output looks like.
Most projects should not need custom builders.