Index: pkg/polymer/lib/src/build/common.dart |
diff --git a/pkg/polymer/lib/src/build/common.dart b/pkg/polymer/lib/src/build/common.dart |
index 7e62cc7adb575dde51b6aa40ddb53e58cb898176..e6b28e2322783e33486bb1bfc0d0a8acf8535edd 100644 |
--- a/pkg/polymer/lib/src/build/common.dart |
+++ b/pkg/polymer/lib/src/build/common.dart |
@@ -112,6 +112,13 @@ abstract class PolymerTransformer { |
}); |
} |
+ String getAssetUrl(AssetId id, Transform transform) { |
Siggi Cherem (dart-lang)
2014/02/13 17:46:33
I find it a bit confusing to have both getAssetUrl
Jennifer Messerly
2014/02/13 20:43:47
done! based Dartdoc on your extremely helpful expl
|
+ var primaryId = transform.primaryInput.id; |
+ bool samePackage = id.package == primaryId.package; |
+ return samePackage ? id.path |
+ : assetUrlFor(id, primaryId, transform.logger, allowAssetUrl: true); |
+ } |
+ |
Future<bool> assetExists(AssetId id, Transform transform) => |
transform.getInput(id).then((_) => true).catchError((_) => false); |
@@ -129,7 +136,8 @@ List<List<Transformer>> get phasesForPolymer => |
* urls are not resolved unless [source] is Dart file (has a .dart extension). |
*/ |
// TODO(sigmund): delete once this is part of barback (dartbug.com/12610) |
-AssetId resolve(AssetId source, String url, TransformLogger logger, Span span) { |
+AssetId resolve(AssetId source, String url, TransformLogger logger, Span span, |
+ {bool allowAbsolute: false}) { |
if (url == null || url == '') return null; |
var uri = Uri.parse(url); |
var urlBuilder = path.url; |
@@ -142,7 +150,9 @@ AssetId resolve(AssetId source, String url, TransformLogger logger, Span span) { |
} |
} |
- logger.error('absolute paths not allowed: "$url"', span: span); |
+ if (!allowAbsolute) { |
+ logger.error('absolute paths not allowed: "$url"', span: span); |
+ } |
return null; |
} |