From 2752fe6fee269e9f215b1e05c2b17e1a4162fc9c Mon Sep 17 00:00:00 2001 From: Sam Rawlins Date: Thu, 13 Oct 2016 11:05:19 -0700 Subject: [PATCH] Try to re-relativize this stuff --- dart/build_rules/internal.bzl | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/dart/build_rules/internal.bzl b/dart/build_rules/internal.bzl index 89990e6..b4945b8 100644 --- a/dart/build_rules/internal.bzl +++ b/dart/build_rules/internal.bzl @@ -126,6 +126,8 @@ def make_dart_context(label, if not lib_root: if label.workspace_root.startswith("external/"): lib_root = "%s/lib/" % label.workspace_root[len("external/"):] + elif not label.package: + lib_root = "lib/" else: lib_root = "%s/lib/" % label.package @@ -206,13 +208,7 @@ def package_spec_action(ctx, dart_ctx, output): content = "# Generated by Bazel\n" for dc in dart_ctxs: relative_lib_root = _relative_path(dart_ctx.label.package, dc.lib_root) - if dc.label.workspace_root.startswith("external/"): - content += "%s:%s\n" % (dc.package, dc.lib_root) - else: - if dc.lib_root == '/lib/': - content += "%s:lib/\n" % (dc.package) - else: - content += "%s:%s\n" % (dc.package, relative_lib_root) + content += "%s:%s\n" % (dc.package, relative_lib_root) # Emit the package spec. ctx.file_action( @@ -223,6 +219,8 @@ def package_spec_action(ctx, dart_ctx, output): def _relative_path(from_dir, to_path): """Returns the relative path from a directory to a path via the repo root.""" + if not from_dir: + return to_path return "../" * (from_dir.count("/") + 1) + to_path