For monorepo build, ensure full engine checkout dir.

Follow-up to 324796f4f7d2ace5893013697ed5d02c00d8442d.
Fixes build failures https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/flutter-web/7324

Change-Id: I08638edb1de469f4e329428ed0cb69723d5bf2c6
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/61900
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
diff --git a/recipes/engine_v2/engine_v2.expected/monorepo_config_file_tests.json b/recipes/engine_v2/engine_v2.expected/monorepo_config_file_tests.json
index eacce98..599ef80 100644
--- a/recipes/engine_v2/engine_v2.expected/monorepo_config_file_tests.json
+++ b/recipes/engine_v2/engine_v2.expected/monorepo_config_file_tests.json
@@ -592,7 +592,7 @@
       "ensure-directory",
       "--mode",
       "0o777",
-      "[CACHE]/builder"
+      "[CACHE]/builder/flutter"
     ],
     "infra_step": true,
     "luci_context": {
@@ -607,7 +607,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "Ensure full engine checkout folder"
+    "name": "Ensure monorepo full engine checkout folder"
   },
   {
     "cmd": [],
diff --git a/recipes/engine_v2/engine_v2.py b/recipes/engine_v2/engine_v2.py
index 6d2c08e..de47e2a 100644
--- a/recipes/engine_v2/engine_v2.py
+++ b/recipes/engine_v2/engine_v2.py
@@ -121,11 +121,11 @@
       api.repo_util.is_release_candidate_branch(checkout_path)):
     # Generators, archives and codesign require a full engine checkout.
     full_engine_checkout = api.path.cache_dir / 'builder'
-    api.file.ensure_directory(
-        'Ensure full engine checkout folder', full_engine_checkout
-    )
     if api.monorepo.is_monorepo_ci_build or api.monorepo.is_monorepo_try_build:
       full_engine_checkout = full_engine_checkout / 'flutter'
+      api.file.ensure_directory(
+          'Ensure monorepo full engine checkout folder', full_engine_checkout
+      )
 
       env, env_prefixes = api.repo_util.monorepo_environment(
           full_engine_checkout
@@ -133,6 +133,9 @@
       api.repo_util.monorepo_checkout(full_engine_checkout, env, env_prefixes)
       full_engine_checkout = full_engine_checkout / 'engine'
     else:
+      api.file.ensure_directory(
+          'Ensure full engine checkout folder', full_engine_checkout
+      )
       env, env_prefixes = api.repo_util.engine_environment(full_engine_checkout)
       api.repo_util.engine_checkout(full_engine_checkout, env, env_prefixes)
       if api.repo_util.is_fusion():