Fix flutter web builder by using correct flutter engine checkout path.

api.repo_util.monorepo_checkout() checks out the flutter engine sources into flutter/engine of its parameter. So if parameter is 'builder/flutter', then  engine ends up in 'builder/flutter/flutter/engine', which breaks bundle_web_sdk_artifacts steps that attempts to find 'builder/flutter/engine/src/flutter/build/zip.py'.

Example of broken build https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/flutter-web/7360/overview

Change-Id: I48cca40309e419d1125499da51ee93ff47c13f8b
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/62000
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 599ef80..79e70bb 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/flutter"
+      "[CACHE]/builder"
     ],
     "infra_step": true,
     "luci_context": {
@@ -633,15 +633,15 @@
       "--refs",
       "refs/heads/main"
     ],
-    "cwd": "[CACHE]/builder/flutter",
+    "cwd": "[CACHE]/builder",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/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/flutter/engine",
-      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
+      "ENGINE_PATH": "[CACHE]/builder/engine",
       "GIT_BACKENDINFO": "1",
       "GIT_BRANCH": "",
       "GIT_DAPPER_TRACE": "1",
@@ -661,8 +661,8 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[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/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/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/flutter",
+    "cwd": "[CACHE]/builder",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/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/flutter/engine",
-      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
+      "ENGINE_PATH": "[CACHE]/builder/engine",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -811,8 +811,8 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[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/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -883,12 +883,12 @@
     ],
     "cwd": "[CACHE]/builder/flutter/engine",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/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/flutter/engine",
-      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
+      "ENGINE_PATH": "[CACHE]/builder/engine",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -899,8 +899,8 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[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/engine/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CACHE]/builder/engine/src/flutter/third_party/dart/tools/sdks/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -942,12 +942,12 @@
     ],
     "cwd": "[CACHE]/builder/flutter/engine",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/flutter/engine/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CACHE]/builder/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/flutter/engine",
-      "ENGINE_PATH": "[CACHE]/builder/flutter/engine",
+      "ENGINE_CHECKOUT_PATH": "[CACHE]/builder/engine",
+      "ENGINE_PATH": "[CACHE]/builder/engine",
       "GIT_BRANCH": "",
       "LUCI_BRANCH": "",
       "LUCI_CI": "True",
@@ -958,10 +958,10 @@
     },
     "env_prefixes": {
       "PATH": [
-        "[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"
+        "[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"
       ]
     },
     "env_suffixes": {
diff --git a/recipes/engine_v2/engine_v2.py b/recipes/engine_v2/engine_v2.py
index de47e2a..1dd4899 100644
--- a/recipes/engine_v2/engine_v2.py
+++ b/recipes/engine_v2/engine_v2.py
@@ -122,7 +122,6 @@
     # Generators, archives and codesign require a full engine checkout.
     full_engine_checkout = api.path.cache_dir / 'builder'
     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
       )
@@ -131,7 +130,7 @@
           full_engine_checkout
       )
       api.repo_util.monorepo_checkout(full_engine_checkout, env, env_prefixes)
-      full_engine_checkout = full_engine_checkout / 'engine'
+      full_engine_checkout = full_engine_checkout / 'flutter' / 'engine'
     else:
       api.file.ensure_directory(
           'Ensure full engine checkout folder', full_engine_checkout