mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Add Info.plist from build directory as input path to Thin Binary build phase (#118209)
* Add Info.plist from build directory as input path to Thin Binary build phase * fix directive ordering * migrate benchmark, integration, and example tests
This commit is contained in:
parent
cea55d99d0
commit
b4d72752bd
@ -232,6 +232,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -236,6 +236,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -187,6 +187,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -179,6 +179,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -191,6 +191,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -192,6 +192,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -194,6 +194,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -186,6 +186,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -177,6 +177,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -288,6 +288,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -213,6 +213,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -380,6 +380,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -256,6 +256,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -184,6 +184,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -191,6 +191,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -214,6 +214,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -186,6 +186,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -210,6 +210,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -176,6 +176,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -227,6 +227,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -196,6 +196,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -194,6 +194,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -187,6 +187,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -186,6 +186,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -194,6 +194,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -192,6 +192,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -195,6 +195,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -22,6 +22,7 @@ import '../macos/cocoapod_utils.dart';
|
|||||||
import '../macos/xcode.dart';
|
import '../macos/xcode.dart';
|
||||||
import '../migrations/xcode_project_object_version_migration.dart';
|
import '../migrations/xcode_project_object_version_migration.dart';
|
||||||
import '../migrations/xcode_script_build_phase_migration.dart';
|
import '../migrations/xcode_script_build_phase_migration.dart';
|
||||||
|
import '../migrations/xcode_thin_binary_build_phase_input_paths_migration.dart';
|
||||||
import '../project.dart';
|
import '../project.dart';
|
||||||
import '../reporting/reporting.dart';
|
import '../reporting/reporting.dart';
|
||||||
import 'application_package.dart';
|
import 'application_package.dart';
|
||||||
@ -130,6 +131,7 @@ Future<XcodeBuildResult> buildXcodeProject({
|
|||||||
HostAppInfoPlistMigration(app.project, globals.logger),
|
HostAppInfoPlistMigration(app.project, globals.logger),
|
||||||
XcodeScriptBuildPhaseMigration(app.project, globals.logger),
|
XcodeScriptBuildPhaseMigration(app.project, globals.logger),
|
||||||
RemoveBitcodeMigration(app.project, globals.logger),
|
RemoveBitcodeMigration(app.project, globals.logger),
|
||||||
|
XcodeThinBinaryBuildPhaseInputPathsMigration(app.project, globals.logger),
|
||||||
];
|
];
|
||||||
|
|
||||||
final ProjectMigration migration = ProjectMigration(migrators);
|
final ProjectMigration migration = ProjectMigration(migrators);
|
||||||
|
@ -14,6 +14,7 @@ import '../ios/xcode_build_settings.dart';
|
|||||||
import '../ios/xcodeproj.dart';
|
import '../ios/xcodeproj.dart';
|
||||||
import '../migrations/xcode_project_object_version_migration.dart';
|
import '../migrations/xcode_project_object_version_migration.dart';
|
||||||
import '../migrations/xcode_script_build_phase_migration.dart';
|
import '../migrations/xcode_script_build_phase_migration.dart';
|
||||||
|
import '../migrations/xcode_thin_binary_build_phase_input_paths_migration.dart';
|
||||||
import '../project.dart';
|
import '../project.dart';
|
||||||
import 'cocoapod_utils.dart';
|
import 'cocoapod_utils.dart';
|
||||||
import 'migrations/macos_deployment_target_migration.dart';
|
import 'migrations/macos_deployment_target_migration.dart';
|
||||||
@ -52,6 +53,7 @@ Future<void> buildMacOS({
|
|||||||
MacOSDeploymentTargetMigration(flutterProject.macos, globals.logger),
|
MacOSDeploymentTargetMigration(flutterProject.macos, globals.logger),
|
||||||
XcodeProjectObjectVersionMigration(flutterProject.macos, globals.logger),
|
XcodeProjectObjectVersionMigration(flutterProject.macos, globals.logger),
|
||||||
XcodeScriptBuildPhaseMigration(flutterProject.macos, globals.logger),
|
XcodeScriptBuildPhaseMigration(flutterProject.macos, globals.logger),
|
||||||
|
XcodeThinBinaryBuildPhaseInputPathsMigration(flutterProject.macos, globals.logger),
|
||||||
];
|
];
|
||||||
|
|
||||||
final ProjectMigration migration = ProjectMigration(migrators);
|
final ProjectMigration migration = ProjectMigration(migrators);
|
||||||
|
@ -0,0 +1,70 @@
|
|||||||
|
// Copyright 2014 The Flutter Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
import '../base/file_system.dart';
|
||||||
|
import '../base/project_migrator.dart';
|
||||||
|
import '../xcode_project.dart';
|
||||||
|
|
||||||
|
// Migrate Xcode Thin Binary build phase to depend on Info.plist from build directory
|
||||||
|
// as an input file to ensure it has been created before inserting the NSBonjourServices key
|
||||||
|
// to avoid an mDNS error.
|
||||||
|
class XcodeThinBinaryBuildPhaseInputPathsMigration extends ProjectMigrator {
|
||||||
|
XcodeThinBinaryBuildPhaseInputPathsMigration(XcodeBasedProject project, super.logger)
|
||||||
|
: _xcodeProjectInfoFile = project.xcodeProjectInfoFile;
|
||||||
|
|
||||||
|
final File _xcodeProjectInfoFile;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void migrate() {
|
||||||
|
if (!_xcodeProjectInfoFile.existsSync()) {
|
||||||
|
logger.printTrace('Xcode project not found, skipping script build phase dependency analysis removal.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String originalProjectContents = _xcodeProjectInfoFile.readAsStringSync();
|
||||||
|
|
||||||
|
// Add Info.plist from build directory as an input file to Thin Binary build phase.
|
||||||
|
// Path for the Info.plist is ${TARGET_BUILD_DIR}/\${INFOPLIST_PATH}
|
||||||
|
|
||||||
|
// Example:
|
||||||
|
// 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
// isa = PBXShellScriptBuildPhase;
|
||||||
|
// alwaysOutOfDate = 1;
|
||||||
|
// buildActionMask = 2147483647;
|
||||||
|
// files = (
|
||||||
|
// );
|
||||||
|
// inputPaths = (
|
||||||
|
// );
|
||||||
|
|
||||||
|
String newProjectContents = originalProjectContents;
|
||||||
|
const String thinBinaryBuildPhaseOriginal = '''
|
||||||
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
''';
|
||||||
|
|
||||||
|
const String thinBinaryBuildPhaseReplacement = r'''
|
||||||
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
|
);
|
||||||
|
''';
|
||||||
|
|
||||||
|
newProjectContents = newProjectContents.replaceAll(thinBinaryBuildPhaseOriginal, thinBinaryBuildPhaseReplacement);
|
||||||
|
if (originalProjectContents != newProjectContents) {
|
||||||
|
logger.printStatus('Adding input path to Thin Binary build phase.');
|
||||||
|
_xcodeProjectInfoFile.writeAsStringSync(newProjectContents);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -246,6 +246,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -229,6 +229,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -187,6 +187,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
@ -15,6 +15,7 @@ import 'package:flutter_tools/src/ios/migrations/remove_framework_link_and_embed
|
|||||||
import 'package:flutter_tools/src/ios/migrations/xcode_build_system_migration.dart';
|
import 'package:flutter_tools/src/ios/migrations/xcode_build_system_migration.dart';
|
||||||
import 'package:flutter_tools/src/migrations/xcode_project_object_version_migration.dart';
|
import 'package:flutter_tools/src/migrations/xcode_project_object_version_migration.dart';
|
||||||
import 'package:flutter_tools/src/migrations/xcode_script_build_phase_migration.dart';
|
import 'package:flutter_tools/src/migrations/xcode_script_build_phase_migration.dart';
|
||||||
|
import 'package:flutter_tools/src/migrations/xcode_thin_binary_build_phase_input_paths_migration.dart';
|
||||||
import 'package:flutter_tools/src/reporting/reporting.dart';
|
import 'package:flutter_tools/src/reporting/reporting.dart';
|
||||||
import 'package:flutter_tools/src/xcode_project.dart';
|
import 'package:flutter_tools/src/xcode_project.dart';
|
||||||
import 'package:test/fake.dart';
|
import 'package:test/fake.dart';
|
||||||
@ -1002,6 +1003,114 @@ platform :ios, '11.0'
|
|||||||
expect(testLogger.statusText, contains('Removing script build phase dependency analysis'));
|
expect(testLogger.statusText, contains('Removing script build phase dependency analysis'));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
group('update Xcode Thin Binary build phase to have input path', () {
|
||||||
|
late MemoryFileSystem memoryFileSystem;
|
||||||
|
late BufferLogger testLogger;
|
||||||
|
late FakeIosProject project;
|
||||||
|
late File xcodeProjectInfoFile;
|
||||||
|
|
||||||
|
setUp(() {
|
||||||
|
memoryFileSystem = MemoryFileSystem();
|
||||||
|
testLogger = BufferLogger.test();
|
||||||
|
project = FakeIosProject();
|
||||||
|
xcodeProjectInfoFile = memoryFileSystem.file('project.pbxproj');
|
||||||
|
project.xcodeProjectInfoFile = xcodeProjectInfoFile;
|
||||||
|
});
|
||||||
|
|
||||||
|
testWithoutContext('skipped if files are missing', () {
|
||||||
|
final XcodeThinBinaryBuildPhaseInputPathsMigration iosProjectMigration = XcodeThinBinaryBuildPhaseInputPathsMigration(
|
||||||
|
project,
|
||||||
|
testLogger,
|
||||||
|
);
|
||||||
|
iosProjectMigration.migrate();
|
||||||
|
expect(xcodeProjectInfoFile.existsSync(), isFalse);
|
||||||
|
|
||||||
|
expect(testLogger.traceText, contains('Xcode project not found, skipping script build phase dependency analysis removal'));
|
||||||
|
expect(testLogger.statusText, isEmpty);
|
||||||
|
});
|
||||||
|
|
||||||
|
testWithoutContext('skipped if nothing to upgrade', () {
|
||||||
|
const String xcodeProjectInfoFileContents = r'''
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
|
);
|
||||||
|
''';
|
||||||
|
xcodeProjectInfoFile.writeAsStringSync(xcodeProjectInfoFileContents);
|
||||||
|
|
||||||
|
final DateTime projectLastModified = xcodeProjectInfoFile.lastModifiedSync();
|
||||||
|
|
||||||
|
final XcodeThinBinaryBuildPhaseInputPathsMigration iosProjectMigration = XcodeThinBinaryBuildPhaseInputPathsMigration(
|
||||||
|
project,
|
||||||
|
testLogger,
|
||||||
|
);
|
||||||
|
iosProjectMigration.migrate();
|
||||||
|
|
||||||
|
expect(xcodeProjectInfoFile.lastModifiedSync(), projectLastModified);
|
||||||
|
expect(xcodeProjectInfoFile.readAsStringSync(), xcodeProjectInfoFileContents);
|
||||||
|
|
||||||
|
expect(testLogger.statusText, isEmpty);
|
||||||
|
});
|
||||||
|
|
||||||
|
testWithoutContext('Thin Binary inputPaths is migrated', () {
|
||||||
|
xcodeProjectInfoFile.writeAsStringSync(r'''
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
|
||||||
|
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
''');
|
||||||
|
|
||||||
|
final XcodeThinBinaryBuildPhaseInputPathsMigration iosProjectMigration = XcodeThinBinaryBuildPhaseInputPathsMigration(
|
||||||
|
project,
|
||||||
|
testLogger,
|
||||||
|
);
|
||||||
|
iosProjectMigration.migrate();
|
||||||
|
|
||||||
|
expect(xcodeProjectInfoFile.readAsStringSync(), r'''
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
|
);
|
||||||
|
|
||||||
|
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
''');
|
||||||
|
expect(testLogger.statusText, contains('Adding input path to Thin Binary build phase.'));
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
class FakeIosProject extends Fake implements IosProject {
|
class FakeIosProject extends Fake implements IosProject {
|
||||||
|
@ -333,6 +333,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
Loading…
Reference in New Issue
Block a user