From 73ea37eca9008910eb48de953d9c6acb4a330f60 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Fri, 13 Mar 2020 18:29:09 -0700 Subject: [PATCH] Revert "Fall back to environment SDKROOT passed from Xcode (#52570)" (#52583) This reverts commit 8e6e15f91500a2e5d98e42c4d02f9065146d6d6f. --- .../flutter_tools/lib/src/base/build.dart | 2 +- .../lib/src/build_system/targets/ios.dart | 2 +- .../flutter_tools/lib/src/macos/xcode.dart | 9 ++---- .../test/general.shard/base/build_test.dart | 2 +- .../test/general.shard/macos/xcode_test.dart | 30 ------------------- 5 files changed, 6 insertions(+), 39 deletions(-) diff --git a/packages/flutter_tools/lib/src/base/build.dart b/packages/flutter_tools/lib/src/base/build.dart index 51f026fc2f..a1f05391fd 100644 --- a/packages/flutter_tools/lib/src/base/build.dart +++ b/packages/flutter_tools/lib/src/base/build.dart @@ -225,7 +225,7 @@ class AOTSnapshotter { final String assemblyO = globals.fs.path.join(outputPath, 'snapshot_assembly.o'); List isysrootArgs; if (isIOS) { - final String iPhoneSDKLocation = await globals.xcode.sdkLocation(SdkType.iPhone, globals.platform.environment); + final String iPhoneSDKLocation = await globals.xcode.sdkLocation(SdkType.iPhone); if (iPhoneSDKLocation != null) { isysrootArgs = ['-isysroot', iPhoneSDKLocation]; } diff --git a/packages/flutter_tools/lib/src/build_system/targets/ios.dart b/packages/flutter_tools/lib/src/build_system/targets/ios.dart index 8ca3d27636..990716cf8a 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/ios.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/ios.dart @@ -412,7 +412,7 @@ Future createStubAppFramework(File outputFile, SdkType sdk, { bool in '-Xlinker', '-rpath', '-Xlinker', '@executable_path/Frameworks', '-Xlinker', '-rpath', '-Xlinker', '@loader_path/Frameworks', '-install_name', '@rpath/App.framework/App', - '-isysroot', await globals.xcode.sdkLocation(sdk, globals.platform.environment), + '-isysroot', await globals.xcode.sdkLocation(sdk), '-o', outputFile.path, ]); } finally { diff --git a/packages/flutter_tools/lib/src/macos/xcode.dart b/packages/flutter_tools/lib/src/macos/xcode.dart index 00ae276ce7..099b92d4f0 100644 --- a/packages/flutter_tools/lib/src/macos/xcode.dart +++ b/packages/flutter_tools/lib/src/macos/xcode.dart @@ -165,17 +165,14 @@ class Xcode { ); } - Future sdkLocation(SdkType sdk, Map environment) async { - // If this is run an Xcode script build phase, the SDKROOT is already exported. - if (environment.containsKey('SDKROOT')) { - return environment['SDKROOT']; - } + Future sdkLocation(SdkType sdk) async { assert(sdk != null); final RunResult runResult = await _processUtils.run( ['xcrun', '--sdk', getNameForSdk(sdk), '--show-sdk-path'], + throwOnError: true, ); if (runResult.exitCode != 0) { - throwToolExit('Could not find SDK location: ${runResult.stderr}'); + throwToolExit('Could not find iPhone SDK location: ${runResult.stderr}'); } return runResult.stdout.trim(); } diff --git a/packages/flutter_tools/test/general.shard/base/build_test.dart b/packages/flutter_tools/test/general.shard/base/build_test.dart index 4d9a4fbca6..b17af4f3ef 100644 --- a/packages/flutter_tools/test/general.shard/base/build_test.dart +++ b/packages/flutter_tools/test/general.shard/base/build_test.dart @@ -240,7 +240,7 @@ void main() { mockAndroidSdk = MockAndroidSdk(); mockArtifacts = MockArtifacts(); mockXcode = MockXcode(); - when(mockXcode.sdkLocation(any, any)).thenAnswer((_) => Future.value(kSDKPath)); + when(mockXcode.sdkLocation(any)).thenAnswer((_) => Future.value(kSDKPath)); for (final BuildMode mode in BuildMode.values) { when(mockArtifacts.getArtifactPath(Artifact.snapshotDart, diff --git a/packages/flutter_tools/test/general.shard/macos/xcode_test.dart b/packages/flutter_tools/test/general.shard/macos/xcode_test.dart index 9a4f78bd9e..943212f668 100644 --- a/packages/flutter_tools/test/general.shard/macos/xcode_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/xcode_test.dart @@ -178,36 +178,6 @@ void main() { expect(getNameForSdk(SdkType.iPhoneSimulator), 'iphonesimulator'); expect(getNameForSdk(SdkType.macOS), 'macosx'); }); - - group('SDK location', () { - const String sdkroot = 'Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk'; - - testWithoutContext('environment', () async { - expect(await xcode.sdkLocation(SdkType.iPhone, {'SDKROOT': sdkroot}), sdkroot); - }); - - testWithoutContext('--show-sdk-path iphoneos', () async { - when(processManager.run(['xcrun', '--sdk', 'iphoneos', '--show-sdk-path'])).thenAnswer((_) => - Future.value(ProcessResult(1, 0, sdkroot, ''))); - - expect(await xcode.sdkLocation(SdkType.iPhone, {}), sdkroot); - }); - - testWithoutContext('--show-sdk-path macosx', () async { - when(processManager.run(['xcrun', '--sdk', 'macosx', '--show-sdk-path'])).thenAnswer((_) => - Future.value(ProcessResult(1, 0, sdkroot, ''))); - - expect(await xcode.sdkLocation(SdkType.macOS, {}), sdkroot); - }); - - testWithoutContext('--show-sdk-path fails', () async { - when(processManager.run(['xcrun', '--sdk', 'iphoneos', '--show-sdk-path'])).thenAnswer((_) => - Future.value(ProcessResult(1, 1, '', 'xcrun: error:'))); - - expect(() async => await xcode.sdkLocation(SdkType.iPhone, {}), - throwsToolExit(message: 'Could not find SDK location')); - }); - }); }); group('xcdevice', () {