| OLD | NEW |
| 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:collection' show HashSet, Queue; | 5 import 'dart:collection' show HashSet, Queue; |
| 6 import 'dart:convert' show JSON; | 6 import 'dart:convert' show JSON; |
| 7 import 'dart:io' show File; | 7 import 'dart:io' show File; |
| 8 | 8 |
| 9 import 'package:analyzer/analyzer.dart' | 9 import 'package:analyzer/analyzer.dart' |
| 10 show AnalysisError, CompilationUnit, ErrorSeverity; | 10 show AnalysisError, CompilationUnit, ErrorSeverity; |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 hide: hide) | 390 hide: hide) |
| 391 ..addOption('summary-out', | 391 ..addOption('summary-out', |
| 392 help: 'location to write the summary file', hide: hide); | 392 help: 'location to write the summary file', hide: hide); |
| 393 } | 393 } |
| 394 | 394 |
| 395 static Map<String, String> _parseBazelMappings(Iterable argument) { | 395 static Map<String, String> _parseBazelMappings(Iterable argument) { |
| 396 var mappings = <String, String>{}; | 396 var mappings = <String, String>{}; |
| 397 for (var mapping in argument) { | 397 for (var mapping in argument) { |
| 398 var splitMapping = mapping.split(','); | 398 var splitMapping = mapping.split(','); |
| 399 if (splitMapping.length >= 2) { | 399 if (splitMapping.length >= 2) { |
| 400 mappings[path.absolute(splitMapping[0])] = splitMapping[1]; | 400 mappings[path.canonicalize(splitMapping[0])] = splitMapping[1]; |
| 401 } | 401 } |
| 402 } | 402 } |
| 403 return mappings; | 403 return mappings; |
| 404 } | 404 } |
| 405 } | 405 } |
| 406 | 406 |
| 407 /// A unit of Dart code that can be built into a single JavaScript module. | 407 /// A unit of Dart code that can be built into a single JavaScript module. |
| 408 class BuildUnit { | 408 class BuildUnit { |
| 409 /// The name of this module. | 409 /// The name of this module. |
| 410 final String name; | 410 final String name; |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 | 579 |
| 580 /// Adjusts the source paths in [sourceMap] to be relative to [sourceMapPath], | 580 /// Adjusts the source paths in [sourceMap] to be relative to [sourceMapPath], |
| 581 /// and returns the new map. Relative paths are in terms of URIs ('/'), not | 581 /// and returns the new map. Relative paths are in terms of URIs ('/'), not |
| 582 /// local OS paths (e.g., windows '\'). | 582 /// local OS paths (e.g., windows '\'). |
| 583 // TODO(jmesserly): find a new home for this. | 583 // TODO(jmesserly): find a new home for this. |
| 584 Map placeSourceMap( | 584 Map placeSourceMap( |
| 585 Map sourceMap, String sourceMapPath, Map<String, String> bazelMappings) { | 585 Map sourceMap, String sourceMapPath, Map<String, String> bazelMappings) { |
| 586 var map = new Map.from(sourceMap); | 586 var map = new Map.from(sourceMap); |
| 587 // Convert to a local file path if it's not. | 587 // Convert to a local file path if it's not. |
| 588 sourceMapPath = path.fromUri(_sourceToUri(sourceMapPath)); | 588 sourceMapPath = path.fromUri(_sourceToUri(sourceMapPath)); |
| 589 var sourceMapDir = path.dirname(path.absolute(sourceMapPath)); | 589 var sourceMapDir = path.dirname(path.canonicalize(sourceMapPath)); |
| 590 var list = new List.from(map['sources']); | 590 var list = new List.from(map['sources']); |
| 591 map['sources'] = list; | 591 map['sources'] = list; |
| 592 | 592 |
| 593 String makeRelative(String sourcePath) { | 593 String makeRelative(String sourcePath) { |
| 594 var uri = _sourceToUri(sourcePath); | 594 var uri = _sourceToUri(sourcePath); |
| 595 if (uri.scheme == 'dart' || uri.scheme == 'package') return sourcePath; | 595 if (uri.scheme == 'dart' || uri.scheme == 'package') return sourcePath; |
| 596 | 596 |
| 597 // Convert to a local file path if it's not. | 597 // Convert to a local file path if it's not. |
| 598 sourcePath = path.absolute(path.fromUri(uri)); | 598 sourcePath = path.canonicalize(path.fromUri(uri)); |
| 599 | 599 |
| 600 // Allow bazel mappings to override. | 600 // Allow bazel mappings to override. |
| 601 var match = bazelMappings[sourcePath]; | 601 var match = bazelMappings[sourcePath]; |
| 602 if (match != null) return match; | 602 if (match != null) return match; |
| 603 | 603 |
| 604 // Fall back to a relative path against the source map itself. | 604 // Fall back to a relative path against the source map itself. |
| 605 sourcePath = path.relative(sourcePath, from: sourceMapDir); | 605 sourcePath = path.relative(sourcePath, from: sourceMapDir); |
| 606 | 606 |
| 607 // Convert from relative local path to relative URI. | 607 // Convert from relative local path to relative URI. |
| 608 return path.toUri(sourcePath).path; | 608 return path.toUri(sourcePath).path; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 621 var uri = Uri.parse(source); | 621 var uri = Uri.parse(source); |
| 622 var scheme = uri.scheme; | 622 var scheme = uri.scheme; |
| 623 switch (scheme) { | 623 switch (scheme) { |
| 624 case "dart": | 624 case "dart": |
| 625 case "package": | 625 case "package": |
| 626 case "file": | 626 case "file": |
| 627 // A valid URI. | 627 // A valid URI. |
| 628 return uri; | 628 return uri; |
| 629 default: | 629 default: |
| 630 // Assume a file path. | 630 // Assume a file path. |
| 631 return new Uri.file(path.absolute(source)); | 631 return new Uri.file(path.canonicalize(source)); |
| 632 } | 632 } |
| 633 } | 633 } |
| OLD | NEW |