diff options
Diffstat (limited to 'tools/build_defs/sass/sass.bzl')
-rw-r--r-- | tools/build_defs/sass/sass.bzl | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/tools/build_defs/sass/sass.bzl b/tools/build_defs/sass/sass.bzl deleted file mode 100644 index 4ae978a1a1..0000000000 --- a/tools/build_defs/sass/sass.bzl +++ /dev/null @@ -1,156 +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. - -load("//tools/build_rules:deprecation.bzl", "deprecated") - -def warning(rule): - print(deprecated( - "sass", - rule, - "@bazel_tools//tools/build_defs/sass:sass.bzl", - "@io_bazel_rules_sass//sass:sass.bzl")) - -SASS_FILETYPES = FileType([ - ".sass", - ".scss", -]) - -def collect_transitive_sources(ctx): - source_files = set(order="compile") - for dep in ctx.attr.deps: - source_files += dep.transitive_sass_files - return source_files - -def _sass_library_impl(ctx): - warning("sass_library") - transitive_sources = collect_transitive_sources(ctx) - transitive_sources += SASS_FILETYPES.filter(ctx.files.srcs) - return struct( - files = set(), - transitive_sass_files = transitive_sources) - -def _sass_binary_impl(ctx): - # Reference the sass compiler and define the default options - # that sass_binary uses. - warning("sass_binary") - sassc = ctx.file._sassc - options = [ - "--style={0}".format(ctx.attr.output_style), - "--sourcemap", - ] - - # Load up all the transitive sources as dependent includes. - transitive_sources = collect_transitive_sources(ctx) - for src in transitive_sources: - options += ["-I={0}".format(src)] - - ctx.action( - inputs = [sassc, ctx.file.src] + list(transitive_sources), - executable = sassc, - arguments = options + [ctx.file.src.path, ctx.outputs.css_file.path], - mnemonic = "SassCompiler", - outputs = [ctx.outputs.css_file, ctx.outputs.css_map_file], - ) - -sass_deps_attr = attr.label_list( - providers = ["transitive_sass_files"], - allow_files = False, -) - -sass_library = rule( - attrs = { - "srcs": attr.label_list( - allow_files = SASS_FILETYPES, - non_empty = True, - mandatory = True, - ), - "deps": sass_deps_attr, - }, - implementation = _sass_library_impl, -) - -sass_binary = rule( - attrs = { - "src": attr.label( - allow_files = SASS_FILETYPES, - mandatory = True, - single_file = True, - ), - "output_style": attr.string(default = "compressed"), - "deps": sass_deps_attr, - "_sassc": attr.label( - default = Label("@bazel_tools//tools/build_defs/sass:sassc"), - executable = True, - single_file = True, - ), - }, - outputs = { - "css_file": "%{name}.css", - "css_map_file": "%{name}.css.map", - }, - implementation = _sass_binary_impl, -) - -LIBSASS_BUILD_FILE = """ -package(default_visibility = ["@sassc//:__pkg__"]) - -filegroup( - name = "srcs", - srcs = glob([ - "src/**/*.h*", - "src/**/*.c*", - ]), -) - -# Includes directive may seem unnecessary here, but its needed for the weird -# interplay between libsass/sassc projects. This is intentional. -cc_library( - name = "headers", - includes = ["include"], - hdrs = glob(["include/**/*.h"]), -) -""" - -SASSC_BUILD_FILE = """ -package(default_visibility = ["//visibility:public"]) - -cc_binary( - name = "sassc", - srcs = [ - "@libsass//:srcs", - "sassc.c", - "sassc_version.h", -], - linkopts = ["-ldl", "-lm"], - deps = ["@libsass//:headers"], -) -""" - -def sass_repositories(): - warning("sass_repositories") - native.new_http_archive( - name = "libsass", - url = "https://github.com/sass/libsass/archive/3.3.0-beta1.tar.gz", - sha256 = "6a4da39cc0b585f7a6ee660dc522916f0f417c890c3c0ac7ebbf6a85a16d220f", - build_file_content = LIBSASS_BUILD_FILE, - strip_prefix = "libsass-3.3.0-beta1", - ) - - native.new_http_archive( - name = "sassc", - url = "https://github.com/sass/sassc/archive/3.3.0-beta1.tar.gz", - sha256 = "87494218eea2441a7a24b40f227330877dbba75c5fa9014ac6188711baed53f6", - build_file_content = SASSC_BUILD_FILE, - strip_prefix = "sassc-3.3.0-beta1", - ) |