Fix generators engine checkout path after monorepo

Bug: Broken build https://ci.chromium.org/ui/p/dart/builders/try/flutter-web-try/110/overview
Change-Id: Iac6beb61b2ca5fbb81b10d6a04fbbeb18255b029
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/61860
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
diff --git a/recipe_modules/repo_util/api.py b/recipe_modules/repo_util/api.py
index af52546..a5f910e 100644
--- a/recipe_modules/repo_util/api.py
+++ b/recipe_modules/repo_util/api.py
@@ -198,8 +198,6 @@
       checkout_path(Path): The path to checkout source code and dependencies.
       env(dict): A dictionary with the environment variables to set.
       env_prefixes(dict): A dictionary with the paths to be added to environment variables.
-      clobber(bool): A boolean indicating whether the checkout folder should be cleaned.
-      custom_vars(dict): A dictionary with custom variable definitions for gclient solution.
     """
     # Calculate if we need to clean the source code cache.
     clobber = self.m.properties.get('clobber', False)
diff --git a/recipe_modules/repo_util/examples/full.expected/force_get_candidate_branch.json b/recipe_modules/repo_util/examples/full.expected/force_get_candidate_branch.json
index eb63b51..816c581 100644
--- a/recipe_modules/repo_util/examples/full.expected/force_get_candidate_branch.json
+++ b/recipe_modules/repo_util/examples/full.expected/force_get_candidate_branch.json
@@ -53,7 +53,7 @@
       "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
       "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/full.py\", line 28, in RunSteps",
       "    api.repo_util.release_candidate_branch(flutter_checkout_path)",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 610, in release_candidate_branch",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 608, in release_candidate_branch",
       "    raise ValueError('Not a release candidate branch: %s' % candidate_branch)",
       "ValueError: Not a release candidate branch: refs/pull/1/head"
     ]
diff --git a/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json b/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json
index 85f4d3a..72b9db1 100644
--- a/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json
+++ b/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json
@@ -1044,7 +1044,7 @@
       "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
       "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/full.py\", line 54, in RunSteps",
       "    api.repo_util.monorepo_checkout(checkout_path, {}, {})",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 223, in monorepo_checkout",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 221, in monorepo_checkout",
       "    raise ValueError(",
       "ValueError: Input reference is not on dart.googlesource.com/monorepo"
     ]
diff --git a/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json b/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
index ec883c1..3fb0f42 100644
--- a/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
+++ b/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
@@ -21,7 +21,7 @@
       "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
       "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/unsupported.py\", line 13, in RunSteps",
       "    api.repo_util.checkout('unsupported_repo', repo_dir)",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 289, in checkout",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 287, in checkout",
       "    raise ValueError('Unsupported repo: %s' % name)",
       "ValueError: Unsupported repo: unsupported_repo"
     ]
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 277dcb0..eacce98 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
@@ -633,15 +633,15 @@
       "--refs",
       "refs/heads/main"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CACHE]/builder/flutter",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
       "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
       "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "DEPOT_TOOLS_REPORT_BUILD": "dart/ci.sandbox/monorepo_builder/123",
-      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
-      "ENGINE_PATH": "[CACHE]/builder/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
       "GIT_BACKENDINFO": "1",
       "GIT_BRANCH": "",
       "GIT_DAPPER_TRACE": "1",
@@ -661,8 +661,8 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
-        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CACHE]/builder/flutter/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/flutter/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -792,15 +792,15 @@
       "RECIPE_REPO[depot_tools]/gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CACHE]/builder/flutter",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
       "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
       "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
       "DEPOT_TOOLS_REPORT_BUILD": "dart/ci.sandbox/monorepo_builder/123",
-      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
-      "ENGINE_PATH": "[CACHE]/builder/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -811,8 +811,8 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
-        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CACHE]/builder/flutter/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/flutter/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -849,7 +849,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder/engine/src/out"
+      "[CACHE]/builder/flutter/engine/src/out"
     ],
     "infra_step": true,
     "luci_context": {
@@ -878,17 +878,17 @@
       "--json-output",
       "/path/to/tmp/json",
       "listdir",
-      "[CACHE]/builder/engine/src/out",
+      "[CACHE]/builder/flutter/engine/src/out",
       "--recursive"
     ],
-    "cwd": "[CACHE]/builder/engine",
+    "cwd": "[CACHE]/builder/flutter/engine",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
       "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
       "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
-      "ENGINE_PATH": "[CACHE]/builder/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -899,8 +899,8 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
-        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CACHE]/builder/flutter/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/flutter/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -933,21 +933,21 @@
   {
     "cmd": [
       "python3",
-      "[CACHE]/builder/engine/src/flutter/sky/tools/create_macos_framework.py",
+      "[CACHE]/builder/flutter/engine/src/flutter/sky/tools/create_macos_framework.py",
       "--variant",
       "host_profile",
       "--type",
       "engine",
       "--engine-capture-core-dump"
     ],
-    "cwd": "[CACHE]/builder/engine",
+    "cwd": "[CACHE]/builder/flutter/engine",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
       "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
       "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
       "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
-      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
-      "ENGINE_PATH": "[CACHE]/builder/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -958,10 +958,10 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
-        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin",
-        "[CACHE]/builder/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
-        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CACHE]/builder/flutter/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/flutter/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/flutter/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/flutter/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -995,7 +995,7 @@
       "rev-parse",
       "HEAD"
     ],
-    "cwd": "[CACHE]/builder/monorepo",
+    "cwd": "[CACHE]/builder/flutter/monorepo",
     "infra_step": true,
     "luci_context": {
       "realm": {
@@ -1060,7 +1060,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/engine/src/a/b/c.txt",
+      "[CACHE]/builder/flutter/engine/src/a/b/c.txt",
       "[CLEANUP]/tmp_tmp_2/monorepo/123/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/bucket"
     ],
     "infra_step": true,
@@ -1076,7 +1076,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "Global generators.Copy [CACHE]/builder/engine/src/a/b/c.txt to tmp location",
+    "name": "Global generators.Copy [CACHE]/builder/flutter/engine/src/a/b/c.txt to tmp location",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1107,7 +1107,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "Global generators.gsutil Upload [CACHE]/builder/engine/src/a/b/c.txt to gs://flutter_archives_v2/monorepo/123/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/bucket/c.txt",
+    "name": "Global generators.gsutil Upload [CACHE]/builder/flutter/engine/src/a/b/c.txt to gs://flutter_archives_v2/monorepo/123/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/bucket/c.txt",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
diff --git a/recipes/engine_v2/engine_v2.py b/recipes/engine_v2/engine_v2.py
index 7158d7f..6d2c08e 100644
--- a/recipes/engine_v2/engine_v2.py
+++ b/recipes/engine_v2/engine_v2.py
@@ -125,6 +125,8 @@
         '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'
+
       env, env_prefixes = api.repo_util.monorepo_environment(
           full_engine_checkout
       )