mirror of
https://github.com/flutter/flutter
synced 2024-10-12 19:23:02 +00:00
[flutter_tools] include depfile outputs in gradle outputs (#50877)
This commit is contained in:
parent
2f09d601b5
commit
3cee8e0eb0
|
@ -891,13 +891,13 @@ class FlutterTask extends BaseFlutterTask {
|
|||
}
|
||||
}
|
||||
|
||||
FileCollection readDependencies(File dependenciesFile) {
|
||||
FileCollection readDependencies(File dependenciesFile, Boolean inputs) {
|
||||
if (dependenciesFile.exists()) {
|
||||
// Dependencies file has Makefile syntax:
|
||||
// <target> <files>: <source> <files> <separated> <by> <non-escaped space>
|
||||
String depText = dependenciesFile.text
|
||||
// So we split list of files by non-escaped(by backslash) space,
|
||||
def matcher = depText.split(': ')[1] =~ /(\\ |[^\s])+/
|
||||
def matcher = depText.split(': ')[inputs ? 1 : 0] =~ /(\\ |[^\s])+/
|
||||
// then we replace all escaped spaces with regular spaces
|
||||
def depList = matcher.collect{it[0].replaceAll("\\\\ ", " ")}
|
||||
return project.files(depList)
|
||||
|
@ -909,11 +909,20 @@ class FlutterTask extends BaseFlutterTask {
|
|||
FileCollection getSourceFiles() {
|
||||
FileCollection sources = project.files()
|
||||
for (File depfile in getDependenciesFiles()) {
|
||||
sources += readDependencies(depfile)
|
||||
sources += readDependencies(depfile, true)
|
||||
}
|
||||
return sources + project.files('pubspec.yaml')
|
||||
}
|
||||
|
||||
@OutputFiles
|
||||
FileCollection getOutputFiles() {
|
||||
FileCollection sources = project.files()
|
||||
for (File depfile in getDependenciesFiles()) {
|
||||
sources += readDependencies(depfile, false)
|
||||
}
|
||||
return sources
|
||||
}
|
||||
|
||||
@TaskAction
|
||||
void build() {
|
||||
buildBundle()
|
||||
|
|
Loading…
Reference in a new issue