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

Side by Side Diff: pkg/dev_compiler/lib/src/compiler/command.dart

Issue 2483753004: fix #27771, create directory if needed (Closed)
Patch Set: Created 4 years, 1 month 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'dart:io'; 5 import 'dart:io';
6 import 'package:analyzer/src/generated/source.dart' show Source; 6 import 'package:analyzer/src/generated/source.dart' show Source;
7 import 'package:analyzer/src/summary/package_bundle_reader.dart' 7 import 'package:analyzer/src/summary/package_bundle_reader.dart'
8 show InSummarySource; 8 show InSummarySource;
9 import 'package:args/args.dart' show ArgParser, ArgResults; 9 import 'package:args/args.dart' show ArgParser, ArgResults;
10 import 'package:args/command_runner.dart' show UsageException; 10 import 'package:args/command_runner.dart' show UsageException;
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 : outPaths.map((p) => 163 : outPaths.map((p) =>
164 '${path.withoutExtension(p)}.${compilerOpts.summaryExtension}'); 164 '${path.withoutExtension(p)}.${compilerOpts.summaryExtension}');
165 165
166 // place next to every compiled module 166 // place next to every compiled module
167 for (var summaryPath in summaryPaths) { 167 for (var summaryPath in summaryPaths) {
168 // Only overwrite if summary changed. This plays better with timestamp 168 // Only overwrite if summary changed. This plays better with timestamp
169 // based build systems. 169 // based build systems.
170 var file = new File(summaryPath); 170 var file = new File(summaryPath);
171 if (!file.existsSync() || 171 if (!file.existsSync() ||
172 _changed(file.readAsBytesSync(), module.summaryBytes)) { 172 _changed(file.readAsBytesSync(), module.summaryBytes)) {
173 if (!file.parent.existsSync()) file.parent.createSync(recursive: true);
173 file.writeAsBytesSync(module.summaryBytes); 174 file.writeAsBytesSync(module.summaryBytes);
174 } 175 }
175 } 176 }
176 } 177 }
177 } 178 }
178 179
179 String _moduleForLibrary( 180 String _moduleForLibrary(
180 String moduleRoot, Source source, CompilerOptions compilerOpts) { 181 String moduleRoot, Source source, CompilerOptions compilerOpts) {
181 if (source is InSummarySource) { 182 if (source is InSummarySource) {
182 var summaryPath = source.summaryPath; 183 var summaryPath = source.summaryPath;
(...skipping 20 matching lines...) Expand all
203 '\n\n${_argParser.usage}'; 204 '\n\n${_argParser.usage}';
204 205
205 void _usageException(String message) { 206 void _usageException(String message) {
206 throw new UsageException(message, _usageMessage); 207 throw new UsageException(message, _usageMessage);
207 } 208 }
208 209
209 /// Thrown when the input source code has errors. 210 /// Thrown when the input source code has errors.
210 class CompileErrorException implements Exception { 211 class CompileErrorException implements Exception {
211 toString() => '\nPlease fix all errors before compiling (warnings are okay).'; 212 toString() => '\nPlease fix all errors before compiling (warnings are okay).';
212 } 213 }
OLDNEW
« no previous file with comments | « no previous file | pkg/dev_compiler/lib/src/compiler/compiler.dart » ('j') | pkg/dev_compiler/test/worker/worker_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698