anchor.diff:        List<BuildAction> buildActions,
         Set<AssetId> inputSources,
         Set<AssetId> cacheDirSources,
  -      Set<AssetId> internalSources,
  -      Set<AssetId> allSources) async {
  +      Set<AssetId> internalSources) async {
       var updates = await _findSourceUpdates(
  -        assetGraph, inputSources, cacheDirSources, internalSources, allSources);
  +        assetGraph, inputSources, cacheDirSources, internalSources);
       updates.addAll(_computeBuilderOptionsUpdates(assetGraph, buildActions));
       await assetGraph.updateAndInvalidate(
           _buildActions,
  
positive.code:     var inputSources = await _findInputSources();
      var cacheDirSources = await _findCacheDirSources();
      var internalSources = await _findInternalSources();
      var allSources = inputSources.toSet()
        ..addAll(cacheDirSources)
        ..addAll(internalSources);
  
      var assetGraph = await _tryReadCachedAssetGraph();
  
  
negative.code:             internalSources, _options.packageGraph.root.name, _options.reader);
          buildScriptUpdates =
              await BuildScriptUpdates.create(_options, assetGraph);
          conflictingOutputs = assetGraph.outputs
              .where((n) => n.package == _options.packageGraph.root.name)
              .where(inputSources.contains)
              .toSet();
          final conflictsInDeps = assetGraph.outputs
              .where((n) => n.package != _options.packageGraph.root.name)
              .where(inputSources.contains)
              .toSet();
          // TODO(https://github.com/dart-lang/build/issues/706) - stop special
          // casing this conflict
          conflictsInDeps
              .remove((new AssetId('node_preamble', 'lib/preamble.js')));
          if (conflictsInDeps.isNotEmpty) {
            throw new UnexpectedExistingOutputsException(conflictsInDeps);
          }
        });
  
        await logTimedAsync(
  