@use-voltra/ios-client 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -8
- package/build/commonjs/dynamic-widget/api.js +15 -0
- package/build/commonjs/dynamic-widget/api.js.map +1 -0
- package/build/commonjs/index.js +15 -7
- package/build/commonjs/index.js.map +1 -1
- package/build/commonjs/native/NativeVoltra.js.map +1 -1
- package/build/module/dynamic-widget/api.js +10 -0
- package/build/module/dynamic-widget/api.js.map +1 -0
- package/build/module/index.js +1 -0
- package/build/module/index.js.map +1 -1
- package/build/module/native/NativeVoltra.js.map +1 -1
- package/build/typescript/commonjs/dynamic-widget/api.d.ts +8 -0
- package/build/typescript/commonjs/dynamic-widget/api.d.ts.map +1 -0
- package/build/typescript/commonjs/index.d.ts +1 -0
- package/build/typescript/commonjs/index.d.ts.map +1 -1
- package/build/typescript/commonjs/native/NativeVoltra.d.ts +1 -0
- package/build/typescript/commonjs/native/NativeVoltra.d.ts.map +1 -1
- package/build/typescript/module/dynamic-widget/api.d.ts +8 -0
- package/build/typescript/module/dynamic-widget/api.d.ts.map +1 -0
- package/build/typescript/module/index.d.ts +1 -0
- package/build/typescript/module/index.d.ts.map +1 -1
- package/build/typescript/module/native/NativeVoltra.d.ts +1 -0
- package/build/typescript/module/native/NativeVoltra.d.ts.map +1 -1
- package/expo-plugin/build/cjs/index.js +3 -1
- package/expo-plugin/build/cjs/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/index.js +1 -1
- package/expo-plugin/build/cjs/ios-widget/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/podfile.js +38 -12
- package/expo-plugin/build/cjs/ios-widget/podfile.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/buildPhases.js +143 -107
- package/expo-plugin/build/cjs/ios-widget/xcode/buildPhases.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/configurationList.js +30 -22
- package/expo-plugin/build/cjs/ios-widget/xcode/configurationList.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/fileReferences.js +50 -0
- package/expo-plugin/build/cjs/ios-widget/xcode/fileReferences.js.map +1 -0
- package/expo-plugin/build/cjs/ios-widget/xcode/groups.js +45 -43
- package/expo-plugin/build/cjs/ios-widget/xcode/groups.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/index.js +77 -91
- package/expo-plugin/build/cjs/ios-widget/xcode/index.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/mainAppSettings.js +41 -39
- package/expo-plugin/build/cjs/ios-widget/xcode/mainAppSettings.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/productFile.js +2 -2
- package/expo-plugin/build/cjs/ios-widget/xcode/productFile.js.map +1 -1
- package/expo-plugin/build/cjs/ios-widget/xcode/target.js +29 -63
- package/expo-plugin/build/cjs/ios-widget/xcode/target.js.map +1 -1
- package/expo-plugin/build/esm/index.js +3 -1
- package/expo-plugin/build/esm/index.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/index.js +1 -1
- package/expo-plugin/build/esm/ios-widget/index.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/podfile.js +36 -11
- package/expo-plugin/build/esm/ios-widget/podfile.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/buildPhases.js +143 -106
- package/expo-plugin/build/esm/ios-widget/xcode/buildPhases.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/configurationList.js +31 -22
- package/expo-plugin/build/esm/ios-widget/xcode/configurationList.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/fileReferences.js +45 -0
- package/expo-plugin/build/esm/ios-widget/xcode/fileReferences.js.map +1 -0
- package/expo-plugin/build/esm/ios-widget/xcode/groups.js +45 -42
- package/expo-plugin/build/esm/ios-widget/xcode/groups.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/index.js +81 -96
- package/expo-plugin/build/esm/ios-widget/xcode/index.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/mainAppSettings.js +41 -39
- package/expo-plugin/build/esm/ios-widget/xcode/mainAppSettings.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/productFile.js +3 -2
- package/expo-plugin/build/esm/ios-widget/xcode/productFile.js.map +1 -1
- package/expo-plugin/build/esm/ios-widget/xcode/target.js +28 -62
- package/expo-plugin/build/esm/ios-widget/xcode/target.js.map +1 -1
- package/expo-plugin/build/types/index.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/podfile.d.ts +19 -1
- package/expo-plugin/build/types/ios-widget/podfile.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/buildPhases.d.ts +3 -7
- package/expo-plugin/build/types/ios-widget/xcode/buildPhases.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/configurationList.d.ts +15 -10
- package/expo-plugin/build/types/ios-widget/xcode/configurationList.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/fileReferences.d.ts +16 -0
- package/expo-plugin/build/types/ios-widget/xcode/fileReferences.d.ts.map +1 -0
- package/expo-plugin/build/types/ios-widget/xcode/groups.d.ts +0 -4
- package/expo-plugin/build/types/ios-widget/xcode/groups.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/index.d.ts +22 -3
- package/expo-plugin/build/types/ios-widget/xcode/index.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/mainAppSettings.d.ts +16 -4
- package/expo-plugin/build/types/ios-widget/xcode/mainAppSettings.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/productFile.d.ts +0 -4
- package/expo-plugin/build/types/ios-widget/xcode/productFile.d.ts.map +1 -1
- package/expo-plugin/build/types/ios-widget/xcode/target.d.ts +11 -26
- package/expo-plugin/build/types/ios-widget/xcode/target.d.ts.map +1 -1
- package/expo-plugin/src/index.ts +5 -1
- package/expo-plugin/src/ios-widget/index.ts +1 -1
- package/expo-plugin/src/ios-widget/podfile.ts +46 -13
- package/expo-plugin/src/ios-widget/xcode/__fixtures__/fresh.pbxproj +197 -0
- package/expo-plugin/src/ios-widget/xcode/__fixtures__/with-existing-extension.pbxproj +321 -0
- package/expo-plugin/src/ios-widget/xcode/__fixtures__/with-per-config-signing.pbxproj +203 -0
- package/expo-plugin/src/ios-widget/xcode/__snapshots__/applyXcodeChanges.node.test.ts.snap +357 -0
- package/expo-plugin/src/ios-widget/xcode/__tests__/pbxConsistency.ts +130 -0
- package/expo-plugin/src/ios-widget/xcode/buildPhases.ts +151 -152
- package/expo-plugin/src/ios-widget/xcode/configurationList.ts +52 -35
- package/expo-plugin/src/ios-widget/xcode/fileReferences.ts +51 -0
- package/expo-plugin/src/ios-widget/xcode/groups.ts +52 -54
- package/expo-plugin/src/ios-widget/xcode/index.ts +107 -119
- package/expo-plugin/src/ios-widget/xcode/mainAppSettings.ts +59 -54
- package/expo-plugin/src/ios-widget/xcode/productFile.ts +3 -2
- package/expo-plugin/src/ios-widget/xcode/target.ts +31 -83
- package/ios/Package.swift +7 -1
- package/ios/app/NativeVoltra.mm +19 -0
- package/ios/app/VoltraModule.swift +18 -0
- package/ios/app/VoltraModuleImpl.swift +16 -0
- package/ios/shared/DynamicWidgetPropsCodec.swift +51 -0
- package/ios/shared/DynamicWidgetPropsStorage.swift +53 -0
- package/ios/shared/DynamicWidgetPropsStore.swift +50 -0
- package/ios/shared/DynamicWidgetRenderCoordinator.swift +31 -0
- package/ios/shared/DynamicWidgetUpdater.swift +30 -0
- package/ios/shared/VoltraConstants.swift +4 -0
- package/ios/shared/VoltraJSRenderer.swift +3 -1
- package/ios/shared/VoltraNode.swift +6 -2
- package/ios/shared/VoltraWidgetDefaults.swift +9 -1
- package/ios/target/VoltraClientWidgetRuntime.swift +17 -5
- package/ios/target/VoltraHomeWidget.swift +6 -2
- package/ios/target/VoltraWidget.swift +3 -1
- package/ios/ui/Helpers/VoltraDeepLinkResolver.swift +3 -1
- package/ios/ui/Helpers/VoltraProgressDriver.swift +6 -2
- package/ios/ui/Layout/VoltraFlexStackLayout.swift +9 -3
- package/ios/ui/Style/JSColorParser.swift +24 -8
- package/ios/ui/Style/JSGradientParser.swift +36 -12
- package/ios/ui/Style/JSStyleParser.swift +36 -12
- package/ios/ui/Style/LayoutStyle.swift +12 -4
- package/ios/ui/Views/VoltraChart.swift +52 -16
- package/ios/ui/Views/VoltraLinearGradient.swift +6 -2
- package/package.json +5 -5
- package/src/dynamic-widget/api.ts +25 -0
- package/src/index.ts +1 -0
- package/src/native/NativeVoltra.ts +1 -0
|
@@ -34,9 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ensureWidgetBundleScriptPhase = ensureWidgetBundleScriptPhase;
|
|
37
|
-
exports.addBuildPhases = addBuildPhases;
|
|
38
37
|
exports.ensureBuildPhases = ensureBuildPhases;
|
|
39
38
|
const util = __importStar(require("util"));
|
|
39
|
+
const fileReferences_1 = require("./fileReferences");
|
|
40
40
|
const pbxFile = require('xcode/lib/pbxFile');
|
|
41
41
|
const WIDGET_BUNDLE_PHASE_NAME = 'Bundle Voltra Dynamic Widgets';
|
|
42
42
|
// Release-only build phase that bakes each Dynamic Widget's production JS bundle into the
|
|
@@ -126,168 +126,194 @@ function ensureWidgetBundleScriptPhase(xcodeProject, targetUuid) {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
129
|
+
* Finds a `PBXCopyFilesBuildPhase` on the given target that embeds app extensions
|
|
130
|
+
* (`dstSubfolderSpec == 13`), regardless of its display name. Returns the phase object or null.
|
|
131
|
+
*
|
|
132
|
+
* A project that already contains another app extension (Share/Watch/expo-live-activity) will have
|
|
133
|
+
* such a phase — typically named "Embed App Extensions" — and the widget's product must be added to
|
|
134
|
+
* it rather than to a second, duplicate embed phase (issue #87).
|
|
130
135
|
*/
|
|
131
|
-
function
|
|
132
|
-
const
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
136
|
+
function findExistingEmbedExtensionsPhase(xcodeProject, targetUuid) {
|
|
137
|
+
const nativeTargets = xcodeProject.pbxNativeTargetSection();
|
|
138
|
+
const target = nativeTargets[targetUuid];
|
|
139
|
+
if (!target?.buildPhases) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
const copyFilesSection = xcodeProject.hash.project.objects['PBXCopyFilesBuildPhase'] || {};
|
|
143
|
+
for (const entry of target.buildPhases) {
|
|
144
|
+
const phase = copyFilesSection[(0, fileReferences_1.normalizeRef)(entry.value)];
|
|
145
|
+
if (phase && String(phase.dstSubfolderSpec) === '13') {
|
|
146
|
+
return phase;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Finds a target's build phase of the given pbx section type by walking the target's own
|
|
153
|
+
* `buildPhases` list and checking membership in the type's object section; the first match wins.
|
|
154
|
+
*
|
|
155
|
+
* This is deliberately semantic: pbxproj comments are decorative and other tools strip them, and
|
|
156
|
+
* the xcode lib's `buildPhaseObject` both relies on comments and silently falls back to a
|
|
157
|
+
* project-wide search that can return another target's phase (e.g. the main app's "Sources").
|
|
158
|
+
* The embed phase is the one exception with extra semantics — see
|
|
159
|
+
* {@link findExistingEmbedExtensionsPhase} (`dstSubfolderSpec == 13`).
|
|
160
|
+
*/
|
|
161
|
+
function findTargetPhaseByType(xcodeProject, targetUuid, phaseType) {
|
|
162
|
+
const target = xcodeProject.pbxNativeTargetSection()[targetUuid];
|
|
163
|
+
if (!target?.buildPhases) {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
const phaseSection = xcodeProject.hash.project.objects[phaseType] || {};
|
|
167
|
+
for (const entry of target.buildPhases) {
|
|
168
|
+
const phase = phaseSection[(0, fileReferences_1.normalizeRef)(entry.value)];
|
|
169
|
+
if (phase) {
|
|
170
|
+
return phase;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
150
174
|
}
|
|
151
175
|
/**
|
|
152
176
|
* Ensures all required build phases and files exist for the widget extension target.
|
|
153
177
|
*/
|
|
154
178
|
function ensureBuildPhases(xcodeProject, options) {
|
|
155
|
-
const { targetUuid, groupName, productFile, widgetFiles } = options;
|
|
179
|
+
const { targetUuid, targetName, groupName, productFile, widgetFiles } = options;
|
|
156
180
|
const buildPath = `""`;
|
|
157
181
|
const folderType = 'app_extension';
|
|
158
182
|
const mainTargetUuid = options.mainTargetUuid ?? xcodeProject.getFirstTarget().uuid;
|
|
159
183
|
const { swiftFiles, intentFiles, assetDirectories, localizedStringResources } = widgetFiles;
|
|
160
184
|
const resourcePaths = [...assetDirectories, ...localizedStringResources];
|
|
161
|
-
dedupeBuildPhasesForTarget(xcodeProject, targetUuid, 'PBXSourcesBuildPhase'
|
|
162
|
-
dedupeBuildPhasesForTarget(xcodeProject, targetUuid, 'PBXFrameworksBuildPhase'
|
|
163
|
-
|
|
185
|
+
dedupeBuildPhasesForTarget(xcodeProject, targetUuid, 'PBXSourcesBuildPhase');
|
|
186
|
+
dedupeBuildPhasesForTarget(xcodeProject, targetUuid, 'PBXFrameworksBuildPhase');
|
|
187
|
+
dedupeEmbedPhasesForTarget(xcodeProject, mainTargetUuid);
|
|
164
188
|
// Sources build phase
|
|
165
|
-
let sourcesPhase = xcodeProject
|
|
189
|
+
let sourcesPhase = findTargetPhaseByType(xcodeProject, targetUuid, 'PBXSourcesBuildPhase');
|
|
166
190
|
if (!sourcesPhase) {
|
|
167
|
-
xcodeProject.addBuildPhase([
|
|
168
|
-
sourcesPhase = xcodeProject
|
|
191
|
+
xcodeProject.addBuildPhase([], 'PBXSourcesBuildPhase', 'Sources', targetUuid, folderType, buildPath);
|
|
192
|
+
sourcesPhase = findTargetPhaseByType(xcodeProject, targetUuid, 'PBXSourcesBuildPhase');
|
|
169
193
|
}
|
|
170
194
|
if (sourcesPhase) {
|
|
171
|
-
ensureBuildPhaseFiles(xcodeProject, sourcesPhase, [...swiftFiles, ...intentFiles]);
|
|
195
|
+
ensureBuildPhaseFiles(xcodeProject, sourcesPhase, [...swiftFiles, ...intentFiles], targetName);
|
|
172
196
|
}
|
|
173
|
-
// Copy files build phase (embed extension into main app)
|
|
174
|
-
|
|
197
|
+
// Copy files build phase (embed extension into main app) — the embed phase is matched purely by
|
|
198
|
+
// its `dstSubfolderSpec == 13` semantics, both before and after creation
|
|
199
|
+
let copyFilesPhase = findExistingEmbedExtensionsPhase(xcodeProject, mainTargetUuid);
|
|
175
200
|
if (!copyFilesPhase) {
|
|
176
201
|
xcodeProject.addBuildPhase([], 'PBXCopyFilesBuildPhase', groupName, mainTargetUuid, folderType, buildPath);
|
|
177
|
-
copyFilesPhase = xcodeProject
|
|
202
|
+
copyFilesPhase = findExistingEmbedExtensionsPhase(xcodeProject, mainTargetUuid);
|
|
178
203
|
}
|
|
179
204
|
if (copyFilesPhase) {
|
|
180
205
|
ensureCopyFilesPhaseProduct(xcodeProject, copyFilesPhase, productFile);
|
|
181
206
|
}
|
|
182
207
|
// Frameworks build phase
|
|
183
|
-
const frameworksPhase = xcodeProject
|
|
208
|
+
const frameworksPhase = findTargetPhaseByType(xcodeProject, targetUuid, 'PBXFrameworksBuildPhase');
|
|
184
209
|
if (!frameworksPhase) {
|
|
185
210
|
xcodeProject.addBuildPhase([], 'PBXFrameworksBuildPhase', 'Frameworks', targetUuid, folderType, buildPath);
|
|
186
211
|
}
|
|
187
212
|
// Resources build phase
|
|
188
|
-
let resourcesPhase = xcodeProject
|
|
213
|
+
let resourcesPhase = findTargetPhaseByType(xcodeProject, targetUuid, 'PBXResourcesBuildPhase');
|
|
189
214
|
if (!resourcesPhase) {
|
|
190
|
-
xcodeProject.addBuildPhase([
|
|
191
|
-
resourcesPhase = xcodeProject
|
|
215
|
+
xcodeProject.addBuildPhase([], 'PBXResourcesBuildPhase', 'Resources', targetUuid);
|
|
216
|
+
resourcesPhase = findTargetPhaseByType(xcodeProject, targetUuid, 'PBXResourcesBuildPhase');
|
|
192
217
|
}
|
|
193
218
|
if (resourcesPhase) {
|
|
194
|
-
ensureBuildPhaseFiles(xcodeProject, resourcesPhase,
|
|
219
|
+
ensureBuildPhaseFiles(xcodeProject, resourcesPhase, resourcePaths, targetName);
|
|
195
220
|
}
|
|
196
221
|
}
|
|
197
|
-
|
|
222
|
+
/**
|
|
223
|
+
* Drops duplicate build phases of one pbx section type from a target, keeping the first phase in
|
|
224
|
+
* the target's `buildPhases` order. Membership in the type's object section is the only criterion —
|
|
225
|
+
* comments are decorative and other tools strip them. De-referenced phase objects are deleted so no
|
|
226
|
+
* orphans remain.
|
|
227
|
+
*/
|
|
228
|
+
function dedupeBuildPhasesForTarget(xcodeProject, targetUuid, phaseType) {
|
|
198
229
|
const nativeTargets = xcodeProject.pbxNativeTargetSection();
|
|
199
230
|
const target = nativeTargets[targetUuid];
|
|
200
231
|
if (!target?.buildPhases) {
|
|
201
232
|
return;
|
|
202
233
|
}
|
|
203
234
|
const phaseSection = xcodeProject.hash.project.objects[phaseType] || {};
|
|
204
|
-
const matching = target.buildPhases.filter((entry) => phaseSection[entry.value]);
|
|
235
|
+
const matching = target.buildPhases.filter((entry) => phaseSection[(0, fileReferences_1.normalizeRef)(entry.value)]);
|
|
205
236
|
if (matching.length <= 1) {
|
|
206
237
|
return;
|
|
207
238
|
}
|
|
208
|
-
const keep = matching
|
|
209
|
-
|
|
239
|
+
const keep = matching[0];
|
|
240
|
+
const removed = matching.filter((entry) => entry.value !== keep.value);
|
|
210
241
|
target.buildPhases = target.buildPhases.filter((entry) => {
|
|
211
|
-
if (!phaseSection[entry.value]) {
|
|
242
|
+
if (!phaseSection[(0, fileReferences_1.normalizeRef)(entry.value)]) {
|
|
212
243
|
return true;
|
|
213
244
|
}
|
|
214
245
|
return entry.value === keep.value;
|
|
215
246
|
});
|
|
247
|
+
deleteOrphanPhaseObjects(phaseSection, removed);
|
|
216
248
|
}
|
|
217
|
-
|
|
249
|
+
/**
|
|
250
|
+
* Drops duplicate embed-app-extensions copy-files phases (`dstSubfolderSpec == 13`) from a target,
|
|
251
|
+
* keeping the first one in the target's `buildPhases` order. Other copy-files phases (different
|
|
252
|
+
* `dstSubfolderSpec`) are left untouched. De-referenced phase objects are deleted so no orphans
|
|
253
|
+
* remain.
|
|
254
|
+
*/
|
|
255
|
+
function dedupeEmbedPhasesForTarget(xcodeProject, targetUuid) {
|
|
218
256
|
const nativeTargets = xcodeProject.pbxNativeTargetSection();
|
|
219
257
|
const target = nativeTargets[targetUuid];
|
|
220
258
|
if (!target?.buildPhases) {
|
|
221
259
|
return;
|
|
222
260
|
}
|
|
223
|
-
const phaseSection = xcodeProject.hash.project.objects[
|
|
224
|
-
const
|
|
261
|
+
const phaseSection = xcodeProject.hash.project.objects['PBXCopyFilesBuildPhase'] || {};
|
|
262
|
+
const isEmbedEntry = (entry) => {
|
|
263
|
+
const phase = phaseSection[(0, fileReferences_1.normalizeRef)(entry.value)];
|
|
264
|
+
return phase && String(phase.dstSubfolderSpec) === '13';
|
|
265
|
+
};
|
|
266
|
+
const matching = target.buildPhases.filter(isEmbedEntry);
|
|
225
267
|
if (matching.length <= 1) {
|
|
226
268
|
return;
|
|
227
269
|
}
|
|
228
270
|
const keep = matching[0];
|
|
271
|
+
const removed = matching.filter((entry) => entry.value !== keep.value);
|
|
229
272
|
target.buildPhases = target.buildPhases.filter((entry) => {
|
|
230
|
-
if (!
|
|
273
|
+
if (!isEmbedEntry(entry)) {
|
|
231
274
|
return true;
|
|
232
275
|
}
|
|
233
276
|
return entry.value === keep.value;
|
|
234
277
|
});
|
|
278
|
+
deleteOrphanPhaseObjects(phaseSection, removed);
|
|
235
279
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
if (/_comment$/.test(key)) {
|
|
247
|
-
continue;
|
|
248
|
-
}
|
|
249
|
-
const entry = fileReferenceSection[key];
|
|
250
|
-
const entryPath = normalizePath(entry?.path);
|
|
251
|
-
if (entryPath === normalizedPath) {
|
|
252
|
-
return key;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
return null;
|
|
256
|
-
}
|
|
257
|
-
function findBuildFileKeyByFileRef(xcodeProject, fileRef) {
|
|
258
|
-
const buildFileSection = xcodeProject.pbxBuildFileSection();
|
|
259
|
-
for (const key of Object.keys(buildFileSection)) {
|
|
260
|
-
if (/_comment$/.test(key)) {
|
|
261
|
-
continue;
|
|
262
|
-
}
|
|
263
|
-
const entry = buildFileSection[key];
|
|
264
|
-
if (entry?.fileRef === fileRef) {
|
|
265
|
-
return key;
|
|
266
|
-
}
|
|
280
|
+
/**
|
|
281
|
+
* Deletes de-referenced build-phase objects (and their `_comment` keys) from a phase section, so
|
|
282
|
+
* dropping duplicate phase refs from a target does not leave orphan objects that fail the
|
|
283
|
+
* `[Xcodeproj]` consistency check.
|
|
284
|
+
*/
|
|
285
|
+
function deleteOrphanPhaseObjects(phaseSection, removedEntries) {
|
|
286
|
+
for (const entry of removedEntries) {
|
|
287
|
+
const key = (0, fileReferences_1.normalizeRef)(entry.value);
|
|
288
|
+
delete phaseSection[key];
|
|
289
|
+
delete phaseSection[`${key}_comment`];
|
|
267
290
|
}
|
|
268
|
-
return null;
|
|
269
291
|
}
|
|
270
|
-
|
|
271
|
-
|
|
292
|
+
/**
|
|
293
|
+
* Resolves (or creates) the PBXBuildFile for a widget file within a specific build phase.
|
|
294
|
+
*
|
|
295
|
+
* The lookup is scoped to the given phase's `files`: a PBXBuildFile is only reused when it is
|
|
296
|
+
* already part of THIS phase. This prevents adopting a build file that belongs to another target's
|
|
297
|
+
* phase — the same PBXFileReference (e.g. an asset catalog) may legitimately need its own build
|
|
298
|
+
* file per phase, and sharing one produces the "no parent for object" corruption (issue #87). When
|
|
299
|
+
* no match exists a new PBXBuildFile with a fresh UUID is created.
|
|
300
|
+
*/
|
|
301
|
+
function ensureBuildFile(xcodeProject, filePath, buildPhase, targetName) {
|
|
302
|
+
const fileRef = (0, fileReferences_1.ensureWidgetFileReference)(xcodeProject, filePath, targetName);
|
|
272
303
|
const file = new pbxFile(filePath);
|
|
273
|
-
if (
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
const existingBuildFile = findBuildFileKeyByFileRef(xcodeProject, fileReference.fileRef);
|
|
283
|
-
if (existingBuildFile) {
|
|
284
|
-
return { uuid: existingBuildFile, ...fileReference };
|
|
304
|
+
if (buildPhase?.files) {
|
|
305
|
+
const buildFileSection = xcodeProject.pbxBuildFileSection();
|
|
306
|
+
const existingInPhase = buildPhase.files.find((entry) => {
|
|
307
|
+
const buildFile = buildFileSection[(0, fileReferences_1.normalizeRef)(entry.value)];
|
|
308
|
+
return buildFile?.fileRef === fileRef;
|
|
309
|
+
});
|
|
310
|
+
if (existingInPhase) {
|
|
311
|
+
return { uuid: (0, fileReferences_1.normalizeRef)(existingInPhase.value), fileRef, basename: file.basename, group: file.group };
|
|
312
|
+
}
|
|
285
313
|
}
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
file.
|
|
289
|
-
xcodeProject.addToPbxBuildFileSection(file);
|
|
290
|
-
return { uuid: file.uuid, ...fileReference, group: file.group };
|
|
314
|
+
const uuid = xcodeProject.generateUuid();
|
|
315
|
+
xcodeProject.addToPbxBuildFileSection({ uuid, fileRef, basename: file.basename, group: file.group });
|
|
316
|
+
return { uuid, fileRef, basename: file.basename, group: file.group };
|
|
291
317
|
}
|
|
292
318
|
function buildPhaseHasFile(xcodeProject, buildPhase, fileRef) {
|
|
293
319
|
if (!buildPhase?.files) {
|
|
@@ -295,20 +321,20 @@ function buildPhaseHasFile(xcodeProject, buildPhase, fileRef) {
|
|
|
295
321
|
}
|
|
296
322
|
const buildFileSection = xcodeProject.pbxBuildFileSection();
|
|
297
323
|
return buildPhase.files.some((entry) => {
|
|
298
|
-
const buildFile = buildFileSection[entry.value];
|
|
324
|
+
const buildFile = buildFileSection[(0, fileReferences_1.normalizeRef)(entry.value)];
|
|
299
325
|
return buildFile?.fileRef === fileRef;
|
|
300
326
|
});
|
|
301
327
|
}
|
|
302
|
-
function ensureBuildPhaseFiles(xcodeProject, buildPhase, filePaths) {
|
|
328
|
+
function ensureBuildPhaseFiles(xcodeProject, buildPhase, filePaths, targetName) {
|
|
303
329
|
if (!buildPhase.files) {
|
|
304
330
|
buildPhase.files = [];
|
|
305
331
|
}
|
|
306
332
|
for (const filePath of filePaths) {
|
|
307
|
-
const
|
|
308
|
-
if (buildPhaseHasFile(xcodeProject, buildPhase,
|
|
333
|
+
const fileRef = (0, fileReferences_1.ensureWidgetFileReference)(xcodeProject, filePath, targetName);
|
|
334
|
+
if (buildPhaseHasFile(xcodeProject, buildPhase, fileRef)) {
|
|
309
335
|
continue;
|
|
310
336
|
}
|
|
311
|
-
const buildFile = ensureBuildFile(xcodeProject, filePath);
|
|
337
|
+
const buildFile = ensureBuildFile(xcodeProject, filePath, buildPhase, targetName);
|
|
312
338
|
buildPhase.files.push({
|
|
313
339
|
value: buildFile.uuid,
|
|
314
340
|
comment: util.format('%s in %s', buildFile.basename, buildFile.group),
|
|
@@ -319,16 +345,26 @@ function ensureCopyFilesPhaseProduct(xcodeProject, buildPhase, productFile) {
|
|
|
319
345
|
if (!buildPhase.files) {
|
|
320
346
|
buildPhase.files = [];
|
|
321
347
|
}
|
|
322
|
-
const
|
|
323
|
-
|
|
348
|
+
const buildFileSection = xcodeProject.pbxBuildFileSection();
|
|
349
|
+
const alreadyInPhase = buildPhase.files.some((entry) => {
|
|
350
|
+
const buildFile = buildFileSection[(0, fileReferences_1.normalizeRef)(entry.value)];
|
|
351
|
+
return buildFile?.fileRef === productFile.fileRef;
|
|
352
|
+
});
|
|
353
|
+
if (alreadyInPhase) {
|
|
324
354
|
return;
|
|
325
355
|
}
|
|
326
|
-
|
|
327
|
-
|
|
356
|
+
// Reuse the product's build-file UUID only if it isn't already registered by another phase;
|
|
357
|
+
// otherwise mint a fresh UUID so the two phases never share one PBXBuildFile (issue #87).
|
|
358
|
+
let useUuid = productFile.uuid;
|
|
359
|
+
if (buildFileSection[productFile.uuid]) {
|
|
360
|
+
useUuid = xcodeProject.generateUuid();
|
|
361
|
+
xcodeProject.addToPbxBuildFileSection({ ...productFile, uuid: useUuid });
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
328
364
|
xcodeProject.addToPbxBuildFileSection(productFile);
|
|
329
365
|
}
|
|
330
366
|
buildPhase.files.push({
|
|
331
|
-
value:
|
|
367
|
+
value: useUuid,
|
|
332
368
|
comment: util.format('%s in %s', productFile.basename, productFile.group),
|
|
333
369
|
});
|
|
334
370
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPhases.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/buildPhases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildPhases.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/buildPhases.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,sEAkCC;AAuED,8CAiDC;AA1ND,2CAA4B;AAG5B,qDAA0E;AAE1E,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAE5C,MAAM,wBAAwB,GAAG,+BAA+B,CAAA;AAEhE,0FAA0F;AAC1F,oGAAoG;AACpG,yFAAyF;AACzF,iGAAiG;AACjG,gGAAgG;AAChG,+DAA+D;AAC/D,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ClC,CAAA;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAAC,YAA0B,EAAE,UAAkB;IAC1F,MAAM,aAAa,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAA;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;IACzB,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,EAAE,CAAA;IACpF,MAAM,UAAU,GAAG,IAAI,wBAAwB,GAAG,CAAA;IAClD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAA;IAC7G,IAAI,cAAc,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;IAED,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,UAAU,EAAE;QAC/F,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,0BAA0B;KACxC,CAAC,CAAA;IAEF,+FAA+F;IAC/F,iGAAiG;IACjG,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,EAAE,CAAA;IACzF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAQ;QACV,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/C,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAiBD;;;;;;;GAOG;AACH,SAAS,gCAAgC,CAAC,YAA0B,EAAE,UAAkB;IACtF,MAAM,aAAa,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAA;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAA;IAC1F,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACzD,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,YAA0B,EAAE,UAAkB,EAAE,SAAiB;IAC9F,MAAM,MAAM,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAC,CAAA;IAChE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACvE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,YAA0B,EAAE,OAAiC;IAC7F,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAA;IACtB,MAAM,UAAU,GAAG,eAAe,CAAA;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC,IAAI,CAAA;IAEnF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAG,WAAW,CAAA;IAC3F,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,CAAC,CAAA;IAExE,0BAA0B,CAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;IAC5E,0BAA0B,CAAC,YAAY,EAAE,UAAU,EAAE,yBAAyB,CAAC,CAAA;IAC/E,0BAA0B,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IAExD,sBAAsB;IACtB,IAAI,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;IAC1F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QACpG,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,EAAE,UAAU,CAAC,CAAA;IAChG,CAAC;IAED,gGAAgG;IAChG,yEAAyE;IACzE,IAAI,cAAc,GAAG,gCAAgC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QAC1G,cAAc,GAAG,gCAAgC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,2BAA2B,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAA;IACxE,CAAC;IAED,yBAAyB;IACzB,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,yBAAyB,CAAC,CAAA;IAClG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IAC5G,CAAC;IAED,wBAAwB;IACxB,IAAI,cAAc,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAA;IAC9F,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QACjF,cAAc,GAAG,qBAAqB,CAAC,YAAY,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,qBAAqB,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;IAChF,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,YAA0B,EAAE,UAAkB,EAAE,SAAiB;IACnG,MAAM,aAAa,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAA;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,YAAY,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnG,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3E,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE;QAC5D,IAAI,CAAC,YAAY,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,YAA0B,EAAE,UAAkB;IAChF,MAAM,aAAa,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAA;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAA;IACtF,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACrD,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACzD,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACxD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3E,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE;QAC5D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,YAAiC,EAAE,cAAqB;IACxF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACrC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QACxB,OAAO,YAAY,CAAC,GAAG,GAAG,UAAU,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,YAA0B,EAAE,QAAgB,EAAE,UAAe,EAAE,UAAkB;IACxG,MAAM,OAAO,GAAG,IAAA,0CAAyB,EAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC7E,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;IAElC,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAA;QAC3D,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;YAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7D,OAAO,SAAS,EAAE,OAAO,KAAK,OAAO,CAAA;QACvC,CAAC,CAAC,CAAA;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,IAAA,6BAAY,EAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3G,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,CAAA;IACxC,YAAY,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAS,CAAC,CAAA;IAC3G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;AACtE,CAAC;AAED,SAAS,iBAAiB,CAAC,YAA0B,EAAE,UAAe,EAAE,OAAe;IACrF,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAA;IAE3D,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7D,OAAO,SAAS,EAAE,OAAO,KAAK,OAAO,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAA0B,EAC1B,UAAe,EACf,SAAmB,EACnB,UAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,KAAK,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAA,0CAAyB,EAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC7E,IAAI,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;QACjF,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;SACtE,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,YAA0B,EAAE,UAAe,EAAE,WAAgB;IAChG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,KAAK,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAA;IAC3D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAA,6BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7D,OAAO,SAAS,EAAE,OAAO,KAAK,WAAW,CAAC,OAAO,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;IAED,4FAA4F;IAC5F,0FAA0F;IAC1F,IAAI,OAAO,GAAG,WAAW,CAAC,IAAI,CAAA;IAC9B,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,CAAA;QACrC,YAAY,CAAC,wBAAwB,CAAC,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1E,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAA;IACpD,CAAC;IAED,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACpB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC;KAC1E,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addXCConfigurationList = addXCConfigurationList;
|
|
4
3
|
exports.ensureXCConfigurationList = ensureXCConfigurationList;
|
|
5
4
|
const constants_1 = require("../../constants");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Resolves the main app signing settings for a widget configuration name: an exact name match
|
|
7
|
+
* wins, otherwise the first available configuration's settings are used as fallback.
|
|
8
|
+
*/
|
|
9
|
+
function signingForConfiguration(mainAppSettings, configurationName) {
|
|
10
|
+
if (!mainAppSettings) {
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
13
|
+
return mainAppSettings.byConfigurationName[configurationName] ?? mainAppSettings.fallback;
|
|
14
|
+
}
|
|
15
|
+
function createBuildSettings(options, configurationName) {
|
|
16
|
+
const { targetName, bundleIdentifier, deploymentTarget, version, buildNumber, mainAppSettings } = options;
|
|
17
|
+
const { codeSignStyle, developmentTeam, provisioningProfileSpecifier } = signingForConfiguration(mainAppSettings, configurationName);
|
|
18
|
+
const buildSettings = {
|
|
9
19
|
PRODUCT_NAME: `"$(TARGET_NAME)"`,
|
|
10
20
|
SWIFT_VERSION: constants_1.IOS.SWIFT_VERSION,
|
|
11
21
|
TARGETED_DEVICE_FAMILY: `"${constants_1.IOS.DEVICE_FAMILY}"`,
|
|
12
22
|
INFOPLIST_FILE: `${targetName}/Info.plist`,
|
|
13
23
|
INFOPLIST_OUTPUT_FORMAT: `"xml"`,
|
|
14
|
-
CURRENT_PROJECT_VERSION: `"1"`,
|
|
15
|
-
MARKETING_VERSION: `"1.0"`,
|
|
24
|
+
CURRENT_PROJECT_VERSION: `"${buildNumber ?? '1'}"`,
|
|
25
|
+
MARKETING_VERSION: `"${version ?? '1.0'}"`,
|
|
16
26
|
IPHONEOS_DEPLOYMENT_TARGET: `"${deploymentTarget}"`,
|
|
17
27
|
PRODUCT_BUNDLE_IDENTIFIER: `"${bundleIdentifier}"`,
|
|
18
28
|
SWIFT_OPTIMIZATION_LEVEL: `"-Onone"`,
|
|
@@ -20,45 +30,43 @@ function createCommonBuildSettings(options) {
|
|
|
20
30
|
APPLICATION_EXTENSION_API_ONLY: '"YES"',
|
|
21
31
|
ASSETCATALOG_COMPILER_APPICON_NAME: '""',
|
|
22
32
|
};
|
|
23
|
-
// Synchronize code signing settings from main app target
|
|
33
|
+
// Synchronize code signing settings from the main app target's matching configuration
|
|
24
34
|
if (codeSignStyle) {
|
|
25
|
-
|
|
35
|
+
buildSettings.CODE_SIGN_STYLE = `"${codeSignStyle}"`;
|
|
26
36
|
}
|
|
27
37
|
if (developmentTeam) {
|
|
28
|
-
|
|
38
|
+
buildSettings.DEVELOPMENT_TEAM = `"${developmentTeam}"`;
|
|
29
39
|
}
|
|
30
40
|
if (provisioningProfileSpecifier) {
|
|
31
|
-
|
|
41
|
+
buildSettings.PROVISIONING_PROFILE_SPECIFIER = `"${provisioningProfileSpecifier}"`;
|
|
32
42
|
}
|
|
33
|
-
return
|
|
43
|
+
return buildSettings;
|
|
34
44
|
}
|
|
35
45
|
/**
|
|
36
|
-
* Adds
|
|
46
|
+
* Adds a fresh XCConfigurationList for the widget extension target. Internal create-only fallback
|
|
47
|
+
* for {@link ensureXCConfigurationList}; not part of the public pipeline.
|
|
37
48
|
*/
|
|
38
49
|
function addXCConfigurationList(xcodeProject, options) {
|
|
39
50
|
const { targetName } = options;
|
|
40
|
-
const commonBuildSettings = createCommonBuildSettings(options);
|
|
41
51
|
const buildConfigurationsList = [
|
|
42
52
|
{
|
|
43
53
|
name: 'Debug',
|
|
44
54
|
isa: 'XCBuildConfiguration',
|
|
45
|
-
buildSettings:
|
|
46
|
-
...commonBuildSettings,
|
|
47
|
-
},
|
|
55
|
+
buildSettings: createBuildSettings(options, 'Debug'),
|
|
48
56
|
},
|
|
49
57
|
{
|
|
50
58
|
name: 'Release',
|
|
51
59
|
isa: 'XCBuildConfiguration',
|
|
52
|
-
buildSettings:
|
|
53
|
-
...commonBuildSettings,
|
|
54
|
-
},
|
|
60
|
+
buildSettings: createBuildSettings(options, 'Release'),
|
|
55
61
|
},
|
|
56
62
|
];
|
|
57
63
|
const xCConfigurationList = xcodeProject.addXCConfigurationList(buildConfigurationsList, 'Release', `Build configuration list for PBXNativeTarget "${targetName}"`);
|
|
58
64
|
return xCConfigurationList;
|
|
59
65
|
}
|
|
60
66
|
/**
|
|
61
|
-
* Ensures an existing XCConfigurationList is updated, or adds a new one if missing.
|
|
67
|
+
* Ensures an existing XCConfigurationList is updated, or adds a new one if missing. Each widget
|
|
68
|
+
* configuration receives the build settings derived for its own name, so Debug and Release signing
|
|
69
|
+
* stay in sync with the main app's respective configurations.
|
|
62
70
|
*/
|
|
63
71
|
function ensureXCConfigurationList(xcodeProject, options, existingConfigurationListId) {
|
|
64
72
|
const configurationListId = typeof existingConfigurationListId === 'string'
|
|
@@ -69,7 +77,6 @@ function ensureXCConfigurationList(xcodeProject, options, existingConfigurationL
|
|
|
69
77
|
if (!configurationList || !configurationList.buildConfigurations) {
|
|
70
78
|
return addXCConfigurationList(xcodeProject, options);
|
|
71
79
|
}
|
|
72
|
-
const commonBuildSettings = createCommonBuildSettings(options);
|
|
73
80
|
const buildConfigurations = configurationList.buildConfigurations;
|
|
74
81
|
const buildConfigurationSection = xcodeProject.pbxXCBuildConfigurationSection();
|
|
75
82
|
for (const configRef of buildConfigurations) {
|
|
@@ -81,9 +88,10 @@ function ensureXCConfigurationList(xcodeProject, options, existingConfigurationL
|
|
|
81
88
|
if (!buildConfiguration) {
|
|
82
89
|
continue;
|
|
83
90
|
}
|
|
91
|
+
const configurationName = typeof buildConfiguration.name === 'string' ? buildConfiguration.name.replace(/^"|"$/g, '') : '';
|
|
84
92
|
buildConfiguration.buildSettings = {
|
|
85
93
|
...(buildConfiguration.buildSettings ?? {}),
|
|
86
|
-
...
|
|
94
|
+
...createBuildSettings(options, configurationName),
|
|
87
95
|
};
|
|
88
96
|
}
|
|
89
97
|
return { uuid: configurationListId };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurationList.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/configurationList.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"configurationList.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/configurationList.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizePath = normalizePath;
|
|
4
|
+
exports.normalizeRef = normalizeRef;
|
|
5
|
+
exports.ensureWidgetFileReference = ensureWidgetFileReference;
|
|
6
|
+
const pbxFile = require('xcode/lib/pbxFile');
|
|
7
|
+
/** Strips surrounding quotes from a pbx path/name value. */
|
|
8
|
+
function normalizePath(value) {
|
|
9
|
+
if (!value) {
|
|
10
|
+
return '';
|
|
11
|
+
}
|
|
12
|
+
return value.replace(/^"|"$/g, '');
|
|
13
|
+
}
|
|
14
|
+
/** Strips a trailing `/* comment *\/` and whitespace, yielding the bare UUID of a pbx reference. */
|
|
15
|
+
function normalizeRef(value) {
|
|
16
|
+
return String(value)
|
|
17
|
+
.replace(/\/\*.*?\*\//g, '')
|
|
18
|
+
.trim();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolves the PBXFileReference UUID for a widget file, scoped to the widget's own PBXGroup.
|
|
22
|
+
*
|
|
23
|
+
* pbxproj paths are group-relative, so a bare path like `Assets.xcassets` collides with any other
|
|
24
|
+
* extension's identically named file. Scoping the lookup to the children of the widget group
|
|
25
|
+
* (identified by `targetName`) keeps the widget's references distinct from those, which is what
|
|
26
|
+
* prevents the shared-fileRef corruption behind issues #87/#32. When the widget group does not
|
|
27
|
+
* exist yet, a fresh reference is created.
|
|
28
|
+
*/
|
|
29
|
+
function ensureWidgetFileReference(xcodeProject, filePath, targetName) {
|
|
30
|
+
const file = new pbxFile(filePath);
|
|
31
|
+
const fileReferenceSection = xcodeProject.pbxFileReferenceSection();
|
|
32
|
+
const group = xcodeProject.pbxGroupByName(targetName);
|
|
33
|
+
if (group?.children) {
|
|
34
|
+
for (const child of group.children) {
|
|
35
|
+
const refKey = normalizeRef(child.value);
|
|
36
|
+
const entry = fileReferenceSection[refKey];
|
|
37
|
+
if (!entry) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const entryPath = normalizePath(entry.path);
|
|
41
|
+
if (entryPath === file.path || entryPath === normalizePath(filePath)) {
|
|
42
|
+
return refKey;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
file.fileRef = xcodeProject.generateUuid();
|
|
47
|
+
xcodeProject.addToPbxFileReferenceSection(file);
|
|
48
|
+
return file.fileRef;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=fileReferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileReferences.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/fileReferences.ts"],"names":[],"mappings":";;AAKA,sCAKC;AAGD,oCAIC;AAWD,8DAsBC;AAhDD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAE5C,4DAA4D;AAC5D,SAAgB,aAAa,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,oGAAoG;AACpG,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC;SACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,IAAI,EAAE,CAAA;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,yBAAyB,CAAC,YAA0B,EAAE,QAAgB,EAAE,UAAkB;IACxG,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,oBAAoB,GAAG,YAAY,CAAC,uBAAuB,EAAE,CAAA;IACnE,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IAErD,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAQ;YACV,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,CAAA;IAC1C,YAAY,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAA;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC"}
|