Handle escaped spaces in deps-file. (#23273)
diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle
index 43d6e2e..cca052b 100644
--- a/packages/flutter_tools/gradle/flutter.gradle
+++ b/packages/flutter_tools/gradle/flutter.gradle
@@ -581,9 +581,13 @@
if (dependenciesFile.exists()) {
try {
// Dependencies file has Makefile syntax:
- // <target> <files>: <source> <files> <separated> <by> <space>
+ // <target> <files>: <source> <files> <separated> <by> <non-escaped space>
String depText = dependenciesFile.text
- return project.files(depText.split(': ')[1].split())
+ // So we split list of files by non-escaped(by backslash) space,
+ def matcher = depText.split(': ')[1] =~ /(\\ |[^\s])+/
+ // then we replace all escaped spaces with regular spaces
+ def depList = matcher.collect{it[0].replaceAll("\\\\ ", " ")}
+ return project.files(depList)
} catch (Exception e) {
logger.error("Error reading dependency file ${dependenciesFile}: ${e}")
}