build_config 1.2.0
build_config: ^1.2.0 copied to clipboard
Format definition and support for parsing `build.yaml` configuration.
1.2.0 #
- Add top level key
triggers. See the docs for more information. - Bump the min sdk to 3.7.0.
- Remove unused dep:
yaml. - Documentation revamp.
1.1.2 #
- Stop using deprecated
JsonKey.ignore. - Bump the min sdk to 3.6.0.
1.1.1 #
- Expand pubspec description to improve pub score.
1.1.0 #
- Require Dart 2.14
- Support
runsBeforeglobal configuration for builders. This allows users to have some control over builder ordering.
1.0.0 #
- Migrate to null safety.
0.4.7 #
- Allow the latest
pubspec_parseandchecked_yaml.
0.4.6 #
- Comment out dev dependency temporarily to break source_gen/json_serializable dependency loop.
0.4.5 #
- Allow
package:json_annotationv4.x.
0.4.4 #
- Support the latest
pkg:yaml.
0.4.3 #
- Added the
additional_public_assetsoption, which describes the assets readable when the configured package is not the root of the build.
0.4.2 #
- Add support for an
auto_apply_buildersoption to thetargetconfig.- Defaults to
true(the previous behavior), setting it tofalsemeans all builders have to be explicitly enabled.
- Defaults to
0.4.1+1 #
- Support the latest release of
package:json_annotation. - Increased the lower bound for the Dart SDK to
>=2.3.0.
0.4.1 #
- Added optional
configYamlPathparameter toBuildConfig.parse. When provided, errors reported when parsing build configuration will include the file path.
0.4.0 #
- Breaking for build systems - change type of
BuilderOptionsfields toMap<String, dynamic>to drop dependency onbuild. Does not impact packages only depending onbuild.yamlparsing. - Breaking for build systems - versioning scheme is changing to match
package:build. Changes which are breaking to users - those withbuild.yamlfiles 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.
0.3.2 #
- Add an explicit error when
buildExtensionsis configured to overwrite it's input. - Add an explicit error when an
InputSethas an empty or null value in a glob list. - Increase lower bound SDK constraint to 2.0.0.
- Normalize builder keys with the legacy
|separator to use:instead.
0.3.1+4 #
- Support the latest
package:json_annotation.
0.3.1+3 #
- Support
package:buildversion1.x.x.
0.3.1+2 #
- Support
package:json_annotationv1.
0.3.1+1 #
- Increased the upper bound for the sdk to
<3.0.0.
0.3.1 #
- Improve validation and errors when parsing
build.yaml. - Add
BuildConfig.globalOptionssupport.
0.3.0 #
-
Parsing of
build.yamlfiles is now done with thejson_serializablepackage and is Dart 2 compatible.- The error reporting will be a bit different, but generally should be better, and will include the yaml spans of the problem sections.
Breaking Changes #
There are no changes to the build.yaml format, the following changes only
affect the imperative apis of this package.
- The Constructors for most of the build config classes other than
BuildConfigitself now have to be ran inside a build config zone, which can be done using therunInBuildConfigZonefunction. This gives the context about what package is currently being parsed, as well as what the default dependencies should be for targets. - Many constructor signatures have changed, for the most part removing the
packageparameter (it is now read off the zone).
0.2.6+2 #
- Restore error for missing default target.
0.2.6+1 #
- Restore error for missing build extensions.
0.2.6 #
- The
targetandbuild_extensionskeys for builder definitions are now optional and should be omitted in most cases since they are currently unused. - Support options based on mode, add
devOptionsandreleaseOptionsonTargetBuilderConfig. - Support applying default options based on builder definitions, add
option,devOptions, andreleaseOptionstoTargetBuilderConfigDefaults. - Ensure that
defaultsandgenerateForfields are never null. - Add
InputSet.anythingto name the input sets that don't filter out any assets.
0.2.5 #
- Added
post_process_builderssection tobuild.yaml. See README.md for more information.-dev - Adds support for
$defaultas a dependency, i.e.:
targets:
$default:
...
foo:
dependencies:
- $default
0.2.4 #
- Add support for
runs_beforeinBuilderDefinition.
0.2.3 #
- Expose key normalization methods publicly, these include:
normalizeBuilderKeyUsagenormalizeTargetKeyUsage
0.2.2+1 #
- Expand support for
package:buildto include version0.12.0.
0.2.2 #
- Bug fix: Empty build.yaml files no longer fail to parse.
- Allow
$defaultas a target name to get he package name automatically filled in.
0.2.1 #
- Change the default for
BuilderDefinition.buildTotoBuildTo.cache. Builders which want to operate on the source tree will need to explicitly opt in. Allow this regardless of the value ofautoApplyand the build system will need to filter out the builders that can't run. - By default including any configuration for a Builder within a BuildTarget will enabled that builder.
0.2.0 #
- Add
build_tooption to Builder configuration. - Add
BuildConfig.fromBuildConfigDirfor cases where the package name and dependencies are already known. - Add
TargetBuilderConfigclass to configure builders applied to specific targets. - Add
TargetBuilderConfigDefaultsclass for Builder authors to provide default configuration. - Add
InputSetand changesourcesandgenerate_forto use it. - Remove
BuildTarget.isDefaultand related config parsing. The default will be determined by the target which matches the package name. - Normalize Target and Builder names so they are scoped to the package they are defined in.
Breaking #
- Remove
BuildConfigSetclass. This was unused. - Hide
Pubspecclass. ConstructBuildConfiginstances with a package path rather than an already createdPubspecinstance.
0.1.1 #
- Add
auto_applyoption to Builder configuration. - Add
required_inputsoption to Builder configuration. - Add
is_optionaloption to Builder configuration.
0.1.0 #
- Initial release - pulled from
package:dazel. Updated to supportbuild_extensionsinstead ofinput_extensionandoutput_extensions.