Enable long path support on Windows bots
By default, our Windows bots don't have long path support enabled and
thus, are limited to paths with a maximum of 260 characters. This breaks
some tooling that relies on files with longer paths; for example, some
parts of the Windows SDK -- in particular .winmd files under the
SDK's References directory, which we make use of while generating WinRT
header files with the cppwinrt tool.
Bug: https://github.com/flutter/flutter/issues/82058
Change-Id: Ic6ab55721b24e61ecfb21631778c513afd203154
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/13300
Commit-Queue: Chris Bracken <cbracken@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipe_modules/flutter_deps/api.py b/recipe_modules/flutter_deps/api.py
index 9711538..21278af 100644
--- a/recipe_modules/flutter_deps/api.py
+++ b/recipe_modules/flutter_deps/api.py
@@ -396,6 +396,33 @@
],
)
+ def enable_long_paths(self, env, env_prefixes, version=None):
+ """Enables long path support in Windows.
+
+ Args:
+ env(dict): Current environment variables.
+ env_prefixes(dict): Current environment prefixes variables.
+ """
+
+ if not self.m.platform.is_win:
+ # noop for non windows platforms.
+ return
+ with self.m.context(env=env, env_prefixes=env_prefixes):
+ self.m.step(
+ 'Enable long path support',
+ [
+ 'powershell.exe',
+ ' '.join([
+ 'New-ItemProperty',
+ '-Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem"',
+ '-Name "LongPathsEnabled"',
+ '-Value 1',
+ '-PropertyType DWORD',
+ '-Force'
+ ])
+ ],
+ )
+
def ios_signing(self, env, env_prefixes, version=None):
"""Installs ninja.
diff --git a/recipe_modules/flutter_deps/examples/full.expected/windows.json b/recipe_modules/flutter_deps/examples/full.expected/windows.json
index b77c748..c69ed77 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/windows.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/windows.json
@@ -855,6 +855,46 @@
"name": "Install Certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\android",
+ "ANDROID_SDK_ROOT": "[CACHE]\\android",
+ "CHROME_EXECUTABLE": "[CACHE]\\chrome\\chrome\\chrome.exe",
+ "CHROME_NO_SANDBOX": "true",
+ "COCOON_PATH": "[CACHE]\\cocoon",
+ "FLUTTER_XCODE_CODE_SIGN_STYLE": "Manual",
+ "FLUTTER_XCODE_DEVELOPMENT_TEAM": "S8QB4VV633",
+ "FLUTTER_XCODE_PROVISIONING_PROFILE_SPECIFIER": "match Development *",
+ "GOPATH": "[CLEANUP]\\go_path",
+ "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
+ "GRADLE_USER_HOME": "[CACHE]\\gradle"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\dart_sdk",
+ "[CACHE]\\chrome\\chrome",
+ "[CACHE]\\chrome\\drivers",
+ "[CACHE]\\go\\bin",
+ "[CLEANUP]\\go_path\\bin",
+ "[CACHE]\\go\\bin",
+ "[CLEANUP]\\go_path\\bin",
+ "[CLEANUP]\\tmp_tmp_1\\vpython",
+ "[CACHE]\\android\\platform-tools",
+ "[CACHE]\\android\\tools",
+ "[START_DIR]\\firebase",
+ "[CACHE]\\cmake\\bin",
+ "[CACHE]\\ninja",
+ "[CACHE]\\clang\\bin",
+ "[CLEANUP]\\tmp_tmp_2\\curl"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"name": "$result"
}
]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.py b/recipe_modules/flutter_deps/examples/full.py
index cfb2423..ea852dc 100644
--- a/recipe_modules/flutter_deps/examples/full.py
+++ b/recipe_modules/flutter_deps/examples/full.py
@@ -53,6 +53,7 @@
api.flutter_deps.cocoon(env, env_prefixes, 'refs/heads/master')
api.flutter_deps.dart_sdk(env, env_prefixes, '')
api.flutter_deps.certs(env, env_prefixes, '')
+ api.flutter_deps.enable_long_paths(env, env_prefixes, '')
# Gems dependency requires to run from a flutter_environment.
checkout_path = api.path['start_dir'].join('flutter\ sdk')
diff --git a/recipes/engine.expected/win.json b/recipes/engine.expected/win.json
index a5da277..348a1f2 100644
--- a/recipes/engine.expected/win.json
+++ b/recipes/engine.expected/win.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_maven_or_bitcode.json b/recipes/engine.expected/win_maven_or_bitcode.json
index a5da277..348a1f2 100644
--- a/recipes/engine.expected/win_maven_or_bitcode.json
+++ b/recipes/engine.expected/win_maven_or_bitcode.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_maven_or_bitcode_no_lto.json b/recipes/engine.expected/win_maven_or_bitcode_no_lto.json
index e943b1c..7169843 100644
--- a/recipes/engine.expected/win_maven_or_bitcode_no_lto.json
+++ b/recipes/engine.expected/win_maven_or_bitcode_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_maven_or_bitcode_publish_cipd.json b/recipes/engine.expected/win_maven_or_bitcode_publish_cipd.json
index a5da277..348a1f2 100644
--- a/recipes/engine.expected/win_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine.expected/win_maven_or_bitcode_publish_cipd.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_maven_or_bitcode_publish_cipd_no_lto.json b/recipes/engine.expected/win_maven_or_bitcode_publish_cipd_no_lto.json
index e943b1c..7169843 100644
--- a/recipes/engine.expected/win_maven_or_bitcode_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/win_maven_or_bitcode_publish_cipd_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_no_lto.json b/recipes/engine.expected/win_no_lto.json
index e943b1c..7169843 100644
--- a/recipes/engine.expected/win_no_lto.json
+++ b/recipes/engine.expected/win_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_publish_cipd.json b/recipes/engine.expected/win_publish_cipd.json
index a5da277..348a1f2 100644
--- a/recipes/engine.expected/win_publish_cipd.json
+++ b/recipes/engine.expected/win_publish_cipd.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_publish_cipd_no_lto.json b/recipes/engine.expected/win_publish_cipd_no_lto.json
index e943b1c..7169843 100644
--- a/recipes/engine.expected/win_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/win_publish_cipd_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload.json b/recipes/engine.expected/win_upload.json
index 0df56d2..f797250 100644
--- a/recipes/engine.expected/win_upload.json
+++ b/recipes/engine.expected/win_upload.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_maven_or_bitcode.json b/recipes/engine.expected/win_upload_maven_or_bitcode.json
index 0df56d2..f797250 100644
--- a/recipes/engine.expected/win_upload_maven_or_bitcode.json
+++ b/recipes/engine.expected/win_upload_maven_or_bitcode.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_maven_or_bitcode_no_lto.json b/recipes/engine.expected/win_upload_maven_or_bitcode_no_lto.json
index 42b6273..aa2446f 100644
--- a/recipes/engine.expected/win_upload_maven_or_bitcode_no_lto.json
+++ b/recipes/engine.expected/win_upload_maven_or_bitcode_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd.json b/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd.json
index 0df56d2..f797250 100644
--- a/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd_no_lto.json b/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd_no_lto.json
index 42b6273..aa2446f 100644
--- a/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/win_upload_maven_or_bitcode_publish_cipd_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_no_lto.json b/recipes/engine.expected/win_upload_no_lto.json
index 42b6273..aa2446f 100644
--- a/recipes/engine.expected/win_upload_no_lto.json
+++ b/recipes/engine.expected/win_upload_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_publish_cipd.json b/recipes/engine.expected/win_upload_publish_cipd.json
index 0df56d2..f797250 100644
--- a/recipes/engine.expected/win_upload_publish_cipd.json
+++ b/recipes/engine.expected/win_upload_publish_cipd.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.expected/win_upload_publish_cipd_no_lto.json b/recipes/engine.expected/win_upload_publish_cipd_no_lto.json
index 42b6273..aa2446f 100644
--- a/recipes/engine.expected/win_upload_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/win_upload_publish_cipd_no_lto.json
@@ -121,6 +121,23 @@
"name": "Print pub.dev certs"
},
{
+ "cmd": [
+ "powershell.exe",
+ "New-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\" -Name \"LongPathsEnabled\" -Value 1 -PropertyType DWORD -Force"
+ ],
+ "env": {
+ "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+ "GOMA_DIR": "[CACHE]\\goma\\client"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]\\certs",
+ "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+ ]
+ },
+ "name": "Enable long path support"
+ },
+ {
"cmd": [],
"name": "Checkout source code"
},
diff --git a/recipes/engine.py b/recipes/engine.py
index 2fe2f07..d6d3dbc 100644
--- a/recipes/engine.py
+++ b/recipes/engine.py
@@ -1544,6 +1544,9 @@
api.flutter_deps.certs(env, env_prefixes)
api.os_utils.print_pub_certs()
+ # Enable long path support on Windows.
+ api.flutter_deps.enable_long_paths(env, env_prefixes)
+
api.repo_util.engine_checkout(cache_root, env, env_prefixes)
# Delete derived data on mac. This is a noop for other platforms.