diff options
Diffstat (limited to 'tools/build_rules/closure/README.md')
-rw-r--r-- | tools/build_rules/closure/README.md | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/tools/build_rules/closure/README.md b/tools/build_rules/closure/README.md deleted file mode 100644 index 0f7c979443..0000000000 --- a/tools/build_rules/closure/README.md +++ /dev/null @@ -1,128 +0,0 @@ -# Closure Tools for Bazel - -## Deprecation notice - -Please note, Closure Tools for Bazel is deprecated, and will be moved soon. -Please see [github.com/bazelbuild/rules_closure](https://github.com/bazelbuild/rules_closure/) -for the new rules. - -## Overview - -These rules define targets for JavaScript, stylesheets, and templates that will -be compiled with the Closure Tools toolchain. - -* `closure_js_binary` -* `closure_js_library` -* `closure_stylesheet_library` -* `closure_template_library` - -## Setup - -Add the following to your `WORKSPACE` file to add the external repositories -for the various Closure Tools binaries and the Closure Library: - -```python -load("@bazel_tools//tools/build_rules/closure:closure_repositories.bzl", "closure_repositories") - -closure_repositories() -``` - -## Usage - -Suppose we are building a web application with template, stylesheet, and -JavaScript files: `hello.soy`, `hello.gss`, and `hello.js`. - -`hello.soy` - -``` -{namespace hello.templates autoescape="strict"} - -/** - * Renders an element containing the text "hello". - */ -{template .hello} - <div class="{css hello-container}">Hello.</div> -{/template} -``` - -`hello.gss` - -```css -.hello-container { - color: red; - font-weight: bold; -} -``` - -`hello.js` - -```javascript -goog.provide('hello'); - -goog.require('goog.soy'); -goog.require('hello.templates'); - -goog.soy.renderElement(document.body, hello.templates.hello); -``` - -We can create a BUILD file to compile these and produce two files: - -* `hello_combined.css` -* `hello_combined.js` - -`BUILD` - -```python -load("@bazel_tools//tools/build_rules/closure:closure_js_binary.bzl", "closure_js_binary") -load("@bazel_tools//tools/build_rules/closure:closure_js_library.bzl", "closure_js_library") -load("@bazel_tools//tools/build_rules/closure:closure_stylesheet_library.bzl", "closure_stylesheet_library") -load("@bazel_tools//tools/build_rules/closure:closure_template_library.bzl", "closure_template_library") - -closure_js_binary( - name = "hello", - main = "hello", - deps = [":hello_lib"], -) - -closure_js_library( - name = "hello_lib", - srcs = ["hello.js"], - deps = [ - "@closure_library//:closure_library", - "@closure_templates//:closure_templates_js", - ":hello_css", - ":hello_soy", - ] -) - -closure_stylesheet_library( - name = "hello_css", - srcs = ["hello.gss"], - deps = ["@closure_library//:closure_library_css"], -) - -closure_template_library( - name = "hello_soy", - srcs = ["hello.soy"], -) -``` - -## Known Issues - -The version of the Closure Templates compiler that is used will emit warnings -about protected property access and about a missing enum value. These issues -have been fixed in the source, but are not yet available as a downloadable -archive. These warnings are safe to ignore. - -You may define a new_local_repository target if you wish to check out the source -from Github yourself. Otherwise you may wish to wait until the Closure tools are -available as Bazel workspaces. e.g. - -```python -new_local_repository( - name = "closure_templates", - build_file = "tools/build_rules/closure/closure_templates.BUILD", - path = "/home/user/src/github/google/closure-templates/target", -) -``` - |