Skip to content

Releases: dart-lang/build

build_barback-v0.3.0

18 Jul 03:59
Compare
Choose a tag to compare
build_barback: prepare to release 0.3.0 (#311)

build_runner 0.3.0

31 Jan 15:21
Compare
Choose a tag to compare

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 within delete.

build_test 0.4.0

27 Jan 21:32
Compare
Choose a tag to compare

Updates to work with build version 0.7.0.

New Features

  • The testBuilder method now accepts List<int> values for both
    sourceAssets and outputs.
  • The checkOutputs method is now public.

Breaking Changes

  • The testBuilder method now requires a RecordingAssetWriter instead of
    just an AssetWriter for the writer parameter.
  • If a Matcher is provided as a value in outputs, 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 and makeAssets methods. There is no more Asset
    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 either String or List<int>.
  • InMemoryAssetReader#assets and InMemoryAssetWriter#assets have changed to
    a type of Map<AssetId, DatedValue> from a type of
    Map<AssetId, DatedString>. DatedValue has both a stringValue and
    bytesValue getter.
  • InMemoryAssetReader and InMemoryAssetWriter have been updated to implement
    the new AssetReader and AssetWriter interfaces (see the build 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 more Asset
    class.

build_runner 0.2.0

27 Jan 21:33
Compare
Choose a tag to compare

Add support for the new bytes apis in build.

New Features

  • FileBasedAssetReader and FileBasedAssetWriter now support reading/writing
    as bytes.

build_barback 0.1.0

27 Jan 21:32
Compare
Choose a tag to compare

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 on getLibrary 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

27 Jan 21:31
Compare
Choose a tag to compare

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 a Future<List<int>> readAsBytes(AssetId id)
    method.
  • You no longer need to call Resolver#release on any resolvers you get from
    a BuildStep (in fact, the Resolver interface no longer has this method).
  • There is now a BuildStep#resolver getter, which resolves the primary input,
    and returns a Future<Resolver>. This replaces the BuildStep#resolve
    method.
  • Resolver has a new isLibrary 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 an Iterable<AssetId>.
  • BuildStep#input has been changed to BuildStep#inputId, and its type has
    changed from Asset to AssetId. This means you must now use
    BuildStep#readAsString or BuildStep#readAsBytes to read the primary input,
    instead of it already being read in for you.
  • Resolver no longer has a release 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 a NonLibraryAssetException 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)

10 Nov 21:38
Compare
Choose a tag to compare
  • 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

28 Oct 14:28
Compare
Choose a tag to compare
  • With the default logger, print exceptions with a terse stack trace.
  • Provide a better error when an inputSet package cannot be found.
  • Fix dev_dependencies so tests run.

v0.4.1+1

28 Oct 14:37
Compare
Choose a tag to compare
  • Support analyzer 0.29.x

build_test 0.1.2

22 Aug 21:24
Compare
Choose a tag to compare

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.