Unverified Commit 0f3eada0 authored by Alexander Aprelev's avatar Alexander Aprelev Committed by GitHub

Revert "Reland pass filesystem options (#15622)" (#15651)

This reverts commit bbcf55a5 as it breaks hot reload on Windows.
parent bbcf55a5
......@@ -260,14 +260,6 @@ class FlutterPlugin implements Plugin<Project> {
if (project.hasProperty('preview-dart-2')) {
previewDart2Value = project.property('preview-dart-2')
}
String[] fileSystemRootsValue = null
if (project.hasProperty('filesystem-roots')) {
fileSystemRootsValue = project.property('filesystem-roots').split('\\|')
}
String fileSystemSchemeValue = null
if (project.hasProperty('filesystem-scheme')) {
fileSystemSchemeValue = project.property('filesystem-scheme')
}
Boolean trackWidgetCreationValue = false
if (project.hasProperty('track-widget-creation')) {
trackWidgetCreationValue = project.property('track-widget-creation')
......@@ -310,8 +302,6 @@ class FlutterPlugin implements Plugin<Project> {
localEngineSrcPath this.localEngineSrcPath
targetPath target
previewDart2 previewDart2Value
fileSystemRoots fileSystemRootsValue
fileSystemScheme fileSystemSchemeValue
trackWidgetCreation trackWidgetCreationValue
preferSharedLibrary preferSharedLibraryValue
targetPlatform targetPlatformValue
......@@ -330,8 +320,6 @@ class FlutterPlugin implements Plugin<Project> {
localEngineSrcPath this.localEngineSrcPath
targetPath target
previewDart2 previewDart2Value
fileSystemRoots fileSystemRootsValue
fileSystemScheme fileSystemSchemeValue
trackWidgetCreation trackWidgetCreationValue
preferSharedLibrary preferSharedLibraryValue
targetPlatform targetPlatformValue
......@@ -369,10 +357,6 @@ abstract class BaseFlutterTask extends DefaultTask {
@Optional @Input
Boolean previewDart2
@Optional @Input
String[] fileSystemRoots
@Optional @Input
String fileSystemScheme
@Optional @Input
Boolean trackWidgetCreation
@Optional @Input
Boolean preferSharedLibrary
......@@ -417,8 +401,8 @@ abstract class BaseFlutterTask extends DefaultTask {
if (previewDart2) {
args "--preview-dart-2"
} else {
args "--no-preview-dart-2"
}
args "--no-preview-dart-2"
}
if (trackWidgetCreation) {
args "--track-widget-creation"
}
......@@ -452,15 +436,7 @@ abstract class BaseFlutterTask extends DefaultTask {
args "--preview-dart-2"
} else {
args "--no-preview-dart-2"
}
if (fileSystemRoots != null) {
for (root in fileSystemRoots) {
args "--filesystem-root", root
}
}
if (fileSystemScheme != null) {
args "--filesystem-scheme", fileSystemScheme
}
}
if (trackWidgetCreation) {
args "--track-widget-creation"
}
......
......@@ -303,10 +303,6 @@ Future<Null> _buildGradleProjectV2(String gradle, BuildInfo buildInfo, String ta
command.add('-Pextra-front-end-options=${buildInfo.extraFrontEndOptions}');
if (buildInfo.extraGenSnapshotOptions != null)
command.add('-Pextra-gen-snapshot-options=${buildInfo.extraGenSnapshotOptions}');
if (buildInfo.fileSystemRoots != null)
command.add('-Pfilesystem-roots=${buildInfo.fileSystemRoots.join('|')}');
if (buildInfo.fileSystemScheme != null)
command.add('-Pfilesystem-scheme=${buildInfo.fileSystemScheme}');
}
if (buildInfo.preferSharedLibrary && androidSdk.ndkCompiler != null) {
command.add('-Pprefer-shared-library=true');
......
......@@ -17,8 +17,6 @@ class BuildInfo {
this.extraGenSnapshotOptions,
this.preferSharedLibrary,
this.targetPlatform,
this.fileSystemRoots,
this.fileSystemScheme,
});
final BuildMode mode;
......@@ -34,9 +32,6 @@ class BuildInfo {
/// Whether build should be done using Dart2 Frontend parser.
final bool previewDart2;
final List<String> fileSystemRoots;
final String fileSystemScheme;
/// Whether the build should track widget creation locations.
final bool trackWidgetCreation;
......
......@@ -35,18 +35,7 @@ class BuildFlxCommand extends BuildSubCommand {
..addFlag('report-licensed-packages',
help: 'Whether to report the names of all the packages that are included '
'in the application\'s LICENSE file.',
defaultsTo: false)
..addMultiOption('filesystem-root',
hide: !verboseHelp,
help: 'Specify the path, that is used as root in a virtual file system\n'
'for compilation. Input file name should be specified as Uri in\n'
'filesystem-scheme scheme. Use only in Dart 2 mode.\n'
'Requires --output-dill option to be explicitly specified.\n')
..addOption('filesystem-scheme',
defaultsTo: 'org-dartlang-root',
hide: !verboseHelp,
help: 'Specify the scheme that is used for virtual file system used in\n'
'compilation. See more details on filesystem-root option.\n');
defaultsTo: false);
usesPubOption();
}
......@@ -78,8 +67,6 @@ class BuildFlxCommand extends BuildSubCommand {
precompiledSnapshot: argResults['precompiled'],
reportLicensedPackages: argResults['report-licensed-packages'],
trackWidgetCreation: argResults['track-widget-creation'],
fileSystemScheme: argResults['filesystem-scheme'],
fileSystemRoots: argResults['filesystem-root'],
);
}
}
......@@ -172,18 +172,7 @@ class RunCommand extends RunCommandBase {
help: 'Specify the path to frontend server output kernel file.',
)
..addOption(FlutterOptions.kExtraFrontEndOptions, hide: true)
..addOption(FlutterOptions.kExtraGenSnapshotOptions, hide: true)
..addMultiOption('filesystem-root',
hide: !verboseHelp,
help: 'Specify the path, that is used as root in a virtual file system\n'
'for compilation. Input file name should be specified as Uri in\n'
'filesystem-scheme scheme. Use only in Dart 2 mode.\n'
'Requires --output-dill option to be explicitly specified.\n')
..addOption('filesystem-scheme',
defaultsTo: 'org-dartlang-root',
hide: !verboseHelp,
help: 'Specify the scheme that is used for virtual file system used in\n'
'compilation. See more details on filesystem-root option.\n');
..addOption(FlutterOptions.kExtraGenSnapshotOptions, hide: true);
}
List<Device> devices;
......@@ -356,8 +345,6 @@ class RunCommand extends RunCommandBase {
previewDart2: argResults['preview-dart-2'],
trackWidgetCreation: argResults['track-widget-creation'],
dillOutputPath: argResults['output-dill'],
fileSystemRoots: argResults['filesystem-root'],
fileSystemScheme: argResults['filesystem-scheme'],
);
}).toList();
......
......@@ -55,9 +55,7 @@ Future<String> compile(
bool trackWidgetCreation: false,
List<String> extraFrontEndOptions,
String incrementalCompilerByteStorePath,
String packagesPath,
List<String> fileSystemRoots,
String fileSystemScheme}) async {
String packagesPath}) async {
final String frontendServer = artifacts.getArtifactPath(
Artifact.frontendServerSnapshotForEngineDartSdk
);
......@@ -95,17 +93,9 @@ Future<String> compile(
if (outputFilePath != null) {
command.addAll(<String>['--output-dill', outputFilePath]);
}
if (depFilePath != null && (fileSystemRoots == null || fileSystemRoots.isEmpty)) {
if (depFilePath != null) {
command.addAll(<String>['--depfile', depFilePath]);
}
if (fileSystemRoots != null) {
for (String root in fileSystemRoots) {
command.addAll(<String>['--filesystem-root', root]);
}
}
if (fileSystemScheme != null) {
command.addAll(<String>['--filesystem-scheme', fileSystemScheme]);
}
if (extraFrontEndOptions != null)
command.addAll(extraFrontEndOptions);
......@@ -137,13 +127,10 @@ Future<String> compile(
/// restarts the Flutter app.
class ResidentCompiler {
ResidentCompiler(this._sdkRoot, {bool trackWidgetCreation: false,
String packagesPath, List<String> fileSystemRoots, String fileSystemScheme ,
CompilerMessageConsumer compilerMessageConsumer: printError})
String packagesPath, CompilerMessageConsumer compilerMessageConsumer: printError})
: assert(_sdkRoot != null),
_trackWidgetCreation = trackWidgetCreation,
_packagesPath = packagesPath,
_fileSystemRoots = fileSystemRoots,
_fileSystemScheme = fileSystemScheme,
stdoutHandler = new _StdoutHandler(consumer: compilerMessageConsumer) {
// This is a URI, not a file path, so the forward slash is correct even on Windows.
if (!_sdkRoot.endsWith('/'))
......@@ -152,8 +139,6 @@ class ResidentCompiler {
final bool _trackWidgetCreation;
final String _packagesPath;
final List<String> _fileSystemRoots;
final String _fileSystemScheme;
String _sdkRoot;
Process _server;
final _StdoutHandler stdoutHandler;
......@@ -172,13 +157,11 @@ class ResidentCompiler {
// First time recompile is called we actually have to compile the app from
// scratch ignoring list of invalidated files.
if (_server == null)
return _compile(_mapFilename(mainPath), outputPath, _mapFilename(packagesFilePath));
return _compile(mainPath, outputPath, packagesFilePath);
final String inputKey = new Uuid().generateV4();
_server.stdin.writeln('recompile ${mainPath != null ? _mapFilename(mainPath) + " ": ""}$inputKey');
for (String filePath in invalidatedFiles) {
_server.stdin.writeln(_mapFilename(filePath));
}
_server.stdin.writeln('recompile ${mainPath != null ? mainPath + " ": ""}$inputKey');
invalidatedFiles.forEach(_server.stdin.writeln);
_server.stdin.writeln(inputKey);
return stdoutHandler.outputFilename.future;
......@@ -209,14 +192,6 @@ class ResidentCompiler {
if (_packagesPath != null) {
args.addAll(<String>['--packages', _packagesPath]);
}
if (_fileSystemRoots != null) {
for (String root in _fileSystemRoots) {
args.addAll(<String>['--filesystem-root', root]);
}
}
if (_fileSystemScheme != null) {
args.addAll(<String>['--filesystem-scheme', _fileSystemScheme]);
}
_server = await processManager.start(args);
_server.stdout
.transform(utf8.decoder)
......@@ -263,19 +238,6 @@ class ResidentCompiler {
_server.stdin.writeln('reset');
}
String _mapFilename(String filename) {
if (_fileSystemRoots != null) {
for (String root in _fileSystemRoots) {
if (filename.startsWith(root)) {
return new Uri(
scheme: _fileSystemScheme, path: filename.substring(root.length))
.toString();
}
}
}
return filename;
}
Future<dynamic> shutdown() {
_server.kill();
return _server.exitCode;
......
......@@ -487,7 +487,7 @@ class DevFS {
final DevFSContent content = dirtyEntries[uri];
if (content is DevFSFileContent) {
filesUris.add(uri);
invalidatedFiles.add(content.file.path);
invalidatedFiles.add(content.file.uri.toString());
numBytes -= content.size;
}
}
......
......@@ -44,8 +44,6 @@ Future<Null> build({
bool precompiledSnapshot: false,
bool reportLicensedPackages: false,
bool trackWidgetCreation: false,
List<String> fileSystemRoots,
String fileSystemScheme,
}) async {
outputPath ??= defaultFlxOutputPath;
snapshotPath ??= defaultSnapshotPath;
......@@ -84,9 +82,6 @@ Future<Null> build({
outputFilePath: applicationKernelFilePath,
depFilePath: depfilePath,
trackWidgetCreation: trackWidgetCreation,
fileSystemRoots: fileSystemRoots,
fileSystemScheme: fileSystemScheme,
packagesPath: packagesPath,
);
if (kernelBinaryFilename == null) {
throwToolExit('Compiler terminated unexpectedly on $mainPath');
......
......@@ -36,8 +36,6 @@ class FlutterDevice {
ApplicationPackage package;
ResidentCompiler generator;
String dillOutputPath;
List<String> fileSystemRoots;
String fileSystemScheme;
StreamSubscription<String> _loggingSubscription;
......@@ -45,14 +43,11 @@ class FlutterDevice {
@required bool previewDart2,
@required bool trackWidgetCreation,
this.dillOutputPath,
this.fileSystemRoots,
this.fileSystemScheme,
}) {
if (previewDart2) {
generator = new ResidentCompiler(
artifacts.getArtifactPath(Artifact.flutterPatchedSdkPath),
trackWidgetCreation: trackWidgetCreation,
fileSystemRoots: fileSystemRoots, fileSystemScheme: fileSystemScheme
);
}
}
......
......@@ -392,7 +392,7 @@ class HotRunner extends ResidentRunner {
// We are now running from source.
_runningFromSnapshot = false;
final String launchPath = debuggingOptions.buildInfo.previewDart2
? mainPath + '.dill'
? dillOutputPath ?? mainPath + '.dill'
: mainPath;
await _launchFromDevFS(launchPath);
restartTimer.stop();
......
......@@ -61,8 +61,6 @@ class FlutterCommandResult {
class FlutterOptions {
static const String kExtraFrontEndOptions = 'extra-front-end-options';
static const String kExtraGenSnapshotOptions = 'extra-gen-snapshot-options';
static const String kFileSystemRoot = 'filesystem-root';
static const String kFileSystemScheme = 'filesystem-scheme';
}
abstract class FlutterCommand extends Command<Null> {
......@@ -196,12 +194,7 @@ abstract class FlutterCommand extends Command<Null> {
preferSharedLibrary: argParser.options.containsKey('prefer-shared-library')
? argResults['prefer-shared-library']
: false,
targetPlatform: targetPlatform,
fileSystemRoots: argParser.options.containsKey(FlutterOptions.kFileSystemRoot)
? argResults[FlutterOptions.kFileSystemRoot] : null,
fileSystemScheme: argParser.options.containsKey(FlutterOptions.kFileSystemScheme)
? argResults[FlutterOptions.kFileSystemScheme] : null,
);
targetPlatform: targetPlatform);
}
void setupApplicationPackages() {
......
......@@ -227,7 +227,7 @@ Future<Null> _recompile(StreamController<List<int>> streamController,
final String output = await generator.recompile(null /* mainPath */, <String>['/path/to/main.dart']);
expect(output, equals('/path/to/main.dart.dill'));
final String commands = mockFrontendServerStdIn.getAndClear();
final RegExp re = new RegExp('^recompile (.*)\\n/path/to/main.dart\\n(.*)\\n\$');
final RegExp re = new RegExp(r'^recompile (.*)\n/path/to/main.dart\n(.*)\n$');
expect(commands, matches(re));
final Match match = re.firstMatch(commands);
expect(match[1] == match[2], isTrue);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment