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
RunnerAssetWriternow requires an additional field,onDeletewhich 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
testBuildermethod now acceptsList<int>values for both
sourceAssetsandoutputs. - The
checkOutputsmethod is now public.
Breaking Changes
- The
testBuildermethod now requires aRecordingAssetWriterinstead of
just anAssetWriterfor thewriterparameter. - If a
Matcheris provided as a value inoutputs, then it will match against
the same value that was written. For example if your builder uses
writeAsStringthen it will match against that string. If you use
writeAsBytesthen it will match against those bytes. It will not
automatically convert to/from bytes and strings. - Deleted the
makeAssetandmakeAssetsmethods. There is no moreAsset
class so these don't really have any value any more. - The signature of
addAssetshas changed to
void addAssets(Map<AssetId, dynamic> assets, InMemoryAssetWriter writer).
Values of the map may be eitherStringorList<int>. InMemoryAssetReader#assetsandInMemoryAssetWriter#assetshave changed to
a type ofMap<AssetId, DatedValue>from a type of
Map<AssetId, DatedString>.DatedValuehas both astringValueand
bytesValuegetter.InMemoryAssetReaderandInMemoryAssetWriterhave been updated to implement
the newAssetReaderandAssetWriterinterfaces (see thebuildpackage
CHANGELOG for more details).InMemoryAssetReader#cacheAssethas been changed to two separate methods,
void cacheStringAsset(AssetId id, String contents)and
void cacheBytesAsset(AssetId id, List<int> bytes).- The
equalsAssetmatcher 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
FileBasedAssetReaderandFileBasedAssetWriternow 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
BuilderTransformernow supports wrapping transformers that read or write
their inputs as bytes.- The Resolver implementation now has
isLibraryto check whether an Asset is a
Library and throws an exception rather than returns null ongetLibrarywhen
it isn't
Breaking Changes
- Stopped exporting
lib/src/util/barback.dartwhich contains internal only
utilities. Specifically, the following items are no longer public (some are
deleted entirely or had breaking changes as well):toBarbackAssettoBarbackAssetIdtoBarbackTransformtoBuildAssettoBuildAssetIdtoTransformLoggerBuildStepTransform
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
AssetWriterclass now has a
Future writeAsBytes(AssetId id, List<int> bytes)method. - The
AssetReaderclass now has aFuture<List<int>> readAsBytes(AssetId id)
method. - You no longer need to call
Resolver#releaseon any resolvers you get from
aBuildStep(in fact, theResolverinterface no longer has this method). - There is now a
BuildStep#resolvergetter, which resolves the primary input,
and returns aFuture<Resolver>. This replaces theBuildStep#resolve
method. Resolverhas a newisLibrarymethod to check whether an asset is a Dart
library source file before trying to resolve it's LibraryElement
Breaking Changes
- The
Assetclass has been removed entirely. - The
AssetWriter#writeAsStringsignature has changed to
Future writeAsString(AssetId id, String contents, {Encoding encoding}). - The type of the
AssetWriterSpy#assetsWrittengetter has changed from an
Iterable<Asset>to anIterable<AssetId>. BuildStep#inputhas been changed toBuildStep#inputId, and its type has
changed fromAssettoAssetId. This means you must now use
BuildStep#readAsStringorBuildStep#readAsBytesto read the primary input,
instead of it already being read in for you.Resolverno longer has areleasemethod (they are released for you).BuildStep#resolveno longer exists, and has been replaced with the
BuildStep#resolvergetter.Resolver.getLibrarywill now throw aNonLibraryAssetExceptioninstead 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.