BuilderOptions
fields to Map<String, dynamic>
to drop dependency on build
. Does not impact packages only depending on build.yaml
parsing.package:build
. Changes which are breaking to users - those with build.yaml
files will be indicated with a breaking major version bump. Changed which are breaking to build system implementors - those who use the Dart API for this package, will be indicated with a minor version bump.buildExtensions
is configured to overwrite it's input.InputSet
has an empty or null value in a glob list.|
separator to use :
instead.package:json_annotation
.package:build
version 1.x.x
.package:json_annotation
v1.<3.0.0
.build.yaml
.BuildConfig.globalOptions
support.Parsing of build.yaml
files is now done with the json_serializable
package and is Dart 2 compatible.
There are no changes to the build.yaml
format, the following changes only affect the imperative apis of this package.
BuildConfig
itself now have to be ran inside a build config zone, which can be done using the runInBuildConfigZone
function. This gives the context about what package is currently being parsed, as well as what the default dependencies should be for targets.package
parameter (it is now read off the zone).target
and build_extensions
keys for builder definitions are now optional and should be omitted in most cases since they are currently unused.devOptions
and releaseOptions
on TargetBuilderConfig
.option
, devOptions
, and releaseOptions
to TargetBuilderConfigDefaults
.defaults
and generateFor
fields are never null.InputSet.anything
to name the input sets that don't filter out any assets.post_process_builders
section to build.yaml
. See README.md for more information.-dev$default
as a dependency, i.e.:targets: $default: ... foo: dependencies: - $default
runs_before
in BuilderDefinition
.normalizeBuilderKeyUsage
normalizeTargetKeyUsage
package:build
to include version 0.12.0
.$default
as a target name to get he package name automatically filled in.BuilderDefinition.buildTo
to BuildTo.cache
. Builders which want to operate on the source tree will need to explicitly opt in. Allow this regardless of the value of autoApply
and the build system will need to filter out the builders that can't run.build_to
option to Builder configuration.BuildConfig.fromBuildConfigDir
for cases where the package name and dependencies are already known.TargetBuilderConfig
class to configure builders applied to specific targets.TargetBuilderConfigDefaults
class for Builder authors to provide default configuration.InputSet
and change sources
and generate_for
to use it.BuildTarget.isDefault
and related config parsing. The default will be determined by the target which matches the package name.BuildConfigSet
class. This was unused.Pubspec
class. Construct BuildConfig
instances with a package path rather than an already created Pubspec
instance.auto_apply
option to Builder configuration.required_inputs
option to Builder configuration.is_optional
option to Builder configuration.package:dazel
. Updated to support build_extensions
instead of input_extension
and output_extensions
.