Skip to content

Commit 30d7b75

Browse files
authored
Simplify FinalizedReader. (#3867)
* Simplify `FinalizedReader`. * Update CHANGELOG.md. * Update CHANGELOG.md.
1 parent e952fe8 commit 30d7b75

File tree

4 files changed

+9
-18
lines changed

4 files changed

+9
-18
lines changed

build_runner/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
- Use `build_test` 3.0.0.
44
- Start using `package:build/src/internal.dart'.
55
- Refactor `MultiPackageAssetReader` to internal `AssetFinder`.
6+
- `FinalizedReader` no longer implements `AssetReader`.
67

78
## 2.4.15
89

build_runner/lib/src/server/asset_graph_handler.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'dart:convert';
77
import 'dart:io';
88

99
import 'package:build/build.dart';
10+
import 'package:build_runner_core/build_runner_core.dart';
1011
// ignore: implementation_imports
1112
import 'package:build_runner_core/src/asset_graph/graph.dart';
1213
// ignore: implementation_imports
@@ -18,7 +19,7 @@ import 'path_to_asset_id.dart';
1819

1920
/// A handler for `/$graph` requests under a specific `rootDir`.
2021
class AssetGraphHandler {
21-
final AssetReader _reader;
22+
final FinalizedReader _reader;
2223
final String _rootPackage;
2324
final AssetGraph _assetGraph;
2425

build_runner_core/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- Use `build_test` 3.0.0.
66
- Refactor `PathProvidingAssetReader` to `AssetPathProvider`.
77
- Refactor `MultiPackageAssetReader` to internal `AssetFinder`.
8+
- `FinalizedReader` no longer implements `AssetReader`.
89

910
## 8.0.0
1011

build_runner_core/lib/src/asset/finalized_reader.dart

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ import '../asset_graph/optional_output_tracker.dart';
1818
import '../generate/phase.dart';
1919
import '../package_graph/target_graph.dart';
2020

21-
/// An [AssetReader] which ignores deleted files.
22-
class FinalizedReader implements AssetReader, AssetReaderState {
23-
@override
21+
/// A view of the build output.
22+
///
23+
/// If [canRead] returns false, [unreadableReason] explains why the file is
24+
/// missing; for example, it might say that generation failed.
25+
class FinalizedReader {
2426
late final AssetFinder assetFinder = FunctionAssetFinder(_findAssets);
2527

2628
final AssetReader _delegate;
@@ -38,12 +40,6 @@ class FinalizedReader implements AssetReader, AssetReaderState {
3840
FinalizedReader(this._delegate, this._assetGraph, this._targetGraph,
3941
this._buildPhases, this._rootPackage);
4042

41-
@override
42-
AssetPathProvider? get assetPathProvider => _delegate.assetPathProvider;
43-
44-
@override
45-
InputTracker? get inputTracker => _delegate.inputTracker;
46-
4743
/// Returns a reason why [id] is not readable, or null if it is readable.
4844
Future<UnreadableReason?> unreadableReason(AssetId id) async {
4945
if (!_assetGraph.contains(id)) return UnreadableReason.notFound;
@@ -62,28 +58,20 @@ class FinalizedReader implements AssetReader, AssetReaderState {
6258
return UnreadableReason.unknown;
6359
}
6460

65-
@override
6661
Future<bool> canRead(AssetId id) async =>
6762
(await unreadableReason(id)) == null;
6863

69-
@override
7064
Future<Digest> digest(AssetId id) => _delegate.digest(id);
7165

72-
@override
7366
Future<List<int>> readAsBytes(AssetId id) => _delegate.readAsBytes(id);
7467

75-
@override
7668
Future<String> readAsString(AssetId id, {Encoding encoding = utf8}) async {
7769
if (_assetGraph.get(id)?.isDeleted ?? true) {
7870
throw AssetNotFoundException(id);
7971
}
8072
return _delegate.readAsString(id, encoding: encoding);
8173
}
8274

83-
// This is only for generators, so only `BuildStep` needs to implement it.
84-
@override
85-
Stream<AssetId> findAssets(Glob glob_) => throw UnimplementedError();
86-
8775
Stream<AssetId> _findAssets(Glob glob, String? _) async* {
8876
var potentialNodes = _assetGraph
8977
.packageNodes(_rootPackage)

0 commit comments

Comments
 (0)