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

Side by Side Diff: utils/pub/system_cache.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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
« no previous file with comments | « utils/pub/source.dart ('k') | utils/pub/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library system_cache; 5 library system_cache;
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 import 'dart:async';
8 9
9 import 'git_source.dart'; 10 import 'git_source.dart';
10 import 'hosted_source.dart'; 11 import 'hosted_source.dart';
11 import 'io.dart'; 12 import 'io.dart';
12 import 'io.dart' as io show createTempDir; 13 import 'io.dart' as io show createTempDir;
13 import 'log.dart' as log; 14 import 'log.dart' as log;
14 import 'package.dart'; 15 import 'package.dart';
15 import 'sdk_source.dart'; 16 import 'sdk_source.dart';
16 import 'source.dart'; 17 import 'source.dart';
17 import 'source_registry.dart'; 18 import 'source_registry.dart';
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 _pendingInstalls[id] = future; 77 _pendingInstalls[id] = future;
77 return future; 78 return future;
78 } 79 }
79 80
80 /// Create a new temporary directory within the system cache. The system 81 /// Create a new temporary directory within the system cache. The system
81 /// cache maintains its own temporary directory that it uses to stage 82 /// cache maintains its own temporary directory that it uses to stage
82 /// packages into while installing. It uses this instead of the OS's system 83 /// packages into while installing. It uses this instead of the OS's system
83 /// temp directory to ensure that it's on the same volume as the pub system 84 /// temp directory to ensure that it's on the same volume as the pub system
84 /// cache so that it can move the directory from it. 85 /// cache so that it can move the directory from it.
85 Future<Directory> createTempDir() { 86 Future<Directory> createTempDir() {
86 return ensureDir(tempDir).chain((temp) { 87 return ensureDir(tempDir).then((temp) {
87 return io.createTempDir(join(temp, 'dir')); 88 return io.createTempDir(join(temp, 'dir'));
88 }); 89 });
89 } 90 }
90 91
91 /// Delete's the system cache's internal temp directory. 92 /// Delete's the system cache's internal temp directory.
92 Future deleteTempDir() { 93 Future deleteTempDir() {
93 log.fine('Clean up system cache temp directory $tempDir.'); 94 log.fine('Clean up system cache temp directory $tempDir.');
94 return dirExists(tempDir).chain((exists) { 95 return dirExists(tempDir).then((exists) {
95 if (!exists) return new Future.immediate(null); 96 if (!exists) return new Future.immediate(null);
96 return deleteDir(tempDir); 97 return deleteDir(tempDir);
97 }); 98 });
98 } 99 }
99 } 100 }
OLDNEW
« no previous file with comments | « utils/pub/source.dart ('k') | utils/pub/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698