build_runner_core 0.3.0
build_runner_core: ^0.3.0 copied to clipboard
Core tools to write binaries that run builders.
0.3.0 #
Breaking Changes #
- Implementations of
BuildEnvironment
must now implement thefinalizeBuild
method. There is a default implementation if you extendBuildEnvironment
that 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
assumeTty
argument onIOEnvironment
has moved to a named argument sincenull
is an accepted value. - The
outputMap
field onBuildOptions
has moved to theIOEnvironment
class.
New Features/Updates #
- Added a
outputSymlinksOnly
option toIOEnvironment
constructor, that causes the merged output directories to contain only symlinks, which is much faster than copying files. - Added the
FinalizedAssetView
class which provides a list of all available assets to theBuildEnvironment
during the build finalization phase.outputMap
has moved fromBuildOptions
to this constructor, as a named argument.
- The
OverridableEnvironment
now supports overriding the newfinalizeBuild
api. - 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_annotation
v1.
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/build
is now based on a relative path to the build script instead of the absolute path.- This enables
.dart_tool/build
directories to be reused across different computers and directories for the same project.
- This enables
0.2.0 #
New Features #
- The
BuildPerformance
class is now serializable, it has afromJson
constructor and atoJson
instance method. - Added
BuildOptions.logPerformanceDir
, performance logs will be continuously written to that directory if provided. - Added support for
global_options
inbuild.yaml
of the root package. - Allow overriding the default
Resolvers
implementation. - Allows building with symlinked files. Note that changes to the linked files will not trigger rebuilds in watch or serve mode.
Breaking changes #
BuildPhasePerformance.action
has been replaced withBuildPhasePerformance.builderKeys
.BuilderActionPerformance.builder
has been replaced withBuilderActionPerformance.builderKey
.BuildResult
no longer has anexception
orstackTrace
field.- Dropped
failOnSevere
arguments. 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.