Merge changes I3f3adf8c,I31e6b863

* changes:
  PolyGerrit: Make ES6 to ES5 transpilation actually work
  maven_jar compatibility to rules_closure#java_import_external
This commit is contained in:
David Ostrovsky
2017-05-10 05:50:17 +00:00
committed by Gerrit Code Review
3 changed files with 30 additions and 26 deletions

View File

@@ -6,9 +6,9 @@ load("//plugins:external_plugin_deps.bzl", "external_plugin_deps")
http_archive(
name = "io_bazel_rules_closure",
strip_prefix = "rules_closure-0.4.1",
sha256 = "ba5e2e10cdc4027702f96e9bdc536c6595decafa94847d08ae28c6cb48225124",
url = "http://bazel-mirror.storage.googleapis.com/github.com/bazelbuild/rules_closure/archive/0.4.1.tar.gz",
sha256 = "af1f5a31b8306faed9d09a38c8e2c1d6afc4c4a2dada3b5de11cceae8c7f4596",
strip_prefix = "rules_closure-f68d4b5a55c04ee50a3196590dce1ca8e7dbf438",
url = "https://bazel-mirror.storage.googleapis.com/github.com/bazelbuild/rules_closure/archive/f68d4b5a55c04ee50a3196590dce1ca8e7dbf438.tar.gz", # 2017-05-05
)
# File is specific to Polymer and copied from the Closure Github -- should be
@@ -24,18 +24,9 @@ load("@io_bazel_rules_closure//closure:defs.bzl", "closure_repositories")
# Prevent redundant loading of dependencies.
closure_repositories(
omit_aopalliance=True,
omit_args4j=True,
omit_jsr305=True,
omit_gson=True,
omit_guava=True,
omit_guice=True,
omit_soy=True,
omit_icu4j=True,
omit_asm=True,
omit_asm_analysis=True,
omit_asm_commons=True,
omit_asm_util=True,
omit_aopalliance = True,
omit_args4j = True,
omit_javax_inject = True,
)
ANTLR_VERS = "3.5.2"

View File

@@ -34,10 +34,9 @@ closure_js_library(
name = "closure_lib",
srcs = ["gr-app.js"],
convention = "GOOGLE",
language = "ECMASCRIPT6",
suppress = [
"JSC_BAD_JSDOC_ANNOTATION",
],
# TODO(davido): Clean up these issues: http://paste.openstack.org/show/608548
# and remove this supression
suppress = ["JSC_UNUSED_LOCAL_ASSIGNMENT"],
deps = [
"//lib/polymer_externs:polymer_closure",
"@io_bazel_rules_closure//closure/library",
@@ -52,6 +51,7 @@ closure_js_binary(
defs = [
"--polymer_pass",
"--jscomp_off=duplicate",
"--force_inject_library=es6_runtime",
],
language = "ECMASCRIPT5",
deps = [":closure_lib"],

View File

@@ -64,12 +64,13 @@ def _format_deps(attr, deps):
formatted_deps += " ],"
return formatted_deps
def _generate_build_file(ctx, binjar, srcjar):
def _generate_build_files(ctx, binjar, srcjar):
header = "# DO NOT EDIT: automatically generated BUILD file for maven_jar rule %s" % ctx.name
srcjar_attr = ""
if srcjar:
srcjar_attr = 'srcjar = "%s",' % srcjar
contents = """
# DO NOT EDIT: automatically generated BUILD file for maven_jar rule {rule_name}
{header}
package(default_visibility = ['//visibility:public'])
java_import(
name = 'jar',
@@ -86,10 +87,10 @@ java_import(
{exports}
)
\n""".format(srcjar_attr = srcjar_attr,
rule_name = ctx.name,
binjar = binjar,
deps = _format_deps("deps", ctx.attr.deps),
exports = _format_deps("exports", ctx.attr.exports))
header = header,
binjar = binjar,
deps = _format_deps("deps", ctx.attr.deps),
exports = _format_deps("exports", ctx.attr.exports))
if srcjar:
contents += """
java_import(
@@ -99,6 +100,18 @@ java_import(
""".format(srcjar = srcjar)
ctx.file('%s/BUILD' % ctx.path("jar"), contents, False)
# Compatibility layer for java_import_external from rules_closure
contents = """
{header}
package(default_visibility = ['//visibility:public'])
alias(
name = "{rule_name}",
actual = "@{rule_name}//jar",
)
\n""".format(rule_name = ctx.name, header = header)
ctx.file("BUILD", contents, False)
def _maven_jar_impl(ctx):
"""rule to download a Maven archive."""
coordinates = _create_coordinates(ctx.attr.artifact)
@@ -142,7 +155,7 @@ def _maven_jar_impl(ctx):
if out.return_code:
fail("failed %s: %s" % (args, out.stderr))
_generate_build_file(ctx, binjar, srcjar)
_generate_build_files(ctx, binjar, srcjar)
maven_jar = repository_rule(
attrs = {