Upgrading build_config 0.3 to 0.4
Breaking0.3.2 → 0.4.7Breaking8New5Changed7Other1
BreakingUpgrade verdict
8 breaking changes.
In plain terms
- 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.
Must act 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.
What you must change
Breaking8
Deletes the makeAsset and makeAssets methods, since the Asset class no longer exists.
makeAssetmakeAssetsAssetInMemoryAssetReader#cacheAsset is replaced by cacheStringAsset(AssetId id, String contents) and cacheBytesAsset(AssetId id, List<int> bytes).
InMemoryAssetReader#cacheAssetcacheStringAssetcacheBytesAssetAssetIdRemoves the equalsAsset matcher because the Asset class no longer exists.
equalsAssetAssetThe testBuilder method now requires a RecordingAssetWriter instead of just an AssetWriter for the writer parameter.
testBuilderRecordingAssetWriterAssetWriterwriterA Matcher in outputs now matches the exact written value, with no automatic conversion between bytes and strings.
MatcheroutputswriteAsStringwriteAsBytesThe addAssets signature changes to void addAssets(Map<AssetId, dynamic> assets, InMemoryAssetWriter writer), with String or List<int> values.
addAssetsAssetIdInMemoryAssetWriterInMemoryAssetReader#assets and InMemoryAssetWriter#assets change to Map<AssetId, DatedValue>, which has stringValue and bytesValue getters.
InMemoryAssetReader#assetsInMemoryAssetWriter#assetsDatedValueDatedStringstringValuebytesValueInMemoryAssetReader and InMemoryAssetWriter now implement the new AssetReader and AssetWriter interfaces.
InMemoryAssetReaderInMemoryAssetWriterAssetReaderAssetWriterAPI changes
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>