aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/docs
diff options
context:
space:
mode:
authorGravatar dzc <dzc@google.com>2017-06-26 11:01:47 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-06-26 18:41:14 +0200
commit205125bfceffd1920a80799e4097d6433687ca71 (patch)
tree94a255309a1feaed4b5495cc187036d3547b3be1 /site/docs
parent01776ee8495043816e6224ebeff2756d34db41cb (diff)
Use relative paths in links in docs.
This change fixes links among Bazel docs to use relative paths links instead of absolute path (either full URL or absolute from site root). This way, versioned documentation will link to other pages within the same versioned directory rather than to the site root, which will point to the latest version of the page from HEAD. Future improvements may include adding a lint tool to check links in documentation to ensure that the correct convention is followed such that all links to pages within a version of the docs will point to pages within the same version. RELNOTES: None PiperOrigin-RevId: 160117865
Diffstat (limited to 'site/docs')
-rw-r--r--site/docs/bazel-user-manual.html2
-rw-r--r--site/docs/build-ref.html4
-rw-r--r--site/docs/external.md4
-rw-r--r--site/docs/getting-started.md22
-rw-r--r--site/docs/rule-challenges.md2
-rw-r--r--site/docs/skylark/language.md2
-rw-r--r--site/docs/skylark/repository_rules.md2
-rw-r--r--site/docs/tutorial/android-app.md22
-rw-r--r--site/docs/tutorial/backend-server.md14
-rw-r--r--site/docs/tutorial/cpp-use-cases.md2
-rw-r--r--site/docs/tutorial/cpp.md12
-rw-r--r--site/docs/tutorial/environment.md2
-rw-r--r--site/docs/tutorial/ios-app.md4
-rw-r--r--site/docs/tutorial/java.md18
-rw-r--r--site/docs/tutorial/workspace.md4
15 files changed, 58 insertions, 58 deletions
diff --git a/site/docs/bazel-user-manual.html b/site/docs/bazel-user-manual.html
index c9f6b70f3d..5b3cbfb542 100644
--- a/site/docs/bazel-user-manual.html
+++ b/site/docs/bazel-user-manual.html
@@ -9,7 +9,7 @@ title: User Manual
<p>
To run Bazel, go to
- your base <a href="/docs/build-ref.html#workspaces">workspace</a> directory
+ your base <a href="build-ref.html#workspaces">workspace</a> directory
or any of its subdirectories and type <code>bazel</code>.
</p>
diff --git a/site/docs/build-ref.html b/site/docs/build-ref.html
index 7b4fa8ea7f..0b4805b575 100644
--- a/site/docs/build-ref.html
+++ b/site/docs/build-ref.html
@@ -55,9 +55,9 @@ title: Concepts and Terminology
source files for the software you want to build, as well as symbolic links
to directories that contain the build outputs. Each workspace directory has
a text file named <code>WORKSPACE</code> which may be empty, or may contain
- references to <a href="/docs/external.html">external dependencies</a>
+ references to <a href="external.html">external dependencies</a>
required to build the outputs. See also the <a
- href="/docs/be/workspace.html">Workspace Rules</a> section in the Build
+ href="be/workspace.html">Workspace Rules</a> section in the Build
Encyclopedia.
</p>
<h3 id="packages">Packages</h3>
diff --git a/site/docs/external.md b/site/docs/external.md
index ed4b285ff6..5211eea7d1 100644
--- a/site/docs/external.md
+++ b/site/docs/external.md
@@ -6,10 +6,10 @@ title: External Dependencies
# Working with external dependencies
External dependencies can be specified in the `WORKSPACE` file of the
-[workspace directory](/docs/build-ref.html#workspace). This `WORKSPACE` file
+[workspace directory](build-ref.html#workspace). This `WORKSPACE` file
uses the same syntax as BUILD files, but allows a different set of
rules. The full list of rules are in the Build Encyclopedia's
-[Workspace Rules](/docs/be/workspace.html).
+[Workspace Rules](be/workspace.html).
External dependencies are all downloaded and symlinked under a directory named
`external`. You can see this directory by running:
diff --git a/site/docs/getting-started.md b/site/docs/getting-started.md
index 1e4bc660a7..92d98ca006 100644
--- a/site/docs/getting-started.md
+++ b/site/docs/getting-started.md
@@ -7,19 +7,19 @@ title: Getting Started
## Setup
-Use the [installation instructions](/docs/install.html) to install a copy of
+Use the [installation instructions](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),
+All Bazel builds take place in a [_workspace_](build-ref.html#workspaces),
a directory on your filesystem that contains source code for the software you
want to build, as well as 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.
+[external dependencies](external.html) required to build the outputs.
One workspace can be shared among multiple projects if desired.
```bash
@@ -36,7 +36,7 @@ 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
+[genrule](be/general.html#genrule), which specifies how the output can
be generated by invoking a shell command.
```
@@ -47,7 +47,7 @@ genrule(
)
```
-The shell command may contain [Make variables](/docs/be/make-variables.html).
+The shell command may contain [Make variables](be/make-variables.html).
Using the above `BUILD` file, you can ask Bazel to generate the target.
@@ -61,8 +61,8 @@ 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
+[label](build-ref.html#labels), which is specified by the
+[name](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
@@ -86,12 +86,12 @@ genrule(
)
```
-Finally, note that, while the [genrule](/docs/be/general.html#genrule) might
+Finally, note that, while the [genrule](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
+use one of the specialized [rules](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.
+Next, check out the tutorial on building [Java](tutorial/java.html)
+or [C++](tutorial/cpp.html) programs.
diff --git a/site/docs/rule-challenges.md b/site/docs/rule-challenges.md
index fece635b5a..23737cd830 100644
--- a/site/docs/rule-challenges.md
+++ b/site/docs/rule-challenges.md
@@ -119,7 +119,7 @@ itself and its dependencies.
Above, we argued that in order to be correct, Bazel needs to know all the input
files that go into a build step in order to detect whether that build step is
still up-to-date. The same is true for package loading and rule analysis, and we
-have designed [Skyframe] (http://www.bazel.build/docs/skyframe.html) to handle this
+have designed [Skyframe] (https://bazel.build/designs/skyframe.html) to handle this
in general. Skyframe is a graph library and evaluation framework that takes a
goal node (such as ‘build //foo with these options’), and breaks it down into
its constituent parts, which are then evaluated and combined to yield this
diff --git a/site/docs/skylark/language.md b/site/docs/skylark/language.md
index 583e4f7c0a..a8492d6117 100644
--- a/site/docs/skylark/language.md
+++ b/site/docs/skylark/language.md
@@ -8,7 +8,7 @@ title: Extensions - Overview
## Syntax
The extension language, Skylark, is a superset of the
-[Core Build Language](/docs/build-ref.html#core_build_language)
+[Core Build Language](../build-ref.html#core_build_language)
and its syntax is a subset of Python.
It is designed to be simple, thread-safe and integrated with the
BUILD language. It is not a general-purpose language and most Python
diff --git a/site/docs/skylark/repository_rules.md b/site/docs/skylark/repository_rules.md
index db839d54be..8f2062cb2f 100644
--- a/site/docs/skylark/repository_rules.md
+++ b/site/docs/skylark/repository_rules.md
@@ -7,7 +7,7 @@ title: Repository Rules
**Status: Experimental**. We may make breaking changes to the API, but we will
announce them and help you update your code.
-An [external repository](/docs/external.md) is a rule that can be used only
+An [external repository](../external.md) is a rule that can be used only
in the `WORKSPACE` file and enable non-hermetic operation at the loading phase
of Bazel. Each external repository rule creates its own workspace, with its
own BUILD files and artifacts. They can be used to depend on third-party
diff --git a/site/docs/tutorial/android-app.md b/site/docs/tutorial/android-app.md
index cdab41e4c0..1c6c7222d0 100644
--- a/site/docs/tutorial/android-app.md
+++ b/site/docs/tutorial/android-app.md
@@ -115,7 +115,7 @@ explicitly specified with a `path` attribute on `android_ndk_repository`.
## Create a BUILD file
-A [`BUILD` file](/docs/build-ref.html#BUILD_files) is a text file that describes
+A [`BUILD` file](../build-ref.html#BUILD_files) is a text file that describes
the relationship between a set of build outputs -- for example, compiled
software libraries or executables -- and their dependencies. These dependencies
may be source files in your workspace or other build outputs. `BUILD` files are
@@ -123,7 +123,7 @@ written in the Bazel *build language*.
`BUILD` files are part of concept in Bazel known as the *package hierarchy*.
The package hierarchy is a logical structure that overlays the directory
-structure in your workspace. Each [package](/docs/build-ref.html#packages) is a
+structure in your workspace. Each [package](../build-ref.html#packages) is a
directory (and its subdirectories) that contains a related set of source files
and a `BUILD` file. The package also includes any subdirectories, excluding
those that contain their own `BUILD` file. The *package name* is the name of the
@@ -145,13 +145,13 @@ vi $WORKSPACE/android/BUILD
### Add an android_library rule
A `BUILD` file contains several different types of instructions for Bazel. The
-most important type is the [build rule](/docs/build-ref.html#funcs), which tells
+most important type is the [build rule](../build-ref.html#funcs), which tells
Bazel how to build an intermediate or final software output from a set of source
files or other dependencies.
Bazel provides two build rules, `android_library` and `android_binary`, that you
can use to build an Android app. For this tutorial, you'll first use the
-[`android_library`](/docs/be/android.html#android_library) rule to tell
+[`android_library`](../be/android.html#android_library) rule to tell
Bazel how to build an
[Android library module](http://developer.android.com/tools/projects/index.html#LibraryProjects)
from the app source code and resource files. Then you'll use the
@@ -176,7 +176,7 @@ reference the rule using this name as a dependency in the `android_binary` rule.
### Add an android_binary rule
-The [`android_binary`](/docs/be/android.html#android_binary) rule builds
+The [`android_binary`](../be/android.html#android_binary) rule builds
the Android application package (`.apk` file) for your app.
Add the following to your build file:
@@ -204,10 +204,10 @@ in the `master` branch of the GitHub repo.
## Run the build
You use the
-[`bazel`](/docs/bazel-user-manual.html) command-line tool to run builds, execute
+[`bazel`](../bazel-user-manual.html) command-line tool to run builds, execute
unit tests and perform other operations in Bazel. This tool is located in the
`output` subdirectory of the location where you installed Bazel. During
-[installation](/docs/install.md), you probably added this location to your
+[installation](../install.md), you probably added this location to your
path.
Before you build the sample app, make sure that your current working directory
@@ -223,12 +223,12 @@ Now, enter the following to build the sample app:
bazel build //android:android
```
-The [`build`](/docs/bazel-user-manual.html#build) subcommand instructs Bazel to
+The [`build`](../bazel-user-manual.html#build) subcommand instructs Bazel to
build the target that follows. The target is specified as the name of a build
rule inside a `BUILD` file, with along with the package path relative to
your workspace directory. Note that you can sometimes omit the package path
or target name, depending on your current working directory at the command
-line and the name of the target. See [Labels](/docs/build-ref.html#labels) in
+line and the name of the target. See [Labels](../build-ref.html#labels) in
*Bazel Concepts and Terminology* page for more information about target labels
and paths.
@@ -271,7 +271,7 @@ ls $WORKSPACE/bazel-bin/android
You can now deploy the app to a connected Android device or emulator from the
command line using the
-[`bazel mobile-install`](http://bazel.build/docs/bazel-user-manual.html#mobile-install)
+[`bazel mobile-install`](../bazel-user-manual.html#mobile-install)
command. This command uses the Android Debug Bridge (`adb`) to communicate with
the device. You must set up your device to use `adb` following the instructions
in
@@ -287,7 +287,7 @@ bazel mobile-install //android:android
```
Note that the `mobile-install` subcommand also supports the
-[`--incremental`](http://bazel.build/docs/bazel-user-manual.html#mobile-install)
+[`--incremental`](../bazel-user-manual.html#mobile-install)
flag that can be used to deploy only those parts of the app that have changed
since the last deployment.
diff --git a/site/docs/tutorial/backend-server.md b/site/docs/tutorial/backend-server.md
index 9ebbffad7d..cfcbc2a50c 100644
--- a/site/docs/tutorial/backend-server.md
+++ b/site/docs/tutorial/backend-server.md
@@ -19,7 +19,7 @@ Here, you'll do the following:
* Deploy to Google App Engine
Bazel provides a set of [App Engine build rules](https://github.com/bazelbuild/rules_appengine)
-written using the [Skylark](/docs/skylark/index.html) framework. You'll use
+written using the [Skylark](../skylark/index.html) framework. You'll use
these in the steps below to build the application.
## Review the source files
@@ -50,7 +50,7 @@ The key files and directories are:
## Update the WORKSPACE file
As with the Android app, you must add references to
-[external dependencies](http://bazel.build/docs/external.html) to your `WORKSPACE`
+[external dependencies](../external.html) to your `WORKSPACE`
file. For the backend server, these are references to the App Engine SDK,
the Java Servlet SDK and other libraries needed to build the App Engine
applications.
@@ -78,9 +78,9 @@ load("@io_bazel_rules_appengine//appengine:appengine.bzl", "appengine_repositori
appengine_repositories()
```
-[`http_archive`](/docs/be/workspace.html#http_archive) downloads the
+[`http_archive`](../be/workspace.html#http_archive) downloads the
AppEngine rules from a GitHub archive. We could also have used
-[`git_repository`](/docs/be/workspace.html#git_repository) to fetch the rules
+[`git_repository`](../be/workspace.html#git_repository) to fetch the rules
directly from the Git repository.
The next two lines use the `appengine_repositories` function defined in
@@ -118,11 +118,11 @@ java_binary(
)
```
-The [`java_binary`](/docs/be/java.html#java_binary) tells Bazel
+The [`java_binary`](../be/java.html#java_binary) tells Bazel
how to build a Java `.jar` library for your application, plus a wrapper shell
script that launches the application code from the specified main class. Here,
we're using this rule instead of the
-[`java_library`](/docs/be/java.html#java_library) because we need
+[`java_library`](../be/java.html#java_library) because we need
the `.jar` file to contain all the dependencies required to build the final
App Engine `.war` file. For this reason, we specify a bogus class name
for the `main_class` attribute.
@@ -147,7 +147,7 @@ filegroup(
)
```
-The [`appengine_war`](/docs/be/appengine.html#appengine_war)
+The [`appengine_war`](../be/appengine.html#appengine_war)
rule builds the final App Engine `war` file from the library `.jar` file and web
application metadata files in the `webapp` directory.
diff --git a/site/docs/tutorial/cpp-use-cases.md b/site/docs/tutorial/cpp-use-cases.md
index 1c3af2ca60..b0050091df 100644
--- a/site/docs/tutorial/cpp-use-cases.md
+++ b/site/docs/tutorial/cpp-use-cases.md
@@ -16,7 +16,7 @@ projects with Bazel by completing the tutorial
## Including multiple files in a target
You can include multiple files in a single target with
-[glob](https://bazel.build/versions/master/docs/be/functions.html#glob).
+[glob](../be/functions.html#glob).
For example:
```python
diff --git a/site/docs/tutorial/cpp.md b/site/docs/tutorial/cpp.md
index e0a5e70b56..95898e3e80 100644
--- a/site/docs/tutorial/cpp.md
+++ b/site/docs/tutorial/cpp.md
@@ -27,7 +27,7 @@ In this tutorial you'll learn how to:
## Before you begin
-To prepare for the tutorial, first [Install Bazel](/docs/install.md) if
+To prepare for the tutorial, first [Install Bazel](../install.md) if
you don't have it installed already. Then, retrieve the sample project from
Bazel's GitHub repository:
@@ -369,15 +369,15 @@ Congratulations! You now know the basics of building a C++ project with Bazel.
Next, read up on the most common [C++ build use cases](cpp-use-cases.md). Then,
check out the following:
-* [External Dependencies](https://bazel.build/versions/master/docs/external.html)
- to learn more about working with local and remote repositories.
+* [External Dependencies](../external.html) to learn more about working with
+ local and remote repositories.
-* The [Build Encyclopedia](/docs/be/overview.html) to learn more about Bazel.
+* The [Build Encyclopedia](../be/overview.html) to learn more about Bazel.
-* The [Java build tutorial](/docs/tutorial/java.md) to get started with
+* The [Java build tutorial](java.md) to get started with
building Java applications with Bazel.
-* The [mobile application tutorial](/docs/tutorial/app.md) to get started with
+* The [mobile application tutorial](app.md) to get started with
building mobile applications for Android and iOS with Bazel.
Happy building!
diff --git a/site/docs/tutorial/environment.md b/site/docs/tutorial/environment.md
index 20a48701eb..c9f9043499 100644
--- a/site/docs/tutorial/environment.md
+++ b/site/docs/tutorial/environment.md
@@ -16,7 +16,7 @@ Here, you'll do the following:
## Install Bazel
-Follow the [installation instructions](/docs/install.md) to install Bazel and
+Follow the [installation instructions](../install.md) to install Bazel and
its dependencies.
## Install Android Studio
diff --git a/site/docs/tutorial/ios-app.md b/site/docs/tutorial/ios-app.md
index ce17c2b9c9..ff6a5b1964 100644
--- a/site/docs/tutorial/ios-app.md
+++ b/site/docs/tutorial/ios-app.md
@@ -65,7 +65,7 @@ load("@build_bazel_rules_apple//apple:ios.bzl", "ios_application")
Bazel provides several build rules that you can use to build an app for the
iOS platform. For this tutorial, you'll first use the
-[`objc_library`](/docs/be/objective-c.html#objc_library) rule to tell Bazel
+[`objc_library`](../be/objective-c.html#objc_library) rule to tell Bazel
how to build a static library from the app source code and Xib files. Then
you'll use the [`ios_application`](https://github.com/bazelbuild/rules_apple)
rule to tell it how to build the application binary and the `.ipa` bundle.
@@ -93,7 +93,7 @@ Note the name of the rule, `UrlGetClasses`.
## Add an ios_application rule
-The [`ios_application`](/docs/be/objective-c.html#ios_application) rule builds
+The [`ios_application`](../be/objective-c.html#ios_application) rule builds
the application binary and creates the `.ipa` bundle file.
Add the following to your `BUILD` file:
diff --git a/site/docs/tutorial/java.md b/site/docs/tutorial/java.md
index 34cb7b5d4c..6059ba1123 100644
--- a/site/docs/tutorial/java.md
+++ b/site/docs/tutorial/java.md
@@ -25,7 +25,7 @@ In this tutorial you'll learn how to:
## Before you begin
-To prepare for the tutorial, first [Install Bazel](/docs/install.md) if
+To prepare for the tutorial, first [Install Bazel](../install.md) if
you don't have it installed already. Then, retrieve the sample project from
Bazel's GitHub repository:
@@ -94,7 +94,7 @@ java_binary(
```
In our example, the `ProjectRunner` target instantiates Bazel's built-in
-[`java_binary` rule](/docs/be/java.html#java_binary). The rule tells Bazel to
+[`java_binary` rule](../be/java.html#java_binary). The rule tells Bazel to
build a `.jar` file and a wrapper shell script (both named after the target).
The attributes in the target explicitly state its dependencies and options.
@@ -102,7 +102,7 @@ While the `name` attribute is mandatory, many are optional. For example, in the
`ProjectRunner` rule target, `name` is the name of the target, `srcs` specifies
the source files that Bazel uses to build the target, and `main_class` specifies
the class that contains the main method. (You may have noticed that our example
-uses [glob](/docs/be/functions.html#glob) to pass a set of source files to Bazel
+uses [glob](../be/functions.html#glob) to pass a set of source files to Bazel
instead of listing them one by one.)
### Build the project
@@ -338,7 +338,7 @@ Let’s now package a Java target for deployment by building the binary with all
of its runtime dependencies. This lets you run the binary outside of your
development environment.
-As you remember, the [java_binary](/docs/be/java.html#java_binary) build rule
+As you remember, the [java_binary](../be/java.html#java_binary) build rule
produces a `.jar` and a wrapper shell script. Take a look at the contents of
`runner.jar` using this command:
@@ -382,15 +382,15 @@ dependencies.
## Further reading
-* [External Dependencies](https://bazel.build/versions/master/docs/external.html)
- to learn more about working with local and remote repositories.
+* [External Dependencies](../external.html) to learn more about working with
+ local and remote repositories.
-* The [Build Encyclopedia](/docs/be/overview.html) to learn more about Bazel.
+* The [Build Encyclopedia](../be/overview.html) to learn more about Bazel.
-* The [C++ build tutorial](/docs/tutorial/cpp.md) to get started with building
+* The [C++ build tutorial](../tutorial/cpp.md) to get started with building
C++ projects with Bazel.
-* The [mobile application tutorial](/docs/tutorial/app.md) to get started with
+* The [mobile application tutorial](../tutorial/app.md) to get started with
building mobile applications for Android and iOS with Bazel.
Happy building!
diff --git a/site/docs/tutorial/workspace.md b/site/docs/tutorial/workspace.md
index eee1b1a350..59115c7e31 100644
--- a/site/docs/tutorial/workspace.md
+++ b/site/docs/tutorial/workspace.md
@@ -5,7 +5,7 @@ title: Tutorial - Set Up a Workspace
# Tutorial - Set Up a Workspace
-A [workspace](/docs/build-ref.html#workspaces) is a directory that contains the
+A [workspace](../build-ref.html#workspaces) is a directory that contains the
source files for one or more software projects, as well as a `WORKSPACE` file
and `BUILD` files that contain the instructions that Bazel uses to build
the software. The workspace may also contain symbolic links to output
@@ -32,7 +32,7 @@ export WORKSPACE=$HOME/examples/tutorial
Every workspace must have a text file named `WORKSPACE` located in the top-level
workspace directory. This file may be empty or it may contain references
-to [external dependencies](/docs/external.html) required to build the
+to [external dependencies](../external.html) required to build the
software.
For now, you'll create an empty `WORKSPACE` file, which simply serves to