[flutter_tools] make verbose macOS builds actually verbose (#54320)
This commit is contained in:
parent
4451ffca23
commit
74a1b9b33e
@ -54,6 +54,7 @@ class BuildMacosCommand extends BuildSubCommand {
|
||||
flutterProject: flutterProject,
|
||||
buildInfo: buildInfo,
|
||||
targetOverride: targetFile,
|
||||
verboseLogging: globals.logger.isVerbose,
|
||||
);
|
||||
return FlutterCommandResult.success();
|
||||
}
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
import '../base/common.dart';
|
||||
import '../base/file_system.dart';
|
||||
import '../base/logger.dart';
|
||||
@ -18,6 +20,7 @@ Future<void> buildMacOS({
|
||||
FlutterProject flutterProject,
|
||||
BuildInfo buildInfo,
|
||||
String targetOverride,
|
||||
@required bool verboseLogging,
|
||||
}) async {
|
||||
if (!flutterProject.macos.xcodeWorkspace.existsSync()) {
|
||||
throwToolExit('No macOS desktop project configured. '
|
||||
@ -83,6 +86,8 @@ Future<void> buildMacOS({
|
||||
'-derivedDataPath', flutterBuildDir.absolute.path,
|
||||
'OBJROOT=${globals.fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}',
|
||||
'SYMROOT=${globals.fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Products')}',
|
||||
if (verboseLogging)
|
||||
'VERBOSE_SCRIPT_LOGGING=YES',
|
||||
'COMPILER_INDEX_STORE_ENABLE=NO',
|
||||
...environmentVariablesAsXcodeBuildSettings(globals.platform)
|
||||
], trace: true);
|
||||
|
@ -44,6 +44,7 @@ class MacOSDevice extends DesktopDevice {
|
||||
flutterProject: FlutterProject.current(),
|
||||
buildInfo: buildInfo,
|
||||
targetOverride: mainPath,
|
||||
verboseLogging: globals.logger.isVerbose,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ void main() {
|
||||
|
||||
// Creates a FakeCommand for the xcodebuild call to build the app
|
||||
// in the given configuration.
|
||||
FakeCommand setUpMockXcodeBuildHandler(String configuration) {
|
||||
FakeCommand setUpMockXcodeBuildHandler(String configuration, { bool verbose = false }) {
|
||||
final FlutterProject flutterProject = FlutterProject.fromDirectory(fileSystem.currentDirectory);
|
||||
final Directory flutterBuildDir = fileSystem.directory(getMacOSBuildDirectory());
|
||||
return FakeCommand(
|
||||
@ -83,6 +83,8 @@ void main() {
|
||||
'-derivedDataPath', flutterBuildDir.absolute.path,
|
||||
'OBJROOT=${fileSystem.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}',
|
||||
'SYMROOT=${fileSystem.path.join(flutterBuildDir.absolute.path, 'Build', 'Products')}',
|
||||
if (verbose)
|
||||
'VERBOSE_SCRIPT_LOGGING=YES',
|
||||
'COMPILER_INDEX_STORE_ENABLE=NO',
|
||||
],
|
||||
stdout: 'STDOUT STUFF',
|
||||
@ -159,6 +161,23 @@ void main() {
|
||||
FeatureFlags: () => TestFeatureFlags(isMacOSEnabled: true),
|
||||
});
|
||||
|
||||
testUsingContext('macOS build invokes xcode build (debug) with verbosity', () async {
|
||||
final BuildCommand command = BuildCommand();
|
||||
createMinimalMockProjectFiles();
|
||||
|
||||
await createTestCommandRunner(command).run(
|
||||
const <String>['build', 'macos', '--debug', '-v']
|
||||
);
|
||||
}, overrides: <Type, Generator>{
|
||||
FileSystem: () => fileSystem,
|
||||
ProcessManager: () => FakeProcessManager.list(<FakeCommand>[
|
||||
setUpMockXcodeBuildHandler('Debug', verbose: true)
|
||||
]),
|
||||
Platform: () => macosPlatform,
|
||||
FeatureFlags: () => TestFeatureFlags(isMacOSEnabled: true),
|
||||
});
|
||||
|
||||
|
||||
testUsingContext('macOS build invokes xcode build (profile)', () async {
|
||||
final BuildCommand command = BuildCommand();
|
||||
createMinimalMockProjectFiles();
|
||||
|
Loading…
x
Reference in New Issue
Block a user