build_runner_core 6.1.9
build_runner_core: ^6.1.9 copied to clipboard
Core tools to write binaries that run builders.
6.1.9 #
- Allow the latest
build_config.
6.1.8 #
- Update glob to
2.x.
6.1.7 #
- Allow the null safe pre-release of
package_configandwatcher.
6.1.6 #
- Allow the null safe pre-releases of all migrated deps.
6.1.5 #
- Allow build version
1.6.x.
6.1.4 #
- Allow build_config version
'>=0.4.1 <0.4.6'. - Allow yaml version
'>=2.1.11 <4.0.0'.
6.1.3 #
- Allow
package:json_annotationv4.x.
6.1.2 #
- Support the latest
package:build_config.
6.1.1 #
- Fix a bug where
canReadwould throw if thepackagewas unknown, instead of returningfalse.
6.1.0 #
- Require the latest build version (1.5.1).
- Support the
additional_public_assetsoption in build configurations. - Fix a bug where the server would respond with a 500 instead of a 404 for files that don't match any build filters but had previously failed.
- Fix the generated package config to include the full output directory for the root package.
6.0.3 #
6.0.2 #
- Require the latest build version (1.5.x).
6.0.1 #
- Add back the
overrideGeneratedOutputDirectorymethod.
6.0.0 #
- Remove some constants and utilities which are implementation details.
5.2.0 #
- Dart language experiments are now tracked on the asset graph and will
invalidate the build if they change.
- Experiments are enabled for a zone by using the
withEnabledExperimentsfunction frompackage:build/experiments.dart.
- Experiments are enabled for a zone by using the
5.1.0 #
- Add a warning if a package is missing some required placholder files,
including
$package$andlib/$lib$. - Reduce chances for changing apparent build phases across machines with a
different order of packages from
package_config.json.
5.0.0 #
Breaking changes #
PackageGraph.forPathandPackageGraph.forThisPackageare now static methods which return aFuture<PackageGraph>instead of constructors.PackageNodenow requires aLanguageVersion.
Other changes #
- Builds no longer depend on the contents of the package_config.json file,
instead they depend only on the language versions inside of it.
- This should help CI builds that want to share a cache across runs.
- Improve the error message for build.yaml parsing errors, suggesting a clean build if you believe the parse error is incorrect.
- Remove unused dev dependency on
package_resolver.
4.5.3 #
- Don't throw a
BuildScriptInvalidatedexception on package_config.json updates unless running from snapshot.
4.5.2 #
- Don't assume the existence of a .dart_tool/package_config.json file when creating output directories.
4.5.1 #
- Don't fail if there is no .dart_tool/package_config.json file.
4.5.0 #
- Add the
package_config.jsonfile as an internal source, and invalidate builds when it changes. - Avoid treating
AssetIdpaths as URIs.
4.4.0 #
- Support the
auto_apply_builderstarget configuration added inbuild_configversion0.4.2.
4.3.0 #
- Add the
$package$synthetic placeholder file and update the docs to prefer using only that orlib/$lib$. - Add the
assetsdirectory and$package$placeholders to the default sources allow list.
4.2.1 #
- Bug fix: Changing the root package name will no longer cause subsequent builds to fail (Issue #2566).
4.1.0 #
- Add support for trimming builds based on
BuildStep.reportUnusedAssetscalls. See thebuildpackage for more details. - Include
node/**in the default set of sources (when there is no target defined) for the root package.
4.0.0 #
New Feature: Build Filters #
- Added a new
BuildFilterclass which matches a set of assets with glob syntax support for both package and file names. - Added
buildFilterstoBuildOptionswhich is aSet<BuildFilter>and is used to filter exactly which outputs will be generated.- Note that any inputs to the specified files will also necessarily be built.
BuildRunner.runalso now accepts an optionalSet<BuildFilter>argument.FinalizedReaderalso now accepts aSet<BuildFilter>optional parameter and will only allow reading matched files.- This means you can create output directories or servers that respect build filters.
Breaking Changes #
FinalizedReader.resetnow requires an additionalSet<BuildFilter>argument.
3.1.1 #
- When skipping build script updates, don't check if the build script is a part of the asset graph either.
3.1.0 #
- Factor out the logic to do a manual file system scan for changes into a
new
AssetTrackerclass.- This is not exposed publicly and is only intended to be used from the
build_runnerpackage.
- This is not exposed publicly and is only intended to be used from the
3.0.9 #
- Support the latest release of
package:json_annotation.
3.0.8 #
- Fix --log-performance crash on windows by ensuring we use valid windows directory names.
3.0.7 #
- Support the latest
package:build_config.
3.0.6 #
- Handle symlink creation failures and link to dev mode docs for windows.
3.0.5 #
- Explicitly require Dart SDK
>=2.2.0 <3.0.0. - Fix an error that could occur when serializing outdated glob nodes.
3.0.4 #
- Add additional error details and a fallback for https://github.com/dart-lang/build/issues/1804
3.0.3 #
- Share an asset graph when building regardless of whether the build script was started from a snapshot.
3.0.2 #
- Only track valid and readable assets as inputs to globs. Fixes a crash when attempting to check outputs from an invalid asset.
3.0.1 #
- Remove usage of set literals to fix errors on older sdks that don't support them.
3.0.0 #
- Fix an issue where
--symlinkwas forcing outputs to not be hoisted. BuildImplnow takes an optional list ofBuildTargetsinstead of a list ofbuildDirs.- Warn when there are no assets to write in a specified output directory.
2.0.3 #
- Handle asset graph decode failures.
2.0.2 #
- Update
build_resolversto version1.0.0.
2.0.1 #
- Fix an issue where the
finalizedReaderwas notresetprior to build.
2.0.0 #
- The
buildmethod now requires a list ofbuildDirs. - Remove
buildDirsfromBuildOptions. - Added the
overrideGeneratedDirectorymethod which overrides the directory for generated outputs.- Must be invoked before creating a
BuildRunnerinstance.
- Must be invoked before creating a
1.1.3 #
- Update to
package:graphsversion0.2.0. - Allow
buildversion1.1.x. - Update the way combined input hashes are computed to not rely on ordering.
- Digest implementations must now include the AssetId, not just the contents.
- Require package:build version 1.1.0, which meets the new requirements for digests.
1.1.2 #
- Fix a
NoSuchMethodErrorthat the user could get when adding new dependencies.
1.1.1 #
- Fix a bug where adding new dependencies or removing dependencies could cause
subsequent build errors, requiring a
pub run build_runner cleanto fix.
1.1.0 #
- Support running the build script as a snapshot.
- Added new exceptions,
BuildScriptChangedExceptionandBuildConfigChangedException. These should be handled by scripts as described in the documentation. - Added new
FailureTypes ofbuildScriptChangedandbuildConfigChanged.
1.0.2 #
- Support the latest
package:json_annotation.
1.0.1 #
- Update
package:buildversion constraint to>1.0.0 <1.0.1.
1.0.0 #
Breaking Changes #
- The performance tracking apis have changed significantly, and performance
tracking now uses the
timingpackage. - The
BuildOptionsstatic factory now takes aLogSubscriptioninstead of aBuildEnvironment. Logging should be start as early as possible to catch logs emitted during setup.
New Features #
- Use the
timingpackage for performance tracking. - Added support for
BuildStep.trackStageto track performance of custom build stages within your builder.
Bug Fixes #
- Fixed a node invalidation issue when fixing build errors that could cause a situation which was only resolvable with a full rebuild.
0.3.1+5 #
- Fixed an issue where builders that didn't read their primary input would get invalidated on fresh builds when they shouldn't.
0.3.1+4 #
- Removed the constraint on reading files that output to cache from files that output to source.
0.3.1+3 #
- Bug Fix: Don't output a
packagessymlink within thepackagesdirectory.
0.3.1+2 #
- Restore
newkeyword for a working release on Dart 1 VM. - Bug Fix: Don't include any non-lib assets from dependencies in the build, even if they are a source in a target.
0.3.1+1 #
- Bug Fix: Don't include any non-lib assets from dependencies in the build, even if they are a source in a target.
- Release broken on Dart 1 VM.
0.3.1 #
- Migrated glob tracking to a specialized node type to fix dart-lang/build#1702.
0.3.0 #
Breaking Changes #
- Implementations of
BuildEnvironmentmust now implement thefinalizeBuildmethod. There is a default implementation if you extendBuildEnvironmentthat is a no-op.- This method is invoked at the end of the build that allows you to do arbitrary additional work, such as creating merged output directories.
- The
assumeTtyargument onIOEnvironmenthas moved to a named argument sincenullis an accepted value. - The
outputMapfield onBuildOptionshas moved to theIOEnvironmentclass.
New Features/Updates #
- Added a
outputSymlinksOnlyoption toIOEnvironmentconstructor, that causes the merged output directories to contain only symlinks, which is much faster than copying files. - Added the
FinalizedAssetViewclass which provides a list of all available assets to theBuildEnvironmentduring the build finalization phase.outputMaphas moved fromBuildOptionsto this constructor, as a named argument.
- The
OverridableEnvironmentnow supports overriding the newfinalizeBuildapi. - The number of concurrent actions per phase is now limited (currently to 16), which should help with memory and cpu usage for large builds.
0.2.2+2 #
- Support
package:json_annotationv1.
0.2.2+1 #
- Tag errors from cached actions when they are printed.
0.2.2 #
- Changed the default file caching logic to use an LRU cache.
0.2.1+2 #
- Clarify wording for conflicting output directory options. No behavioral differences.
- Reduce the memory consumption required to create an output dir significantly.
- Increased the upper bound for the sdk to
<3.0.0.
0.2.1+1 #
- Allow reuse cache between machines with different OS
0.2.1 #
- The hash dir for the asset graph under
.dart_tool/buildis now based on a relative path to the build script instead of the absolute path.- This enables
.dart_tool/builddirectories to be reused across different computers and directories for the same project.
- This enables
0.2.0 #
New Features #
- The
BuildPerformanceclass is now serializable, it has afromJsonconstructor and atoJsoninstance method. - Added
BuildOptions.logPerformanceDir, performance logs will be continuously written to that directory if provided. - Added support for
global_optionsinbuild.yamlof the root package. - Allow overriding the default
Resolversimplementation. - Allows building with symlinked files. Note that changes to the linked files will not trigger rebuilds in watch or serve mode.
Breaking changes #
BuildPhasePerformance.actionhas been replaced withBuildPhasePerformance.builderKeys.BuilderActionPerformance.builderhas been replaced withBuilderActionPerformance.builderKey.BuildResultno longer has anexceptionorstackTracefield.- Dropped
failOnSeverearguments. Severe logs are always considered failing.
Internal changes #
- Remove dependency on package:cli_util.
0.1.0 #
Initial release, migrating the core functionality of package:build_runner to this package.