Releases: dart-lang/build
Releases · dart-lang/build
build_barback-v0.3.0
build_barback: prepare to release 0.3.0 (#311)
build_runner 0.3.0
Bug Fixes
- Fixed a race condition bug 175
that could cause invalid output errors.
Breaking Changes
RunnerAssetWriter
now requires an additional field,onDelete
which is a
callback that must be called synchronously withindelete
.
build_test 0.4.0
Updates to work with build
version 0.7.0.
New Features
- The
testBuilder
method now acceptsList<int>
values for both
sourceAssets
andoutputs
. - The
checkOutputs
method is now public.
Breaking Changes
- The
testBuilder
method now requires aRecordingAssetWriter
instead of
just anAssetWriter
for thewriter
parameter. - If a
Matcher
is provided as a value inoutputs
, then it will match against
the same value that was written. For example if your builder uses
writeAsString
then it will match against that string. If you use
writeAsBytes
then it will match against those bytes. It will not
automatically convert to/from bytes and strings. - Deleted the
makeAsset
andmakeAssets
methods. There is no moreAsset
class so these don't really have any value any more. - The signature of
addAssets
has changed to
void addAssets(Map<AssetId, dynamic> assets, InMemoryAssetWriter writer)
.
Values of the map may be eitherString
orList<int>
. InMemoryAssetReader#assets
andInMemoryAssetWriter#assets
have changed to
a type ofMap<AssetId, DatedValue>
from a type of
Map<AssetId, DatedString>
.DatedValue
has both astringValue
and
bytesValue
getter.InMemoryAssetReader
andInMemoryAssetWriter
have been updated to implement
the newAssetReader
andAssetWriter
interfaces (see thebuild
package
CHANGELOG for more details).InMemoryAssetReader#cacheAsset
has been changed to two separate methods,
void cacheStringAsset(AssetId id, String contents)
and
void cacheBytesAsset(AssetId id, List<int> bytes)
.- The
equalsAsset
matcher has been removed, since there is no moreAsset
class.
build_runner 0.2.0
Add support for the new bytes apis in build
.
New Features
FileBasedAssetReader
andFileBasedAssetWriter
now support reading/writing
as bytes.
build_barback 0.1.0
Updated to reflect the new support for reading/writing as bytes in the build
package, and the removal of the Asset
class.
New Features
BuilderTransformer
now supports wrapping transformers that read or write
their inputs as bytes.- The Resolver implementation now has
isLibrary
to check whether an Asset is a
Library and throws an exception rather than returns null ongetLibrary
when
it isn't
Breaking Changes
- Stopped exporting
lib/src/util/barback.dart
which contains internal only
utilities. Specifically, the following items are no longer public (some are
deleted entirely or had breaking changes as well):toBarbackAsset
toBarbackAssetId
toBarbackTransform
toBuildAsset
toBuildAssetId
toTransformLogger
BuildStepTransform
build 0.7.0
A number of changes to the apis, primarily to support reading/writing as bytes,
as this is going to inevitably be a required feature. This will hopefully be the
last breaking change before the 1.0
release, but it is a fairly large one.
New Features
- The
AssetWriter
class now has a
Future writeAsBytes(AssetId id, List<int> bytes)
method. - The
AssetReader
class now has aFuture<List<int>> readAsBytes(AssetId id)
method. - You no longer need to call
Resolver#release
on any resolvers you get from
aBuildStep
(in fact, theResolver
interface no longer has this method). - There is now a
BuildStep#resolver
getter, which resolves the primary input,
and returns aFuture<Resolver>
. This replaces theBuildStep#resolve
method. Resolver
has a newisLibrary
method to check whether an asset is a Dart
library source file before trying to resolve it's LibraryElement
Breaking Changes
- The
Asset
class has been removed entirely. - The
AssetWriter#writeAsString
signature has changed to
Future writeAsString(AssetId id, String contents, {Encoding encoding})
. - The type of the
AssetWriterSpy#assetsWritten
getter has changed from an
Iterable<Asset>
to anIterable<AssetId>
. BuildStep#input
has been changed toBuildStep#inputId
, and its type has
changed fromAsset
toAssetId
. This means you must now use
BuildStep#readAsString
orBuildStep#readAsBytes
to read the primary input,
instead of it already being read in for you.Resolver
no longer has arelease
method (they are released for you).BuildStep#resolve
no longer exists, and has been replaced with the
BuildStep#resolver
getter.Resolver.getLibrary
will now throw aNonLibraryAssetException
instead of
return null if it is asked to resolve an impossible library.
Note: The changes to AssetReader
and AssetWriter
also affect BuildStep
and other classes that implement those interfaces.
v0.5.0: Take a single Builder in BuilderTransformer (#138)
- BREAKING BuilderTransformer must be constructed with a single Builder. Use the MultiplexingBuilder to cover cases with a list of builders
- When using a MultiplexingBuilder if multiple Builders have overlapping outputs the entire step will not run rather than running builders up to the point where there is an overlap
0.4.1+3
v0.4.1+1
build_test 0.1.2
Added logLevel
and onLog
named args to testPhases
. These can be used to test your log messages, see test/utils_test.dart
for an example.