-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rules_closure job on ci.bazel.io is broken @HEAD #32
Comments
Are you sure your fix works for Python? I get the following error:
It appears that the generated Python runner script does: external_dir = os.path.join(module_space, 'external')
print external_dir
if os.path.isdir(external_dir):
external_entries = [os.path.join(external_dir, d) for d in os.listdir(external_dir)]
repositories = [d for d in external_entries if os.path.isdir(d)]
print repositories
python_path_entries += repositories But the generated structure is now:
|
It should work or we should fix bazel On Fri, Apr 1, 2016 at 5:10 PM Justine Tunney notifications@github.com
|
Perhaps Bazel needs to be fixed. You can reproduce this error by cloning the Closure Rules and applying the following change: diff --git a/closure/compiler/jschecker/jschecker.py b/closure/compiler/jschecker/jschecker.py
index 113b534..a21547f 100644
--- a/closure/compiler/jschecker/jschecker.py
+++ b/closure/compiler/jschecker/jschecker.py
@@ -44,8 +44,8 @@ import os
import re
import sys
-from external.closure_library.closure.bin.build import source
-from external.closure_library.closure.bin.build import treescan
+from closure.bin.build import source
+from closure.bin.build import treescan
def _get_options_parser(): |
ok that's because of bazelbuild/bazel#1040 |
When these issues are fixed, would it be possible for you guys to roll a new release? Otherwise my Travis build is going to be broken and I can't make good recommendations to users. |
Yes it would be but I think it is not needed. Fixing the issue on our side should make your code work without any change to the closure_rules themselves. btw, while looking at your code I found the comment on the closure_library. You could use a custom skylark repository rule to generate a http archive with multiple build file (and there you can use labels even with 0.2.1, no need to wait for next release) |
What issue are you fixing exactly? I'd like to get rid of the |
The import path of python point to the wrong location. With Bazel head it points to the correct location but you still need external.closure_library prefix because the package name clashes with your main repository (all top level python package is closure) The fix will add the io_bazel_... prefix to all python import. I am trying to bisect to see exactly what caused that behavior. We have a long term plan to make everything a bit more logical but it is still in its early phase. |
Ok what caused that behavior is fixing using the workspace name... so the breakage come from actually having a name in the workspace name... |
The workspace name is good. I want it to put stuff in that io_bazel_rules_closure subdirectory, due to the issue I raised in bazelbuild/bazel/issues/1090. |
Yes I agree, but we should have the other repo in the runfiles base:
not the way it is:
Anyway, no action is required from the closure_rules to fix the issue. I think we will have a fix on monday on Bazel and hopefully we will roll out the new symlink structure soon enough for closure rules :) |
See http://ci.bazel.io/job/rules_closure/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/26/console
Error:
My opinion: the causing import statement should just be
from closure.bin.build import source
and it should workThe text was updated successfully, but these errors were encountered: