Commit 912279bf authored by Sarah Zakarias's avatar Sarah Zakarias Committed by GitHub

Patch Debug/Release.xcconfig files in devicelab tests (#9000)

parent 3c99272c
...@@ -17,26 +17,37 @@ const FileSystem _fs = const io.LocalFileSystem(); ...@@ -17,26 +17,37 @@ const FileSystem _fs = const io.LocalFileSystem();
/// information required to build and run the project. /// information required to build and run the project.
Future<Null> prepareProvisioningCertificates(String flutterProjectPath) async { Future<Null> prepareProvisioningCertificates(String flutterProjectPath) async {
final String certificateConfig = await _readProvisioningConfigFile(); final String certificateConfig = await _readProvisioningConfigFile();
await _patchFlutterXcconfigIfNotPatched(flutterProjectPath); await _patchXcconfigFilesIfNotPatched(flutterProjectPath);
final File testXcconfig = _fs.file(path.join(flutterProjectPath, 'ios/Flutter/$_kTestXcconfigFileName')); final File testXcconfig = _fs.file(path.join(flutterProjectPath, 'ios/Flutter/$_kTestXcconfigFileName'));
await testXcconfig.writeAsString(certificateConfig); await testXcconfig.writeAsString(certificateConfig);
} }
Future<Null> _patchFlutterXcconfigIfNotPatched(String flutterProjectPath) async {
final File flutterXcconfig = _fs.file(path.join(flutterProjectPath, 'ios/Flutter/Flutter.xcconfig'));
if (!(await flutterXcconfig.exists())) { Future<Null> _patchXcconfigFilesIfNotPatched(String flutterProjectPath) async {
throw 'File not found: ${flutterXcconfig.path}'; final List<File> xcconfigFiles = <File>[
} _fs.file(path.join(flutterProjectPath, 'ios/Flutter/Flutter.xcconfig')),
_fs.file(path.join(flutterProjectPath, 'ios/Flutter/Debug.xcconfig')),
_fs.file(path.join(flutterProjectPath, 'ios/Flutter/Release.xcconfig'))
];
bool xcconfigFileExists = false;
for (final File file in xcconfigFiles) {
if ((await file.exists())) {
xcconfigFileExists = true;
const String include = '#include "$_kTestXcconfigFileName"'; const String include = '#include "$_kTestXcconfigFileName"';
final String contents = await flutterXcconfig.readAsString(); final String contents = await file.readAsString();
if (!contents.contains(include)) { if (!contents.contains(include)) {
final IOSink patchOut = flutterXcconfig.openWrite(mode: FileMode.APPEND); final IOSink patchOut = file.openWrite(mode: FileMode.APPEND);
patchOut.writeln(include); patchOut.writeln(include);
await patchOut.close(); await patchOut.close();
} }
}
}
if (!xcconfigFileExists)
throw 'No xcconfig file found';
} }
Future<String> _readProvisioningConfigFile() async { Future<String> _readProvisioningConfigFile() async {
......
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