Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Side by Side Diff: dart/sdk/lib/_internal/pub_generated/lib/src/barback/transformer_cache.dart

Issue 651483004: Version 1.7.2 (Closed) Base URL: http://dart.googlecode.com/svn/branches/1.7/
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 library pub.barback.transformer_cache; 1 library pub.barback.transformer_cache;
2 import 'package:path/path.dart' as p; 2 import 'package:path/path.dart' as p;
3 import '../io.dart'; 3 import '../io.dart';
4 import '../log.dart' as log; 4 import '../log.dart' as log;
5 import '../package_graph.dart'; 5 import '../package_graph.dart';
6 import '../sdk.dart' as sdk; 6 import '../sdk.dart' as sdk;
7 import '../utils.dart'; 7 import '../utils.dart';
8 import 'transformer_id.dart'; 8 import 'transformer_id.dart';
9 class TransformerCache { 9 class TransformerCache {
10 final PackageGraph _graph; 10 final PackageGraph _graph;
11 Set<TransformerId> _oldTransformers; 11 Set<TransformerId> _oldTransformers;
12 Set<TransformerId> _newTransformers; 12 Set<TransformerId> _newTransformers;
13 String _dir; 13 String _dir;
14 String get _manifestPath => p.join(_dir, "manifest.txt"); 14 String get _manifestPath => p.join(_dir, "manifest.txt");
15 TransformerCache.load(PackageGraph graph) 15 TransformerCache.load(PackageGraph graph)
16 : _graph = graph, 16 : _graph = graph,
17 _dir = graph.entrypoint.root.path(".pub/transformers") { 17 _dir = graph.entrypoint.root.path(".pub/transformers") {
18 _oldTransformers = _parseManifest(); 18 _oldTransformers = _parseManifest();
19 } 19 }
20 void clearIfOutdated(Set<String> changedPackages) { 20 void clearIfOutdated(Set<String> changedPackages) {
21 var snapshotDependencies = unionAll(_oldTransformers.map((id) { 21 var snapshotDependencies = unionAll(_oldTransformers.map((id) {
22 if (!_graph.packages.containsKey(id.package)) return new Set();
22 return _graph.transitiveDependencies( 23 return _graph.transitiveDependencies(
23 id.package).map((package) => package.name).toSet(); 24 id.package).map((package) => package.name).toSet();
24 })); 25 }));
25 if (!overlaps(changedPackages, snapshotDependencies)) return; 26 if (!overlaps(changedPackages, snapshotDependencies)) return;
26 deleteEntry(_dir); 27 deleteEntry(_dir);
27 _oldTransformers = new Set(); 28 _oldTransformers = new Set();
28 } 29 }
29 String snapshotPath(Set<TransformerId> transformers) { 30 String snapshotPath(Set<TransformerId> transformers) {
30 var path = p.join(_dir, "transformers.snapshot"); 31 var path = p.join(_dir, "transformers.snapshot");
31 if (_newTransformers != null) return path; 32 if (_newTransformers != null) return path;
(...skipping 27 matching lines...) Expand all
59 if (!fileExists(_manifestPath)) return new Set(); 60 if (!fileExists(_manifestPath)) return new Set();
60 var manifest = readTextFile(_manifestPath).split("\n"); 61 var manifest = readTextFile(_manifestPath).split("\n");
61 if (manifest.removeAt(0) != sdk.version.toString()) { 62 if (manifest.removeAt(0) != sdk.version.toString()) {
62 deleteEntry(_dir); 63 deleteEntry(_dir);
63 return new Set(); 64 return new Set();
64 } 65 }
65 return manifest.single.split( 66 return manifest.single.split(
66 ",").map((id) => new TransformerId.parse(id, null)).toSet(); 67 ",").map((id) => new TransformerId.parse(id, null)).toSet();
67 } 68 }
68 } 69 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698