| OLD | NEW |
| 1 library pub.barback; | 1 library pub.barback; |
| 2 import 'package:barback/barback.dart'; | 2 import 'package:barback/barback.dart'; |
| 3 import 'package:path/path.dart' as p; | 3 import 'package:path/path.dart' as p; |
| 4 import 'version.dart'; | 4 import 'package:pub_semver/pub_semver.dart'; |
| 5 final pubConstraints = { | 5 final pubConstraints = { |
| 6 "barback": new VersionConstraint.parse(">=0.13.0 <0.15.3"), | 6 "barback": new VersionConstraint.parse(">=0.13.0 <0.15.3"), |
| 7 "source_span": new VersionConstraint.parse(">=1.0.0 <2.0.0"), | 7 "source_span": new VersionConstraint.parse(">=1.0.0 <2.0.0"), |
| 8 "stack_trace": new VersionConstraint.parse(">=0.9.1 <2.0.0") | 8 "stack_trace": new VersionConstraint.parse(">=0.9.1 <2.0.0") |
| 9 }; | 9 }; |
| 10 Uri idToPackageUri(AssetId id) { | 10 Uri idToPackageUri(AssetId id) { |
| 11 if (!id.path.startsWith('lib/')) { | 11 if (!id.path.startsWith('lib/')) { |
| 12 throw new ArgumentError("Asset id $id doesn't identify a library."); | 12 throw new ArgumentError("Asset id $id doesn't identify a library."); |
| 13 } | 13 } |
| 14 return new Uri( | 14 return new Uri( |
| 15 scheme: 'package', | 15 scheme: 'package', |
| 16 path: p.url.join(id.package, id.path.replaceFirst('lib/', ''))); | 16 path: p.url.join(id.package, id.path.replaceFirst('lib/', ''))); |
| 17 } | 17 } |
| 18 AssetId packagesUrlToId(Uri url) { | 18 AssetId packagesUrlToId(Uri url) { |
| 19 var parts = p.url.split(url.path); | 19 var parts = p.url.split(url.path); |
| 20 if (parts.isNotEmpty && parts.first == "/") parts = parts.skip(1).toList(); | 20 if (parts.isNotEmpty && parts.first == "/") parts = parts.skip(1).toList(); |
| 21 if (parts.isEmpty) return null; | 21 if (parts.isEmpty) return null; |
| 22 var index = parts.indexOf("packages"); | 22 var index = parts.indexOf("packages"); |
| 23 if (index == -1) return null; | 23 if (index == -1) return null; |
| 24 if (parts.length <= index + 1) { | 24 if (parts.length <= index + 1) { |
| 25 throw new FormatException( | 25 throw new FormatException( |
| 26 'Invalid URL path "${url.path}". Expected package name ' 'after "package
s".'); | 26 'Invalid URL path "${url.path}". Expected package name ' 'after "package
s".'); |
| 27 } | 27 } |
| 28 var package = parts[index + 1]; | 28 var package = parts[index + 1]; |
| 29 var assetPath = p.url.join("lib", p.url.joinAll(parts.skip(index + 2))); | 29 var assetPath = p.url.join("lib", p.url.joinAll(parts.skip(index + 2))); |
| 30 return new AssetId(package, assetPath); | 30 return new AssetId(package, assetPath); |
| 31 } | 31 } |
| OLD | NEW |