aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/docs/bazel-user-manual.html
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-12-09 08:57:08 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-12-09 14:47:15 +0000
commit6aff7f4f2bf0c6418fb88e967653f2feeb83819e (patch)
tree2e7bf4d0e8acd2ee1359cd314a432e00319c88b3 /site/docs/bazel-user-manual.html
parentcdf0c157750fb663814754f77a6d41b3d36c690d (diff)
Refactor external repository support significantly to solve a number of issues.
In particular: - Separate the implementation of maven_server into a RepositoryFunction and one that creates the MavenServerValue (ideally, maven_server wouldn't exist but we'll have to make to for the time being) - Refactor the logic of determining whether an external repository needs to be re-fetched to RepositoryDelegatorFunction - Make RepositoryFunctions not be SkyFunctions anymore (they are called from RepositoryDelegatorFunction, though, who *is* a SkyFunction) - Add a Skyframe dirtiness checker that makes --nofetch RepositoryValues not be cached - Add a bunch of test cases and javadoc There is only one wart that I know of that remains: changes to BUILD files of new_* repository rules that weren't refetched when their RepositoryValue was initiall created on server restart won't take effect. This is because we don't add those BUILD files to the created RepositoryValue. This will fix itself once the ExternalFilesHelper refactoring is submitted. -- MOS_MIGRATED_REVID=109768345
Diffstat (limited to 'site/docs/bazel-user-manual.html')
-rw-r--r--site/docs/bazel-user-manual.html14
1 files changed, 6 insertions, 8 deletions
diff --git a/site/docs/bazel-user-manual.html b/site/docs/bazel-user-manual.html
index 6ee605274a..cec79d15d4 100644
--- a/site/docs/bazel-user-manual.html
+++ b/site/docs/bazel-user-manual.html
@@ -533,18 +533,16 @@ Subtractive patterns:
when new external dependendencies are added or because you'd like to
"prefetch" dependencies (say, before a flight where you'll be offline). If you
would like to prevent new dependencies from being added during builds, you
- can specify the <code>--fetch=false</code> flag.
+ can specify the <code>--fetch=false</code> flag. Note that this flag only
+ applies to repository rules that do not point to a directory in the local
+ file system. Changes, for example, to <code>local_repository</code>,
+ <code>new_local_repository</code> and Android SDK and NDK repository rules
+ will always take effect regardless of the value <code>--fetch</code> .
</p>
<p>
If you disallow fetching during builds and Bazel finds new external
- dependencies, your build will fail with:
-<pre>
-ERROR: /path/to/your/BUILD:1:1: error loading package 'external': to fix, run
- bazel fetch //...
-External repository @your-repo not found and referenced by '//your:target'.
-ERROR: Loading failed; build aborted.
-</pre>
+ dependencies, your build will fail.
</p>
<p>