aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/docs/external.md
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-06-30 21:13:31 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-07-03 09:06:33 +0200
commitc9d442575114f1efdb58f5b1a4419c0083301649 (patch)
treec22516720545f57cfd85f15e16cb4661a30b70dc /site/docs/external.md
parent480d6038905b3c8de09a362e2759fc6b8abe634c (diff)
Describe the tool `generate_workspace` in a separate topic. Update instructions for generating a WORKSPACE file.
PiperOrigin-RevId: 160673799
Diffstat (limited to 'site/docs/external.md')
-rw-r--r--site/docs/external.md68
1 files changed, 2 insertions, 66 deletions
diff --git a/site/docs/external.md b/site/docs/external.md
index b997191a87..93e92d7eb1 100644
--- a/site/docs/external.md
+++ b/site/docs/external.md
@@ -123,72 +123,8 @@ and `C` to your project's `WORKSPACE` file. This requirement can balloon the
`WORKSPACE` file size, but hopefully limits the chances of having one library
include `C` at version 1.0 and another include `C` at 2.0.
-## Generate a `WORKSPACE` file
-
-Bazel provides a tool to help generate these expansive `WORKSPACE` files, called
-`generate_workspace`. This tool is not included with the binary installer, so
-you'll need to clone the [GitHub repo](https://github.com/bazelbuild/bazel) to
-use it. We recommend using the tag corresponding to your current version of
-bazel, which you can check by running `bazel version`.
-
-`cd` to the GitHub clone, `git checkout` the appropriate tag, and run the
-following to build the tool and see usage:
-
-```
-bazel run //src/tools/generate_workspace
-```
-
-Note that you need run this command from your Bazel source folder even if you
-build your binary from source.
-
-You can specify directories containing Bazel projects (i.e., directories
-containing a `WORKSPACE` file), Maven projects (i.e., directories containing a
-`pom.xml` file), or Maven artifact coordinates directly. For example:
-
-```bash
-$ bazel run //src/tools/generate_workspace -- \
-> --maven_project=/path/to/my/project \
-> --bazel_project=/path/to/skunkworks \
-> --bazel_project=/path/to/teleporter/project \
-> --artifact=groupId:artifactId:version \
-> --artifact=groupId:artifactId:version
-Wrote:
-/tmp/1437415510621-0/2015-07-20-14-05-10.WORKSPACE
-/tmp/1437415510621-0/2015-07-20-14-05-10.BUILD
-```
-
-The `WORKSPACE` file will contain the transitive dependencies of the given
-projects and artifacts.
-
-If you specify multiple Bazel projects, Maven projects, or artifacts, they will
-all be combined into one `WORKSPACE` file (e.g., if the Bazel project depends on
-junit and the Maven project also depends on junit, junit will only appear once
-as a dependency in the output).
-
-You may wish to curate the generated `WORKSPACE` file to ensure it is using the
-correct version of each dependency. If several different versions of an artifact
-are requested (by different libraries that depend on it), then
-`generate_workspace` chooses a version and annotates the `maven_jar` with the
-other versions requested, for example:
-
-```python
-# org.springframework:spring:2.5.6
-# javax.mail:mail:1.4
-# httpunit:httpunit:1.6 wanted version 1.0.2
-# org.springframework:spring-support:2.0.2 wanted version 1.0.2
-# org.slf4j:nlog4j:1.2.24 wanted version 1.0.2
-maven_jar(
- name = "javax_activation_activation",
- artifact = "javax.activation:activation:1.1",
-)
-```
-
-The example above indicates that `org.springframework:spring:2.5.6`,
-`javax.mail:mail:1.4`, `httpunit:httpunit:1.6`,
-`org.springframework:spring-support:2.0.2`, and `org.slf4j:nlog4j:1.2.24`
-all depend on javax.activation. However, two of these libraries wanted
-version 1.1 and three of them wanted 1.0.2. The `WORKSPACE` file is using
-version 1.1, but that might not be the right version to use.
+Large `WORKSPACE` files can be generated using the tool `generate_workspace`.
+For details, see [Generate a WORKSPACE file](/docs/generate-workspace.html).
## Caching of external dependencies