@@ -382,6 +382,7 @@ class AssetGraph implements GeneratedAssetHider {
382
382
});
383
383
384
384
_addSources (newIds);
385
+
385
386
var newAndModifiedNodes = [
386
387
for (var id in modifyIds.followedBy (newIds)) get (id)! ,
387
388
];
@@ -398,9 +399,8 @@ class AssetGraph implements GeneratedAssetHider {
398
399
digestReader,
399
400
);
400
401
401
- // Collects the set of all transitive ids to be removed from the graph,
402
- // based on the removed `SourceAssetNode`s by following the
403
- // `primaryOutputs`.
402
+ // Compute generated nodes that will no longer be output because their
403
+ // primary input was deleted. Delete them.
404
404
var transitiveRemovedIds = < AssetId > {};
405
405
void addTransitivePrimaryOutputs (AssetId id) {
406
406
if (transitiveRemovedIds.add (id)) {
@@ -414,26 +414,8 @@ class AssetGraph implements GeneratedAssetHider {
414
414
addTransitivePrimaryOutputs (id);
415
415
}
416
416
}
417
-
418
- // The generated nodes to actually delete from the file system.
419
417
var idsToDelete = Set <AssetId >.from (transitiveRemovedIds)
420
418
..removeAll (removeIds);
421
-
422
- // TODO(davidmorgan): ensure deleted outputs are updated.
423
- // We definitely need to update manually deleted outputs.
424
- /*for (var deletedOutput in removeIds
425
- .map(get)
426
- .nonNulls
427
- .where((n) => n.type == NodeType.generated)) {
428
- updateNode(deletedOutput.id, (nodeBuilder) {
429
- nodeBuilder.generatedNodeState.pendingBuildAction =
430
- PendingBuildAction.build;
431
- });
432
- }*/
433
-
434
- _addOutputsForSources (buildPhases, newIds, rootPackage);
435
-
436
- // Delete all the invalidated assets.
437
419
await Future .wait (idsToDelete.map (delete));
438
420
439
421
// Change deleted source assets and their transitive primary outputs to
@@ -446,6 +428,8 @@ class AssetGraph implements GeneratedAssetHider {
446
428
}
447
429
}
448
430
431
+ _addOutputsForSources (buildPhases, newIds, rootPackage);
432
+
449
433
_outputs = null ;
450
434
return idsToDelete;
451
435
}
0 commit comments