Skip to content

Commit

Permalink
Switch desktop build commands to use process utils (flutter#42373)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonahwilliams authored and Inconnu08 committed Nov 5, 2019
1 parent f7d281a commit 87b153c
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 60 deletions.
15 changes: 2 additions & 13 deletions packages/flutter_tools/lib/src/linux/build_linux.dart
Expand Up @@ -5,12 +5,10 @@
import '../artifacts.dart';
import '../base/common.dart';
import '../base/file_system.dart';
import '../base/io.dart';
import '../base/logger.dart';
import '../base/process_manager.dart';
import '../base/process.dart';
import '../build_info.dart';
import '../cache.dart';
import '../convert.dart';
import '../globals.dart';
import '../project.dart';
import '../reporting/reporting.dart';
Expand Down Expand Up @@ -54,21 +52,12 @@ export PROJECT_DIR=${linuxProject.project.directory.path}
);
int result;
try {
final Process process = await processManager.start(<String>[
result = await processUtils.stream(<String>[
'make',
'-C',
linuxProject.makeFile.parent.path,
'BUILD=$buildFlag',
]);
process.stderr
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(printError);
process.stdout
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(printTrace);
result = await process.exitCode;
} on ArgumentError {
throwToolExit('make not found. Run \'flutter doctor\' for more information.');
} finally {
Expand Down
38 changes: 13 additions & 25 deletions packages/flutter_tools/lib/src/macos/build_macos.dart
Expand Up @@ -4,16 +4,13 @@

import '../base/common.dart';
import '../base/file_system.dart';
import '../base/io.dart';
import '../base/logger.dart';
import '../base/process_manager.dart';
import '../base/process.dart';
import '../build_info.dart';
import '../convert.dart';
import '../globals.dart';
import '../ios/xcodeproj.dart';
import '../project.dart';
import '../reporting/reporting.dart';

import 'cocoapod_utils.dart';

/// Builds the macOS project through xcodebuild.
Expand Down Expand Up @@ -65,33 +62,24 @@ Future<void> buildMacOS({

// Run the Xcode build.
final Stopwatch sw = Stopwatch()..start();
final Process process = await processManager.start(<String>[
'/usr/bin/env',
'xcrun',
'xcodebuild',
'-workspace', flutterProject.macos.xcodeWorkspace.path,
'-configuration', '$configuration',
'-scheme', 'Runner',
'-derivedDataPath', flutterBuildDir.absolute.path,
'OBJROOT=${fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}',
'SYMROOT=${fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Products')}',
'COMPILER_INDEX_STORE_ENABLE=NO',
]);
final Status status = logger.startProgress(
'Building macOS application...',
timeout: null,
);
int result;
try {
process.stderr
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(printError);
process.stdout
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(printTrace);
result = await process.exitCode;
result = await processUtils.stream(<String>[
'/usr/bin/env',
'xcrun',
'xcodebuild',
'-workspace', flutterProject.macos.xcodeWorkspace.path,
'-configuration', '$configuration',
'-scheme', 'Runner',
'-derivedDataPath', flutterBuildDir.absolute.path,
'OBJROOT=${fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}',
'SYMROOT=${fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Products')}',
'COMPILER_INDEX_STORE_ENABLE=NO',
]);
} finally {
status.cancel();
}
Expand Down
32 changes: 10 additions & 22 deletions packages/flutter_tools/lib/src/windows/build_windows.dart
Expand Up @@ -5,16 +5,13 @@
import '../artifacts.dart';
import '../base/common.dart';
import '../base/file_system.dart';
import '../base/io.dart';
import '../base/logger.dart';
import '../base/process_manager.dart';
import '../base/process.dart';
import '../build_info.dart';
import '../cache.dart';
import '../convert.dart';
import '../globals.dart';
import '../project.dart';
import '../reporting/reporting.dart';

import 'msbuild_utils.dart';
import 'visual_studio.dart';

Expand Down Expand Up @@ -63,30 +60,21 @@ Future<void> buildWindows(WindowsProject windowsProject, BuildInfo buildInfo, {S
final String configuration = buildInfo.isDebug ? 'Debug' : 'Release';
final String solutionPath = windowsProject.solutionFile.path;
final Stopwatch sw = Stopwatch()..start();
// Run the script with a relative path to the project using the enclosing
// directory as the workingDirectory, to avoid hitting the limit on command
// lengths in batch scripts if the absolute path to the project is long.
final Process process = await processManager.start(<String>[
buildScript,
vcvarsScript,
fs.path.basename(solutionPath),
configuration,
], workingDirectory: fs.path.dirname(solutionPath));
final Status status = logger.startProgress(
'Building Windows application...',
timeout: null,
);
int result;
try {
process.stderr
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(printError);
process.stdout
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(printTrace);
result = await process.exitCode;
// Run the script with a relative path to the project using the enclosing
// directory as the workingDirectory, to avoid hitting the limit on command
// lengths in batch scripts if the absolute path to the project is long.
result = await processUtils.stream(<String>[
buildScript,
vcvarsScript,
fs.path.basename(solutionPath),
configuration,
], workingDirectory: fs.path.dirname(solutionPath));
} finally {
status.cancel();
}
Expand Down

0 comments on commit 87b153c

Please sign in to comment.