You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ensure the NativeAssetsBuildRunner.link() produces a BuildResult with all assets (#1633)
* Ensure the NativeAssetsBuildRunner.link() produces a BuildResult with all assets
Before this change a bundling tool would
* call `buildResult = nativeAssetsBuildRunner.build(...)`
* call `linkResult = nativeAssetsBuildRunner.link(buildResult: buildResult, ...)
* get all assets via `allAssets = [...buildResult.assets, ...linkResult.assets]`
=> This PR makes the `link()` command produce a `LinkResult` containing
all assets of the final application.
=> One could view this as the assets from `build()` without a linker to go to
a default linker that just emits all of it's inputs.
=> This allows the `link()` step to also perform the application-wide
validation steps (not just over all linker outputs but across build &
link outputs)
Bundling tools now only have to deal with
* `buildResult` in JIT mode (where linking is not enabled)
* `linkResult` in AOT mode (where linking is enabled)
Instead of dealing with both `buildResult` and `linkResult` in AOT mode.
(In some sense one actually would prefer a `NativeAssetsBuilder.build` and
`NativeAssetsBuilder.buildAndLink` instead of the current API that exposes the
intermediary result from `build(linkingEnabled: true)` just to be explicitly
passed on to link later on)
0 commit comments