diff options
author | David Chen <dzc@google.com> | 2016-08-29 08:56:37 +0000 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2016-08-29 09:42:52 +0000 |
commit | 15c09dd1b5dbd7e76fe42d193a79dab8bfc24abc (patch) | |
tree | e6df9943f0f96c095a6f91240a8f4bc3a84708d9 /site/docs/getting-started.md | |
parent | 6f2e6fb1eff1a7a265778abf1eb32a850765599e (diff) |
Replace doc pages with redirects to versioned doc pages.
* Add a new `redirect` Jekyll layout.
* Replace all pages under docs/ with redirects to corresponding page under
versions/master/.
* Prepend links on Documentation sidebar, including generated navs for the
Skylark Library and Build Encyclopedia, with prefix for versioned directory.
* Add code to both the internal jekyll-config.sh and external jekyll-tree.sh
to add redirect pages for the Skylark Library and Build Encyclopedia.
* Bring the branched User Manual doc up to date with latest changes.
--
MOS_MIGRATED_REVID=131568800
Diffstat (limited to 'site/docs/getting-started.md')
-rw-r--r-- | site/docs/getting-started.md | 97 |
1 files changed, 2 insertions, 95 deletions
diff --git a/site/docs/getting-started.md b/site/docs/getting-started.md index 0e91dd3b13..1e69dce256 100644 --- a/site/docs/getting-started.md +++ b/site/docs/getting-started.md @@ -1,97 +1,4 @@ --- -layout: documentation -title: Getting Started +layout: redirect +redirect: docs/getting-started.html --- - -# Getting Started with Bazel - -## Setup - -Use the [installation instructions](/docs/install.html) to install a copy of -Bazel on your machine. - -## Using a Workspace - -All Bazel builds take place in a [_workspace_](/docs/build-ref.html#workspaces), -a directory on your filesystem that contains source code for the software you -want to build, as well symbolic links to directories that contain the build -outputs (for example, `bazel-bin` and `bazel-out`). The location of the -workspace directory is not significant, but it must contain a file called -`WORKSPACE` in the top-level directory; an empty file is a valid workspace. -The `WORKSPACE` file can be used to reference -[external dependencies](/docs/external.html) required to build the outputs. -One workspace can be shared among multiple projects if desired. - -```bash -$ touch WORKSPACE -``` - -## Creating a Build File - -To know which targets can be built in your project, Bazel inspects `BUILD` -files. They are written in Bazel's build language which is syntactically -similar to Python. Usually they are just a sequence of declarations of rules. -Each rule specifies its inputs, outputs, and a way to compute the outputs from -the inputs. - -The rule probably most familiar to people who have used `Makefile`s before (as -it is the only rule available there) is the -[genrule](/docs/be/general.html#genrule), which specifies how the output can -be generated by invoking a shell command. - -``` -genrule( - name = "hello", - outs = ["hello_world.txt"], - cmd = "echo Hello World > $@", -) -``` - -The shell command may contain [Make variables](/docs/be/make-variables.html). - -Using the above `BUILD` file, you can ask Bazel to generate the target. - -``` -$ bazel build :hello -. -INFO: Found 1 target... -Target //:hello up-to-date: - bazel-genfiles/hello_world.txt -INFO: Elapsed time: 2.255s, Critical Path: 0.07s -``` - -We note two things. First, targets are normally referred to by their -[label](/docs/build- ref.html#labels), which is specified by the -[name](/docs/be/general.html#genrule.name) attribute of the rule. (Referencing -them by the output file name is also possible, but this is not the preferred -way.) Second, Bazel puts the generated files into a separate directory (the -`bazel-genfiles` directory is actually a symbolic link) so as not to pollute -your source tree. - -Rules may use the output of other rules as input, as in the following -example. Again, the generated sources are referred to by their label. - -``` -genrule( - name = "hello", - outs = ["hello_world.txt"], - cmd = "echo Hello World > $@", -) - -genrule( - name = "double", - srcs = [":hello"], - outs = ["double_hello.txt"], - cmd = "cat $< $< > $@", -) -``` - -Finally, note that, while the [genrule](/docs/be/general.html#genrule) might -seem familiar, it usually is _not_ the best rule to use. It is preferrable to -use one of the specialized [rules](/docs/be/overview.html#rules) for various -languages. - -# Next Steps - -Next, check out the tutorial on building [java](/docs/tutorial/java.html) -or [C++](/docs/tutorial/cpp.html) programs. |