Permalink
Browse files

Skylark repository invalidation design doc update

1. Set status to implementing
2. Reorder the list of tasks because we need to invalidate correctly
   Skylark repositories before enabling environ parameter.
3. Fix the step 2 (was step 3) in order to pass a map instead of
   creating a new function.

--
Change-Id: I9387ccedf75d63fef7e2e9546dc1f0421cb12679
Reviewed-on: https://cr.bazel.build/7972
PiperOrigin-RevId: 143999391
MOS_MIGRATED_REVID=143999391
  • Loading branch information...
1 parent e7fd539 commit 7bdc69cff348f8c1d4c1f816507a4221d4349538 @damienmg damienmg committed with mhlopko Jan 9, 2017
Showing with 10 additions and 10 deletions.
  1. +10 −10 site/designs/_posts/2016-10-18-repository-invalidation.md
@@ -5,7 +5,7 @@ title: Invalidation of remote repositories
# Invalidation of remote repositories
-**Status**: Draft
+**Status**: Implementing
**Author**: [Damien Martin-Guillerez](dmarting@google.com)
@@ -135,18 +135,18 @@ items:
1. Modify the `SkylarkRepositoryFunction#getClientEnvironment` method
to get the values from the `--action_env` flag.
-2. Add the `environ` attribute to the `repository_rule` function and
+2. Adds a `markerData` map argument to `RepositoryFunction#fetch` so
+ `SkylarkRepositoryFunction` can include those change. This attribute
+ should be mutable so a repository can add more data to be stored
+ in the marker file. Adds a corresponding function for
+ verification, `verifyMarkerManifest`, that would take a marker data
+ map and return a tri-state: true if the repository is up to date,
+ false if it needs refetch and null if additional Skyframe dependency
+ need to be resolved for answering.
+3. Add the `environ` attribute to the `repository_rule` function and
the dependency on the Skyframe values for the environment. Also create
a `SkyFunction` for processed environment after the `--action_env`
flag.
-3. Adds a `getMarkerManifest` method to `RepositoryFunction` so
- `SkylarkRepositoryFunction` can include those change. This method
- should return a rule-specific manifest for the marker file after the
- fetch method has been called. Adds a corresponding function for
- verification, `verifyMarkerManifest`, that would take a manifest
- generated by `getMarkerManifest` and return a tri-state: true if
- the repository is up to date, false if it needs refetch and null if
- additional Skyframe dependency need to be resolved for answering.
4. Adds the `environ` values to the marker file through the
`getMarkerManifest` function.
5. Adds the `FileValue`-s to the marker file, adding all the files

0 comments on commit 7bdc69c

Please sign in to comment.