finalizeBuild method
Future<BuildResult>
finalizeBuild(
- BuildResult buildResult,
- FinalizedAssetsView finalizedAssetsView,
- AssetReader reader,
- Set<
BuildDirectory> buildDirs,
override
Invoked after each build, can modify the BuildResult in any way, even converting it to a failure.
The finalizedAssetsView
can only be used until the returned Future
completes, it will expire afterwords since it can no longer guarantee a
consistent state.
By default this returns the original result.
Any operation may be performed, as determined by environment.
Implementation
@override
Future<BuildResult> finalizeBuild(
BuildResult buildResult,
FinalizedAssetsView finalizedAssetsView,
AssetReader reader,
Set<BuildDirectory> buildDirs) async {
if (buildDirs
.any((target) => target.outputLocation?.path.isNotEmpty ?? false) &&
buildResult.status == BuildStatus.success) {
if (!await createMergedOutputDirectories(buildDirs, _packageGraph, this,
reader, finalizedAssetsView, _outputSymlinksOnly)) {
return _convertToFailure(buildResult,
failureType: FailureType.cantCreate);
}
}
return buildResult;
}