mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
keep recursing past directories with pubspec.yaml when gathering packages (#13573)
This commit is contained in:
parent
6728d4845d
commit
05dba60c63
@ -361,15 +361,18 @@ class FlutterCommandRunner extends CommandRunner<Null> {
|
|||||||
if (fs.isFileSync(fs.path.join(rootPath, '.dartignore')))
|
if (fs.isFileSync(fs.path.join(rootPath, '.dartignore')))
|
||||||
return <String>[];
|
return <String>[];
|
||||||
|
|
||||||
if (fs.isFileSync(fs.path.join(rootPath, 'pubspec.yaml')))
|
|
||||||
return <String>[rootPath];
|
|
||||||
|
|
||||||
return fs.directory(rootPath)
|
final List<String> projectPaths = fs.directory(rootPath)
|
||||||
.listSync(followLinks: false)
|
.listSync(followLinks: false)
|
||||||
.expand((FileSystemEntity entity) {
|
.expand((FileSystemEntity entity) {
|
||||||
return entity is Directory ? _gatherProjectPaths(entity.path) : <String>[];
|
return entity is Directory ? _gatherProjectPaths(entity.path) : <String>[];
|
||||||
})
|
})
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
|
if (fs.isFileSync(fs.path.join(rootPath, 'pubspec.yaml')))
|
||||||
|
projectPaths.add(rootPath);
|
||||||
|
|
||||||
|
return projectPaths;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _checkFlutterCopy() {
|
void _checkFlutterCopy() {
|
||||||
|
@ -18,7 +18,7 @@ dependencies:
|
|||||||
intl: 0.15.2
|
intl: 0.15.2
|
||||||
json_rpc_2: 2.0.4
|
json_rpc_2: 2.0.4
|
||||||
json_schema: 1.0.6
|
json_schema: 1.0.6
|
||||||
linter: 0.1.40
|
linter: 0.1.41
|
||||||
meta: 1.1.1
|
meta: 1.1.1
|
||||||
mustache: 1.0.0
|
mustache: 1.0.0
|
||||||
package_config: 1.0.3
|
package_config: 1.0.3
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
// Use of this source code is governed by a BSD-style license that can be
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
// found in the LICENSE file.
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
import 'package:file/memory.dart';
|
||||||
|
import 'package:flutter_tools/src/base/file_system.dart';
|
||||||
|
import 'package:flutter_tools/src/runner/flutter_command_runner.dart';
|
||||||
|
import 'package:flutter_tools/src/cache.dart';
|
||||||
import 'package:flutter_tools/src/version.dart';
|
import 'package:flutter_tools/src/version.dart';
|
||||||
import 'package:mockito/mockito.dart';
|
import 'package:mockito/mockito.dart';
|
||||||
import 'package:test/test.dart';
|
import 'package:test/test.dart';
|
||||||
@ -25,4 +29,31 @@ void main() {
|
|||||||
expect(versionChecked, isTrue);
|
expect(versionChecked, isTrue);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
MemoryFileSystem fs;
|
||||||
|
|
||||||
|
setUp(() {
|
||||||
|
fs = new MemoryFileSystem();
|
||||||
|
});
|
||||||
|
|
||||||
|
testUsingContext('getRepoPackages', () {
|
||||||
|
final FlutterCommandRunner runner = new FlutterCommandRunner();
|
||||||
|
final String root = fs.path.absolute(Cache.flutterRoot);
|
||||||
|
fs.directory(fs.path.join(root, 'examples'))
|
||||||
|
.createSync(recursive: true);
|
||||||
|
fs.directory(fs.path.join(root, 'packages'))
|
||||||
|
.createSync(recursive: true);
|
||||||
|
fs.directory(fs.path.join(root, 'dev', 'tools', 'aatool'))
|
||||||
|
.createSync(recursive: true);
|
||||||
|
|
||||||
|
fs.file(fs.path.join(root, 'dev', 'tools', 'pubspec.yaml')).createSync();
|
||||||
|
fs.file(fs.path.join(root, 'dev', 'tools', 'aatool', 'pubspec.yaml')).createSync();
|
||||||
|
|
||||||
|
final List<String> packagePaths = runner.getRepoPackages()
|
||||||
|
.map((Directory d) => d.path).toList();
|
||||||
|
expect(packagePaths, <String>[
|
||||||
|
fs.directory(fs.path.join(root, 'dev', 'tools', 'aatool')).path,
|
||||||
|
fs.directory(fs.path.join(root, 'dev', 'tools')).path,
|
||||||
|
]);
|
||||||
|
}, overrides: <Type, Generator>{ FileSystem: () => fs } );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user