Skip to content

Upgrading build_config 0.3 to 0.4

Breaking0.3.2 → 0.4.7Breaking8New5Changed7Other1

BreakingUpgrade verdict

8 breaking changes.

  • Two helper methods for creating assets are gone because the Asset class was removed.
  • The single cacheAsset method is split into one method for caching strings and one for caching bytes.
  • The equalsAsset matcher is gone since assets are no longer represented by an Asset class.
  • When testing a builder you must now pass a RecordingAssetWriter, not a plain AssetWriter.
Top 3 of 8 that need code or config changes

Dart SDK requirement changed in 0.4.7: >=2.0.0 <3.0.0 → >=2.11.99 <3.0.0.

Breaking8
Deletes the makeAsset and makeAssets methods, since the Asset class no longer exists.
makeAssetmakeAssetsAsset
InMemoryAssetReader#cacheAsset is replaced by cacheStringAsset(AssetId id, String contents) and cacheBytesAsset(AssetId id, List<int> bytes).
InMemoryAssetReader#cacheAssetcacheStringAssetcacheBytesAssetAssetId
Removes the equalsAsset matcher because the Asset class no longer exists.
equalsAssetAsset
The testBuilder method now requires a RecordingAssetWriter instead of just an AssetWriter for the writer parameter.
testBuilderRecordingAssetWriterAssetWriterwriter
A Matcher in outputs now matches the exact written value, with no automatic conversion between bytes and strings.
MatcheroutputswriteAsStringwriteAsBytes
The addAssets signature changes to void addAssets(Map<AssetId, dynamic> assets, InMemoryAssetWriter writer), with String or List<int> values.
addAssetsAssetIdInMemoryAssetWriter
InMemoryAssetReader#assets and InMemoryAssetWriter#assets change to Map<AssetId, DatedValue>, which has stringValue and bytesValue getters.
InMemoryAssetReader#assetsInMemoryAssetWriter#assetsDatedValueDatedStringstringValuebytesValue
InMemoryAssetReader and InMemoryAssetWriter now implement the new AssetReader and AssetWriter interfaces.
InMemoryAssetReaderInMemoryAssetWriterAssetReaderAssetWriter

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

  • changed: ctor BuildConfig({ String packageName, @required Map<String, BuildTarget> buildTargets, Map<String, GlobalBuilderConfig> globalOptions, Map<String, BuilderDefinition> builderDefinitions, Map<String, PostProcessBuilderDefinition> postProcessBuilderDefinitions = …, }) → ctor BuildConfig({ String packageName, @required Map<String, BuildTarget> buildTargets, Map<String, GlobalBuilderConfig> globalOptions, Map<String, BuilderDefinition> builderDefinitions, Map<String, PostProcessBuilderDefinition> postProcessBuilderDefinitions = …, this.additionalPublicAssets = …, })
  • changed: ctor BuildConfig.parse( String packageName, Iterable<String> dependencies, String configYaml) → ctor BuildConfig.parse( String packageName, Iterable<String> dependencies, String configYaml, { String configYamlPath, })
  • changed: ctor BuildTarget({ InputSet sources, Iterable<String> dependencies, Map<String, TargetBuilderConfig> builders, }) → ctor BuildTarget({ bool autoApplyBuilders, InputSet sources, Iterable<String> dependencies, Map<String, TargetBuilderConfig> builders, })
  • changed: ctor GlobalBuilderConfig({ BuilderOptions options, BuilderOptions devOptions, BuilderOptions releaseOptions, }) → ctor GlobalBuilderConfig({ Map<String, dynamic> options, Map<String, dynamic> devOptions, Map<String, dynamic> releaseOptions, })
  • changed: ctor TargetBuilderConfig({ bool isEnabled, this.generateFor, BuilderOptions options, BuilderOptions devOptions, BuilderOptions releaseOptions, }) → ctor TargetBuilderConfig({ bool isEnabled, this.generateFor, Map<String, dynamic> options, Map<String, dynamic> devOptions, Map<String, dynamic> releaseOptions, })
  • changed: ctor TargetBuilderConfigDefaults({ InputSet generateFor, BuilderOptions options, BuilderOptions devOptions, BuilderOptions releaseOptions, }) → ctor TargetBuilderConfigDefaults({ InputSet generateFor, Map<String, dynamic> options, Map<String, dynamic> devOptions, Map<String, dynamic> releaseOptions, })
  • changed: field GlobalBuilderConfig.devOptions: final BuilderOptions → field GlobalBuilderConfig.devOptions
  • changed: field GlobalBuilderConfig.options: final BuilderOptions → field GlobalBuilderConfig.options: final Map<String, dynamic>
  • changed: field GlobalBuilderConfig.releaseOptions: final BuilderOptions → field GlobalBuilderConfig.releaseOptions
  • changed: field TargetBuilderConfig.devOptions: final BuilderOptions → field TargetBuilderConfig.devOptions
  • changed: field TargetBuilderConfig.options: final BuilderOptions → field TargetBuilderConfig.options: final Map<String, dynamic>
  • changed: field TargetBuilderConfig.releaseOptions: final BuilderOptions → field TargetBuilderConfig.releaseOptions
  • changed: field TargetBuilderConfigDefaults.devOptions: final BuilderOptions → field TargetBuilderConfigDefaults.devOptions
  • changed: field TargetBuilderConfigDefaults.options: final BuilderOptions → field TargetBuilderConfigDefaults.options: final Map<String, dynamic>
  • changed: field TargetBuilderConfigDefaults.releaseOptions: final BuilderOptions → field TargetBuilderConfigDefaults.releaseOptions
  • changed: function runInBuildConfigZone<T>( T fn(), String package, List<String> defaultDependencies): T → function runInBuildConfigZone<T>( T Function() fn, String package, List<String> defaultDependencies): T
  • added: field BuildConfig.additionalPublicAssets: final List<String>
  • added: field BuildTarget.autoApplyBuilders: final bool
  • added: field GlobalBuilderConfig.devOptions: final Map<String, dynamic>
  • added: field GlobalBuilderConfig.releaseOptions: final Map<String, dynamic>
  • added: field TargetBuilderConfig.devOptions: final Map<String, dynamic>
  • added: field TargetBuilderConfig.releaseOptions: final Map<String, dynamic>
  • added: field TargetBuilderConfigDefaults.devOptions: final Map<String, dynamic>
  • added: field TargetBuilderConfigDefaults.releaseOptions: final Map<String, dynamic>