ci: fix ios release signing patch
This commit is contained in:
@@ -218,24 +218,22 @@ jobs:
|
|||||||
for (const { bundle, profile } of replacements) {
|
for (const { bundle, profile } of replacements) {
|
||||||
if (!profile) throw new Error(`Missing provisioning profile name for ${bundle}`);
|
if (!profile) throw new Error(`Missing provisioning profile name for ${bundle}`);
|
||||||
const marker = `PRODUCT_BUNDLE_IDENTIFIER = ${bundle};`;
|
const marker = `PRODUCT_BUNDLE_IDENTIFIER = ${bundle};`;
|
||||||
let markerIndex = -1;
|
let blockStart = -1;
|
||||||
|
let blockEnd = -1;
|
||||||
let searchFrom = 0;
|
let searchFrom = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
const candidate = project.indexOf(marker, searchFrom);
|
const candidate = project.indexOf(marker, searchFrom);
|
||||||
if (candidate === -1) break;
|
if (candidate === -1) break;
|
||||||
const candidateEnd = project.indexOf('\n\t\t\t\t};', candidate);
|
const candidateStart = project.lastIndexOf('\n\t\t', candidate);
|
||||||
const configEnd = project.indexOf('\n\t\t};', candidateEnd);
|
const candidateEnd = project.indexOf('\n\t\t};', candidate);
|
||||||
const config = project.slice(candidateEnd, configEnd);
|
const config = project.slice(candidateStart, candidateEnd);
|
||||||
if (config.includes('name = Release;')) {
|
if (config.includes('name = Release;')) {
|
||||||
markerIndex = candidate;
|
blockStart = project.indexOf('buildSettings = {', candidateStart);
|
||||||
|
blockEnd = project.indexOf('\n\t\t\t\t};', candidate);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
searchFrom = candidate + marker.length;
|
searchFrom = candidate + marker.length;
|
||||||
}
|
}
|
||||||
if (markerIndex === -1) throw new Error(`Could not find ${bundle} Release build settings`);
|
|
||||||
|
|
||||||
const blockStart = project.lastIndexOf('buildSettings = {', markerIndex);
|
|
||||||
const blockEnd = project.indexOf('\n\t\t\t\t};', markerIndex);
|
|
||||||
if (blockStart === -1 || blockEnd === -1) throw new Error(`Could not find ${bundle} build settings block`);
|
if (blockStart === -1 || blockEnd === -1) throw new Error(`Could not find ${bundle} build settings block`);
|
||||||
|
|
||||||
const before = project.slice(0, blockStart);
|
const before = project.slice(0, blockStart);
|
||||||
|
|||||||
Reference in New Issue
Block a user