aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar dmaclach <dmaclach@gmail.com>2017-11-17 13:22:53 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-17 13:25:10 -0800
commitc79c59c9e9cb7055d9b2446028a80eb2b40931be (patch)
tree6d4d18edab6647f3f3b81663307346cc25f35c10 /src/main/java/com/google/devtools
parenta13ac58a88dff1e0ddc35107af77aee46f240f6f (diff)
Update GitRepositoryRule.java
Add reference to strip-prefix with a real-world example of usage. Closes #3969. PiperOrigin-RevId: 176151504
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/workspace/GitRepositoryRule.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/workspace/GitRepositoryRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/workspace/GitRepositoryRule.java
index 483cfd7e9d..14224fb7f4 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/workspace/GitRepositoryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/workspace/GitRepositoryRule.java
@@ -110,11 +110,23 @@ For GitHub, this takes the form:
<pre>
http_archive(
- name = "<name>",
+ name = "&lt;name&gt;",
+ strip-prefix = "&lt;top-level-name&gt;",
urls = ["https://github.com/&lt;user&gt;/&lt;repo&gt;/archive/&lt;commit or tag&gt;.tar.gz"],
)
</pre>
+The <code>top-level-name</code> is often needed because the contents of the archive are nested down
+a directory when the tarball is extracted. For example the Apple Build Rules are referred to using:
+
+<pre>
+http_archive(
+ name = "build_bazel_rules_apple",
+ strip_prefix = "rules_apple-0.1.0",
+ urls = ["https://github.com/bazelbuild/rules_apple/archive/0.1.0.tar.gz"],
+)
+</pre>
+
If you are using a private repository, prefer the
<a href="https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/repo/git.bzl">Skylark git
repository rules</a>, which will use your system's git install (instead of jGit). These rules