Roll recipe dependencies (nontrivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (fuchsia) into this repository.

Please review the expectation changes, and LGTM+CQ.

fuchsia:
  https://crrev.com/2a09cc3b093c1c3a53e7c102bbeeebf6186c8613 (nmulcahey@google.com)
    [cache] Add `cache` module.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=chillers@google.com, fujino@google.com, godofredoc@google.com, keyonghan@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id098887e071c5f03187ffc5218fc8f7e80c0f506
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/8181
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
diff --git a/infra/config/recipes.cfg b/infra/config/recipes.cfg
index e13d4b3..0cebc3d 100644
--- a/infra/config/recipes.cfg
+++ b/infra/config/recipes.cfg
@@ -35,7 +35,7 @@
     },
     "fuchsia": {
       "branch": "refs/heads/master",
-      "revision": "1f365d0bb368c0376d71d9430ce6e6b36c8cad9e",
+      "revision": "2a09cc3b093c1c3a53e7c102bbeeebf6186c8613",
       "url": "https://fuchsia.googlesource.com/infra/recipes.git"
     },
     "recipe_engine": {
diff --git a/recipes/recipes.expected/ci.json b/recipes/recipes.expected/ci.json
index 387aa1d..ccbaa4c 100644
--- a/recipes/recipes.expected/ci.json
+++ b/recipes/recipes.expected/ci.json
@@ -68,6 +68,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -140,6 +159,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
diff --git a/recipes/recipes.expected/cq_try.json b/recipes/recipes.expected/cq_try.json
index 7b0eb06..86f3abe 100644
--- a/recipes/recipes.expected/cq_try.json
+++ b/recipes/recipes.expected/cq_try.json
@@ -87,6 +87,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -159,6 +178,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
@@ -347,6 +383,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -419,6 +474,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
diff --git a/recipes/tricium/tricium.expected/attribute disable.json b/recipes/tricium/tricium.expected/attribute disable.json
index 6e5b6e1..f7545a5 100644
--- a/recipes/tricium/tricium.expected/attribute disable.json
+++ b/recipes/tricium/tricium.expected/attribute disable.json
@@ -90,6 +90,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -167,6 +186,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
@@ -364,6 +400,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -441,6 +496,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
diff --git a/recipes/tricium/tricium.expected/default.json b/recipes/tricium/tricium.expected/default.json
index 4d02847..435925c 100644
--- a/recipes/tricium/tricium.expected/default.json
+++ b/recipes/tricium/tricium.expected/default.json
@@ -90,6 +90,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -167,6 +186,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
@@ -364,6 +400,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -441,6 +496,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
diff --git a/recipes/tricium/tricium.expected/with_cipd_packages.json b/recipes/tricium/tricium.expected/with_cipd_packages.json
index 17033d8..8ffbacb 100644
--- a/recipes/tricium/tricium.expected/with_cipd_packages.json
+++ b/recipes/tricium/tricium.expected/with_cipd_packages.json
@@ -90,6 +90,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -167,6 +186,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "fetch master.cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",
@@ -364,6 +400,25 @@
   },
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.write guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@.GUARD_FILE@@@"
+    ]
+  },
+  {
+    "cmd": [
       "git",
       "init",
       "--bare"
@@ -441,6 +496,23 @@
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
+      "remove",
+      "[CACHE]/git/.GUARD_FILE"
+    ],
+    "cwd": "[CACHE]/git/flutter.googlesource.com-recipes",
+    "infra_step": true,
+    "name": "cache.remove guard file",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
       "ensure-directory",
       "--mode",
       "0777",