Skip to content

Upgrading build 0.6 to 0.7

Breaking0.6.3 → 0.7.3Breaking8Deprecated2New7Changed1Fixed2Other1

BreakingUpgrade verdict

7 breaking changes.

  • You no longer have to clean up resolvers yourself; the build system does it for you.
  • The Asset type is gone; use AssetId and the read methods instead.
  • Use the resolver property instead of calling resolve.
  • Writing a string asset now takes an AssetId and an optional encoding instead of an Asset.
Top 5 of 9 that need code or config changes
Breaking7
Removes Resolver.release; resolvers from a BuildStep no longer need to be released.
ResolverResolver.release()BuildStep
Removes the Asset class entirely.
Asset
Removes BuildStep.resolve, replaced by the BuildStep.resolver getter.
BuildStepBuildStep.resolve()BuildStep.resolver
Changes AssetWriter.writeAsString to Future writeAsString(AssetId id, String contents, {Encoding encoding}).
AssetWriterAssetWriter.writeAsString()AssetIdEncoding
Changes AssetWriterSpy.assetsWritten from Iterable<Asset> to Iterable<AssetId>.
AssetWriterSpyAssetWriterSpy.assetsWrittenAssetAssetId
Replaces BuildStep.input (Asset) with BuildStep.inputId (AssetId); read the primary input via readAsString or readAsBytes.
BuildStepBuildStep.inputBuildStep.inputIdBuildStep.readAsString()BuildStep.readAsBytes()AssetAssetId
Resolver.getLibrary now throws NonLibraryAssetException instead of returning null for impossible libraries.
ResolverResolver.getLibrary()NonLibraryAssetException
Deprecated2
Deprecates BuildStep.logger, which is replaced by the top-level log getter.
BuildStep.loggerlog
Deprecates ManagedBuildStep; all build runs should go through runBuilders.
ManagedBuildSteprunBuilders

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • removed: class Asset
  • removed: ctor Asset(this.id, this.stringContents)
  • removed: field Asset.id: final AssetId
  • removed: field Asset.stringContents: final String
  • removed: get BuildStep.input: Asset
  • removed: method Asset.toString(): String
  • removed: method BuildStep.resolve(AssetId id, {bool resolveAllConstants, List<AssetId> entryPoints}): Future<Resolver>
  • removed: method Resolver.release(): void
  • changed: ctor ManagedBuildStep( Asset input, Iterable<AssetId> expectedOutputs, AssetReader reader, AssetWriter writer, String packageName, Resolvers resolvers, {Logger logger}) → ctor ManagedBuildStep( AssetId inputId, Iterable<AssetId> expectedOutputs, AssetReader reader, AssetWriter writer, String packageName, Resolvers resolvers)
  • changed: get AssetWriterSpy.assetsWritten: Iterable<Asset> → get AssetWriterSpy.assetsWritten: Iterable<AssetId>
  • changed: method AssetWriter.writeAsString(Asset asset, {Encoding encoding = …}): Future → method AssetWriter.writeAsString(AssetId id, String contents, {Encoding encoding = …}): Future
  • changed: method AssetWriterSpy.writeAsString(Asset asset, {Encoding encoding = …}): Future → method AssetWriterSpy.writeAsString(AssetId id, String contents, {Encoding encoding = …}): Future
  • changed: method BuildStep.writeAsString(Asset asset, {Encoding encoding = …}): Future → method BuildStep.writeAsString(AssetId id, String contents, {Encoding encoding = …}): Future
  • changed: method Resolvers.get( BuildStep buildStep, List<AssetId> entryPoints, bool resolveAllConstants): Future<Resolver> → method Resolvers.get(BuildStep buildStep): Future<ReleasableResolver>
  • added: class NonLibraryAssetException implements Exception
  • added: class ReleasableResolver: abstract implements Resolver
  • added: ctor AssetId.resolve(String uri, {AssetId from})
  • added: ctor NonLibraryAssetException(this.assetId)
  • added: field NonLibraryAssetException.assetId: final AssetId
  • added: get BuildStep.inputId: AssetId
  • added: get BuildStep.inputLibrary: Future<LibraryElement>
  • added: get BuildStep.resolver: Future<Resolver>
  • added: get log: Logger
  • added: method AssetReader.readAsBytes(AssetId id): Future<List<int>>
  • added: method AssetWriter.writeAsBytes(AssetId id, List<int> bytes): Future
  • added: method AssetWriterSpy.writeAsBytes(AssetId id, List<int> bytes): Future
  • added: method BuildStep.readAsBytes(AssetId id): Future<List<int>>
  • added: method BuildStep.writeAsBytes(AssetId id, List<int> bytes): Future
  • added: method NonLibraryAssetException.toString(): String
  • added: method ReleasableResolver.release(): void
  • added: method Resolver.isLibrary(AssetId assetId): bool