aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/build_rules/closure/closure_stylesheet_library.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build_rules/closure/closure_stylesheet_library.bzl')
-rw-r--r--tools/build_rules/closure/closure_stylesheet_library.bzl82
1 files changed, 0 insertions, 82 deletions
diff --git a/tools/build_rules/closure/closure_stylesheet_library.bzl b/tools/build_rules/closure/closure_stylesheet_library.bzl
deleted file mode 100644
index c1532c0547..0000000000
--- a/tools/build_rules/closure/closure_stylesheet_library.bzl
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 2015 The Bazel Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Build definitions for Closure stylesheets. Two files are produced: a minified
-and obfuscated CSS file and a JS file defining a map between CSS classes and the
-obfuscated class name. The stylesheet targets may be used in closure_js_binary
-rules.
-
-Both CSS and GSS files may be used with this rule.
-
-Example:
-
- closure_stylesheet_library(
- name = "hello_css",
- srcs = ["hello.gss"].
- )
-
-This rule will produce hello_css_combined.css and hello_css_renaming.js.
-"""
-
-_GSS_FILE_TYPE = FileType([".css", ".gss"])
-
-def _impl(ctx):
- srcs = set(order="compile")
- for dep in ctx.attr.deps:
- srcs += dep.transitive_gss_srcs
-
- srcs += _GSS_FILE_TYPE.filter(ctx.files.srcs)
-
- args = [
- "--output-file",
- ctx.outputs.out.path,
- "--output-renaming-map",
- ctx.outputs.out_renaming.path,
- "--output-renaming-map-format",
- "CLOSURE_COMPILED",
- "--rename",
- "CLOSURE"
- ] + [src.path for src in srcs]
-
- ctx.action(
- inputs=list(srcs),
- outputs=[ctx.outputs.out, ctx.outputs.out_renaming],
- arguments=args,
- executable=ctx.executable._closure_stylesheets)
-
- return struct(
- files=set([ctx.outputs.out]),
- transitive_gss_srcs=srcs,
- transitive_js_externs=set(),
- transitive_js_srcs=[ctx.outputs.out_renaming])
-
-# There are two outputs:
-# - %{name}_combined.css: A minified and obfuscated CSS file.
-# - %{name}_renaming.js: A map from the original CSS class name to the
-# obfuscated name. This file is used by
-# closure_js_binary rules.
-closure_stylesheet_library = rule(
- implementation=_impl,
- attrs={
- "srcs": attr.label_list(allow_files=_GSS_FILE_TYPE),
- "deps": attr.label_list(
- providers=["transitive_gss_srcs", "transitive_js_srcs"]),
- "_closure_stylesheets": attr.label(
- default=Label("//tools/build_rules/closure:closure_stylesheets"),
- executable=True),
- },
- outputs={
- "out": "%{name}_combined.css",
- "out_renaming": "%{name}_renaming.js"
- })