Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 /** Common methods used by transfomers. */ | 5 /** Common methods used by transfomers. */ |
| 6 library polymer.src.transform.common; | 6 library polymer.src.transform.common; |
| 7 | 7 |
| 8 import 'dart:async'; | 8 import 'dart:async'; |
| 9 | 9 |
| 10 import 'package:barback/barback.dart'; | 10 import 'package:barback/barback.dart'; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 return document; | 43 return document; |
| 44 } | 44 } |
| 45 | 45 |
| 46 /** Create an [AssetId] for a [url] seen in the [source] asset. */ | 46 /** Create an [AssetId] for a [url] seen in the [source] asset. */ |
| 47 // TODO(sigmund): delete once this is part of barback (dartbug.com/12610) | 47 // TODO(sigmund): delete once this is part of barback (dartbug.com/12610) |
| 48 AssetId resolve(AssetId source, String url, TransformLogger logger, Span span) { | 48 AssetId resolve(AssetId source, String url, TransformLogger logger, Span span) { |
| 49 if (url == null || url == '') return null; | 49 if (url == null || url == '') return null; |
| 50 var uri = Uri.parse(url); | 50 var uri = Uri.parse(url); |
| 51 var urlBuilder = path.url; | 51 var urlBuilder = path.url; |
| 52 if (uri.host != '' || uri.scheme != '' || urlBuilder.isAbsolute(url)) { | 52 if (uri.host != '' || uri.scheme != '' || urlBuilder.isAbsolute(url)) { |
| 53 logger.error('absolute paths not allowed: "$url"', span); | 53 if (logger != null) { |
|
Jennifer Messerly
2013/08/28 22:25:45
ideally we would always have a logger
Siggi Cherem (dart-lang)
2013/08/28 23:17:06
ok, reverted this change.
| |
| 54 logger.error('absolute paths not allowed: "$url"', span); | |
| 55 } | |
| 54 return null; | 56 return null; |
| 55 } | 57 } |
| 56 | 58 |
| 57 var package; | 59 var package; |
| 58 var targetPath; | 60 var targetPath; |
| 59 var segments = urlBuilder.split(url); | 61 var segments = urlBuilder.split(url); |
| 60 if (segments[0] == 'packages') { | 62 if (segments[0] == 'packages') { |
| 61 if (segments.length < 3) { | 63 if (segments.length < 3) { |
| 62 logger.error("incomplete packages/ path. It should have at least 3 " | 64 if (logger != null) { |
| 63 "segments packages/name/path-from-name's-lib-dir", span); | 65 logger.error("incomplete packages/ path. It should have at least 3 " |
| 66 "segments packages/name/path-from-name's-lib-dir", span); | |
| 67 } | |
| 64 return null; | 68 return null; |
| 65 } | 69 } |
| 66 package = segments[1]; | 70 package = segments[1]; |
| 67 targetPath = urlBuilder.join('lib', | 71 targetPath = urlBuilder.join('lib', |
| 68 urlBuilder.joinAll(segments.sublist(2))); | 72 urlBuilder.joinAll(segments.sublist(2))); |
| 69 } else if (segments[0] == 'assets') { | 73 } else if (segments[0] == 'assets') { |
| 70 if (segments.length < 3) { | 74 if (segments.length < 3) { |
| 71 logger.error("incomplete assets/ path. It should have at least 3 " | 75 if (logger != null) { |
| 72 "segments assets/name/path-from-name's-asset-dir", span); | 76 logger.error("incomplete assets/ path. It should have at least 3 " |
| 77 "segments assets/name/path-from-name's-asset-dir", span); | |
| 78 } | |
| 79 return null; | |
| 73 } | 80 } |
| 74 package = segments[1]; | 81 package = segments[1]; |
| 75 targetPath = urlBuilder.join('asset', | 82 targetPath = urlBuilder.join('asset', |
| 76 urlBuilder.joinAll(segments.sublist(2))); | 83 urlBuilder.joinAll(segments.sublist(2))); |
| 77 } else { | 84 } else { |
| 78 package = source.package; | 85 package = source.package; |
| 79 targetPath = urlBuilder.normalize( | 86 targetPath = urlBuilder.normalize( |
| 80 urlBuilder.join(urlBuilder.dirname(source.path), url)); | 87 urlBuilder.join(urlBuilder.dirname(source.path), url)); |
| 81 } | 88 } |
| 82 return new AssetId(package, targetPath); | 89 return new AssetId(package, targetPath); |
| 83 } | 90 } |
| OLD | NEW |