@leonxin/meetgames 0.1.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 +120 -0
- package/bundled/android/sample.txt +1 -0
- package/dist/android/adapter.d.ts +3 -0
- package/dist/android/adapter.d.ts.map +1 -0
- package/dist/android/adapter.js +8 -0
- package/dist/android/adapter.js.map +1 -0
- package/dist/android/assembleIntegrationJson.d.ts +8 -0
- package/dist/android/assembleIntegrationJson.d.ts.map +1 -0
- package/dist/android/assembleIntegrationJson.js +31 -0
- package/dist/android/assembleIntegrationJson.js.map +1 -0
- package/dist/android/detect.d.ts +11 -0
- package/dist/android/detect.d.ts.map +1 -0
- package/dist/android/detect.js +87 -0
- package/dist/android/detect.js.map +1 -0
- package/dist/android/downloadGoogleServicesJson.d.ts +20 -0
- package/dist/android/downloadGoogleServicesJson.d.ts.map +1 -0
- package/dist/android/downloadGoogleServicesJson.js +43 -0
- package/dist/android/downloadGoogleServicesJson.js.map +1 -0
- package/dist/android/fetchRemoteConfig.d.ts +5 -0
- package/dist/android/fetchRemoteConfig.d.ts.map +1 -0
- package/dist/android/fetchRemoteConfig.js +24 -0
- package/dist/android/fetchRemoteConfig.js.map +1 -0
- package/dist/android/gradle.d.ts +30 -0
- package/dist/android/gradle.d.ts.map +1 -0
- package/dist/android/gradle.js +87 -0
- package/dist/android/gradle.js.map +1 -0
- package/dist/android/manifest.d.ts +10 -0
- package/dist/android/manifest.d.ts.map +1 -0
- package/dist/android/manifest.js +45 -0
- package/dist/android/manifest.js.map +1 -0
- package/dist/android/meetSdkRemoteGradle.d.ts +86 -0
- package/dist/android/meetSdkRemoteGradle.d.ts.map +1 -0
- package/dist/android/meetSdkRemoteGradle.js +479 -0
- package/dist/android/meetSdkRemoteGradle.js.map +1 -0
- package/dist/android/snapchatManifestPlaceholders.d.ts +15 -0
- package/dist/android/snapchatManifestPlaceholders.d.ts.map +1 -0
- package/dist/android/snapchatManifestPlaceholders.js +53 -0
- package/dist/android/snapchatManifestPlaceholders.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +291 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/fetchConfigWrite.d.ts +10 -0
- package/dist/config/fetchConfigWrite.d.ts.map +1 -0
- package/dist/config/fetchConfigWrite.js +21 -0
- package/dist/config/fetchConfigWrite.js.map +1 -0
- package/dist/config/loadAndroidIntegration.d.ts +4 -0
- package/dist/config/loadAndroidIntegration.d.ts.map +1 -0
- package/dist/config/loadAndroidIntegration.js +34 -0
- package/dist/config/loadAndroidIntegration.js.map +1 -0
- package/dist/config/loadManifest.d.ts +3 -0
- package/dist/config/loadManifest.d.ts.map +1 -0
- package/dist/config/loadManifest.js +33 -0
- package/dist/config/loadManifest.js.map +1 -0
- package/dist/config/meetSdkDefaultConfig.d.ts +5 -0
- package/dist/config/meetSdkDefaultConfig.d.ts.map +1 -0
- package/dist/config/meetSdkDefaultConfig.js +15 -0
- package/dist/config/meetSdkDefaultConfig.js.map +1 -0
- package/dist/config/meetSdkRemoteConfig.d.ts +240 -0
- package/dist/config/meetSdkRemoteConfig.d.ts.map +1 -0
- package/dist/config/meetSdkRemoteConfig.js +892 -0
- package/dist/config/meetSdkRemoteConfig.js.map +1 -0
- package/dist/config/topsdkFeatureModules.d.ts +19 -0
- package/dist/config/topsdkFeatureModules.d.ts.map +1 -0
- package/dist/config/topsdkFeatureModules.js +47 -0
- package/dist/config/topsdkFeatureModules.js.map +1 -0
- package/dist/contracts/types.d.ts +95 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +2 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/engine.d.ts +3 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +18 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/patch.d.ts +2 -0
- package/dist/core/patch.d.ts.map +1 -0
- package/dist/core/patch.js +61 -0
- package/dist/core/patch.js.map +1 -0
- package/dist/core/pipeline.d.ts +12 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +102 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/previewPatches.d.ts +8 -0
- package/dist/core/previewPatches.d.ts.map +1 -0
- package/dist/core/previewPatches.js +25 -0
- package/dist/core/previewPatches.js.map +1 -0
- package/dist/core/reporter.d.ts +3 -0
- package/dist/core/reporter.d.ts.map +1 -0
- package/dist/core/reporter.js +24 -0
- package/dist/core/reporter.js.map +1 -0
- package/dist/core/resolveFetchChannelType.d.ts +27 -0
- package/dist/core/resolveFetchChannelType.d.ts.map +1 -0
- package/dist/core/resolveFetchChannelType.js +54 -0
- package/dist/core/resolveFetchChannelType.js.map +1 -0
- package/dist/core/workspace.d.ts +5 -0
- package/dist/core/workspace.d.ts.map +1 -0
- package/dist/core/workspace.js +24 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/entry.d.ts +3 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +7 -0
- package/dist/entry.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/ios/channelConfig.d.ts +7 -0
- package/dist/ios/channelConfig.d.ts.map +1 -0
- package/dist/ios/channelConfig.js +51 -0
- package/dist/ios/channelConfig.js.map +1 -0
- package/dist/ios/codeUtils.d.ts +15 -0
- package/dist/ios/codeUtils.d.ts.map +1 -0
- package/dist/ios/codeUtils.js +166 -0
- package/dist/ios/codeUtils.js.map +1 -0
- package/dist/ios/detect.d.ts +3 -0
- package/dist/ios/detect.d.ts.map +1 -0
- package/dist/ios/detect.js +65 -0
- package/dist/ios/detect.js.map +1 -0
- package/dist/ios/fileManager.d.ts +12 -0
- package/dist/ios/fileManager.d.ts.map +1 -0
- package/dist/ios/fileManager.js +46 -0
- package/dist/ios/fileManager.js.map +1 -0
- package/dist/ios/infoPlist.d.ts +11 -0
- package/dist/ios/infoPlist.d.ts.map +1 -0
- package/dist/ios/infoPlist.js +48 -0
- package/dist/ios/infoPlist.js.map +1 -0
- package/dist/ios/integrate.d.ts +12 -0
- package/dist/ios/integrate.d.ts.map +1 -0
- package/dist/ios/integrate.js +263 -0
- package/dist/ios/integrate.js.map +1 -0
- package/dist/ios/pbxprojEditor.d.ts +20 -0
- package/dist/ios/pbxprojEditor.d.ts.map +1 -0
- package/dist/ios/pbxprojEditor.js +198 -0
- package/dist/ios/pbxprojEditor.js.map +1 -0
- package/dist/ios/pluginConfig.d.ts +6 -0
- package/dist/ios/pluginConfig.d.ts.map +1 -0
- package/dist/ios/pluginConfig.js +64 -0
- package/dist/ios/pluginConfig.js.map +1 -0
- package/dist/ios/reserved.d.ts +4 -0
- package/dist/ios/reserved.d.ts.map +1 -0
- package/dist/ios/reserved.js +6 -0
- package/dist/ios/reserved.js.map +1 -0
- package/dist/ios/sdkBundle.d.ts +7 -0
- package/dist/ios/sdkBundle.d.ts.map +1 -0
- package/dist/ios/sdkBundle.js +30 -0
- package/dist/ios/sdkBundle.js.map +1 -0
- package/dist/ios/template.d.ts +3 -0
- package/dist/ios/template.d.ts.map +1 -0
- package/dist/ios/template.js +24 -0
- package/dist/ios/template.js.map +1 -0
- package/dist/ios/types.d.ts +43 -0
- package/dist/ios/types.d.ts.map +1 -0
- package/dist/ios/types.js +11 -0
- package/dist/ios/types.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +139 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/service.d.ts +49 -0
- package/dist/mcp/service.d.ts.map +1 -0
- package/dist/mcp/service.js +113 -0
- package/dist/mcp/service.js.map +1 -0
- package/dist/mcp-entry.d.ts +3 -0
- package/dist/mcp-entry.d.ts.map +1 -0
- package/dist/mcp-entry.js +7 -0
- package/dist/mcp-entry.js.map +1 -0
- package/dist/ops/fileStore.d.ts +17 -0
- package/dist/ops/fileStore.d.ts.map +1 -0
- package/dist/ops/fileStore.js +55 -0
- package/dist/ops/fileStore.js.map +1 -0
- package/dist/ops/handlers.d.ts +10 -0
- package/dist/ops/handlers.d.ts.map +1 -0
- package/dist/ops/handlers.js +268 -0
- package/dist/ops/handlers.js.map +1 -0
- package/dist/platforms/android/adapter.d.ts +3 -0
- package/dist/platforms/android/adapter.d.ts.map +1 -0
- package/dist/platforms/android/adapter.js +8 -0
- package/dist/platforms/android/adapter.js.map +1 -0
- package/dist/platforms/android/detect.d.ts +3 -0
- package/dist/platforms/android/detect.d.ts.map +1 -0
- package/dist/platforms/android/detect.js +79 -0
- package/dist/platforms/android/detect.js.map +1 -0
- package/dist/platforms/android/gradle.d.ts +30 -0
- package/dist/platforms/android/gradle.d.ts.map +1 -0
- package/dist/platforms/android/gradle.js +83 -0
- package/dist/platforms/android/gradle.js.map +1 -0
- package/dist/platforms/android/manifest.d.ts +7 -0
- package/dist/platforms/android/manifest.d.ts.map +1 -0
- package/dist/platforms/android/manifest.js +24 -0
- package/dist/platforms/android/manifest.js.map +1 -0
- package/dist/platforms/ios/adapter.d.ts +3 -0
- package/dist/platforms/ios/adapter.d.ts.map +1 -0
- package/dist/platforms/ios/adapter.js +8 -0
- package/dist/platforms/ios/adapter.js.map +1 -0
- package/dist/platforms/ios/detect.d.ts +8 -0
- package/dist/platforms/ios/detect.d.ts.map +1 -0
- package/dist/platforms/ios/detect.js +67 -0
- package/dist/platforms/ios/detect.js.map +1 -0
- package/dist/platforms/ios/plist.d.ts +11 -0
- package/dist/platforms/ios/plist.d.ts.map +1 -0
- package/dist/platforms/ios/plist.js +24 -0
- package/dist/platforms/ios/plist.js.map +1 -0
- package/dist/platforms/ios/podfile.d.ts +7 -0
- package/dist/platforms/ios/podfile.d.ts.map +1 -0
- package/dist/platforms/ios/podfile.js +15 -0
- package/dist/platforms/ios/podfile.js.map +1 -0
- package/dist/remote/fetchJson.d.ts +5 -0
- package/dist/remote/fetchJson.d.ts.map +1 -0
- package/dist/remote/fetchJson.js +24 -0
- package/dist/remote/fetchJson.js.map +1 -0
- package/dist/remote/topsdkDownloadSdkConfig.d.ts +23 -0
- package/dist/remote/topsdkDownloadSdkConfig.d.ts.map +1 -0
- package/dist/remote/topsdkDownloadSdkConfig.js +56 -0
- package/dist/remote/topsdkDownloadSdkConfig.js.map +1 -0
- package/dist/remote/topsdkGetSdkConfig.d.ts +46 -0
- package/dist/remote/topsdkGetSdkConfig.d.ts.map +1 -0
- package/dist/remote/topsdkGetSdkConfig.js +95 -0
- package/dist/remote/topsdkGetSdkConfig.js.map +1 -0
- package/dist/remote/topsdkSign.d.ts +6 -0
- package/dist/remote/topsdkSign.d.ts.map +1 -0
- package/dist/remote/topsdkSign.js +10 -0
- package/dist/remote/topsdkSign.js.map +1 -0
- package/docs/ANDROID.md +133 -0
- package/docs/API.md +47 -0
- package/docs/CURSOR-MCP-SETUP.md +72 -0
- package/docs/MCP-SKILL.md +63 -0
- package/docs/README.md +12 -0
- package/docs/api/downloadSDKConfig.md +96 -0
- package/docs/api/getChannelConfig-meetgames.md +106 -0
- package/docs/api/getSDKConfig.md +38 -0
- package/docs//346/212/200/346/234/257/346/226/271/346/241/210/350/260/203/347/240/224.md +329 -0
- package/docs//351/234/200/346/261/202/346/226/207/346/241/243.md +320 -0
- package/fixtures/api-samples/getChannelConfig-meetgames.sample.json +123 -0
- package/fixtures/meetsdk-remote-config.download-shape.json +20 -0
- package/fixtures/meetsdk-remote-config.mock.json +69 -0
- package/fixtures/recipes/android-default.fixture.yaml +15 -0
- package/fixtures/recipes/android-integration.fixture.json +29 -0
- package/fixtures/topsdk-config-reference.json +39 -0
- package/meetsdk-android.json +151 -0
- package/package.json +61 -0
- package/recipes/android-default.yaml +15 -0
- package/recipes/integrate-default.yaml +16 -0
- package/recipes/ios-default.yaml +5 -0
- package/schema/android-integration.schema.json +65 -0
- package/schema/manifest.schema.json +45 -0
- package/schema/meetsdk-remote-config.schema.json +45 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { build as buildPlist, parse as parsePlist } from "plist";
|
|
2
|
+
export function parsePlistXml(xml) {
|
|
3
|
+
const parsed = parsePlist(xml);
|
|
4
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
5
|
+
return {};
|
|
6
|
+
}
|
|
7
|
+
return parsed;
|
|
8
|
+
}
|
|
9
|
+
export function buildPlistXml(data) {
|
|
10
|
+
return buildPlist(data);
|
|
11
|
+
}
|
|
12
|
+
export function addPlistParam(data, key, value) {
|
|
13
|
+
data[key] = value;
|
|
14
|
+
}
|
|
15
|
+
export function setAppTransportSecurity(data, open) {
|
|
16
|
+
const security = data.NSAppTransportSecurity ?? {};
|
|
17
|
+
security.NSAllowsArbitraryLoads = open;
|
|
18
|
+
data.NSAppTransportSecurity = security;
|
|
19
|
+
}
|
|
20
|
+
export function addQueriesScheme(data, scheme) {
|
|
21
|
+
if (!scheme)
|
|
22
|
+
return;
|
|
23
|
+
const schemes = Array.isArray(data.LSApplicationQueriesSchemes)
|
|
24
|
+
? [...data.LSApplicationQueriesSchemes]
|
|
25
|
+
: [];
|
|
26
|
+
if (schemes.includes(scheme))
|
|
27
|
+
return;
|
|
28
|
+
schemes.push(scheme);
|
|
29
|
+
data.LSApplicationQueriesSchemes = schemes;
|
|
30
|
+
}
|
|
31
|
+
export function addUrlScheme(data, urlScheme) {
|
|
32
|
+
if (!urlScheme)
|
|
33
|
+
return;
|
|
34
|
+
const types = Array.isArray(data.CFBundleURLTypes)
|
|
35
|
+
? [...data.CFBundleURLTypes]
|
|
36
|
+
: [];
|
|
37
|
+
for (const entry of types) {
|
|
38
|
+
const urls = entry.CFBundleURLSchemes;
|
|
39
|
+
if (urls?.includes(urlScheme))
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
types.push({
|
|
43
|
+
CFBundleTypeRole: "Editor",
|
|
44
|
+
CFBundleURLSchemes: [urlScheme],
|
|
45
|
+
});
|
|
46
|
+
data.CFBundleURLTypes = types;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=infoPlist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infoPlist.js","sourceRoot":"","sources":["../../src/ios/infoPlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC;AAOjE,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA6B;IACzD,OAAO,UAAU,CAAC,IAAwC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA6B,EAAE,GAAW,EAAE,KAAa;IACrF,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA6B,EAAE,IAAa;IAClF,MAAM,QAAQ,GACX,IAAI,CAAC,sBAA8D,IAAI,EAAE,CAAC;IAC7E,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAA6B,EAAE,MAAc;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC;QAC7D,CAAC,CAAC,CAAC,GAAI,IAAI,CAAC,2BAAwC,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO;IACrC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAA6B,EAAE,SAAiB;IAC3E,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAChD,CAAC,CAAC,CAAC,GAAI,IAAI,CAAC,gBAAmD,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,kBAA0C,CAAC;QAC9D,IAAI,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC;QACT,gBAAgB,EAAE,QAAQ;QAC1B,kBAAkB,EAAE,CAAC,SAAS,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StepResult, WorkspaceContext } from "../contracts/types.js";
|
|
2
|
+
import type { TextFileStore } from "../ops/fileStore.js";
|
|
3
|
+
import type { BinaryCopy } from "../ops/handlers.js";
|
|
4
|
+
import { type PerformSetting } from "./types.js";
|
|
5
|
+
export interface IosIntegrateOptions {
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
targetName?: string;
|
|
8
|
+
executeAppDelegate?: boolean;
|
|
9
|
+
performSettings?: readonly PerformSetting[];
|
|
10
|
+
}
|
|
11
|
+
export declare function runIosIntegrateTopSdk(ctx: WorkspaceContext, store: TextFileStore, binaryCopies: BinaryCopy[], options?: IosIntegrateOptions): Promise<StepResult>;
|
|
12
|
+
//# sourceMappingURL=integrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/ios/integrate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AA4B3E,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAyID,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,UAAU,CAAC,CAoGrB"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { MEETSDK_REMOTE_CONFIG_FILENAME, tryParseAsMeetSdkRemoteConfig, validateMeetSdkRemoteConfig, } from "../config/meetSdkRemoteConfig.js";
|
|
4
|
+
import { buildChannelConfigMap, enabledIosPluginFolders } from "./channelConfig.js";
|
|
5
|
+
import { CodeUtils, findDelegateFiles } from "./codeUtils.js";
|
|
6
|
+
import { DEFAULT_PERFORM_SETTINGS } from "./types.js";
|
|
7
|
+
import { TopSdkFileManager } from "./fileManager.js";
|
|
8
|
+
import { addPlistParam, addQueriesScheme, addUrlScheme, buildPlistXml, parsePlistXml, setAppTransportSecurity, } from "./infoPlist.js";
|
|
9
|
+
import { addOtherLinkerFlag, addSourceOrResourceFile, addSystemFramework, addSystemLib, addThirdPartyFramework, ensureInfoPlistInProject, findInfoPlistPathsFromPbx, loadPbxFromStore, savePbxToStore, setBuildSetting, } from "./pbxprojEditor.js";
|
|
10
|
+
import { findPluginByFolder, listSdkCoreConfigs } from "./pluginConfig.js";
|
|
11
|
+
import { resolveIosSdkRoot } from "./sdkBundle.js";
|
|
12
|
+
import { applyChannelTemplate } from "./template.js";
|
|
13
|
+
function ok(changed, warnings = []) {
|
|
14
|
+
return { ok: true, changedFiles: changed, warnings, errors: [] };
|
|
15
|
+
}
|
|
16
|
+
function fail(errors) {
|
|
17
|
+
return { ok: false, changedFiles: [], warnings: [], errors };
|
|
18
|
+
}
|
|
19
|
+
function applyPlugin(loaded, pbx, fm, channelConfig, perform, binaryCopies, dryRun) {
|
|
20
|
+
const { config, sourceDir } = loaded;
|
|
21
|
+
const srcRoot = pbx.srcRoot;
|
|
22
|
+
if (perform.includes("frameworks") && config.frameworks?.length) {
|
|
23
|
+
for (const fw of config.frameworks) {
|
|
24
|
+
if (fw.system) {
|
|
25
|
+
addSystemFramework(pbx, fw.name);
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const src = path.join(sourceDir, fw.name);
|
|
29
|
+
if (!fs.existsSync(src))
|
|
30
|
+
continue;
|
|
31
|
+
const relTo = path.join(fm.topSdkRel, path.basename(src)).split(path.sep).join("/");
|
|
32
|
+
if (dryRun) {
|
|
33
|
+
binaryCopies.push({ fromAbs: src, relTo });
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
fm.copyFramework(src);
|
|
37
|
+
}
|
|
38
|
+
addThirdPartyFramework(pbx, relTo, Boolean(fw.embed));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (perform.includes("libs") && config.libs?.length) {
|
|
42
|
+
for (const lib of config.libs) {
|
|
43
|
+
if (lib.system) {
|
|
44
|
+
addSystemLib(pbx, lib.name);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const src = path.join(sourceDir, lib.name);
|
|
48
|
+
if (!fs.existsSync(src))
|
|
49
|
+
continue;
|
|
50
|
+
const relTo = path.join(fm.topSdkRel, path.basename(src)).split(path.sep).join("/");
|
|
51
|
+
if (dryRun)
|
|
52
|
+
binaryCopies.push({ fromAbs: src, relTo });
|
|
53
|
+
else
|
|
54
|
+
fm.copyFile(src);
|
|
55
|
+
addSourceOrResourceFile(pbx, relTo);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (perform.includes("sources") && config.sources?.length) {
|
|
59
|
+
for (const source of config.sources) {
|
|
60
|
+
const src = path.join(sourceDir, source);
|
|
61
|
+
if (!fs.existsSync(src))
|
|
62
|
+
continue;
|
|
63
|
+
if (fs.statSync(src).isDirectory() &&
|
|
64
|
+
!src.endsWith(".bundle") &&
|
|
65
|
+
!src.endsWith(".framework") &&
|
|
66
|
+
!src.endsWith(".xcdatamodeld")) {
|
|
67
|
+
if (!dryRun) {
|
|
68
|
+
const copied = fm.copyDir(src);
|
|
69
|
+
const walk = (dir) => {
|
|
70
|
+
for (const name of fs.readdirSync(dir)) {
|
|
71
|
+
const full = path.join(dir, name);
|
|
72
|
+
if (fs.statSync(full).isDirectory()) {
|
|
73
|
+
if (name.endsWith(".bundle")) {
|
|
74
|
+
addSourceOrResourceFile(pbx, fm.relFromSrc(full));
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
walk(full);
|
|
78
|
+
}
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (/\.(h|m|mm|plist|a)$/.test(name)) {
|
|
82
|
+
addSourceOrResourceFile(pbx, fm.relFromSrc(full));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
walk(copied);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const relTo = path.join(fm.topSdkRel, path.basename(src)).split(path.sep).join("/");
|
|
91
|
+
if (dryRun)
|
|
92
|
+
binaryCopies.push({ fromAbs: src, relTo });
|
|
93
|
+
else if (fs.statSync(src).isDirectory())
|
|
94
|
+
fm.copyDir(src);
|
|
95
|
+
else
|
|
96
|
+
fm.copyFile(src);
|
|
97
|
+
addSourceOrResourceFile(pbx, relTo);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (perform.includes("buildSettings") && config.buildSettings) {
|
|
102
|
+
for (const [k, v] of Object.entries(config.buildSettings)) {
|
|
103
|
+
setBuildSetting(pbx, k, v);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (perform.includes("OtherLinkerFlags") && config.OtherLinkerFlags?.length) {
|
|
107
|
+
for (const flag of config.OtherLinkerFlags) {
|
|
108
|
+
addOtherLinkerFlag(pbx, flag);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function mergePlistParams(docs, loaded, channelConfig, perform) {
|
|
113
|
+
if (!perform.includes("infoParams") && !perform.includes("urlScheme") && !perform.includes("queriesSchemes")) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
for (const doc of docs) {
|
|
117
|
+
if (perform.includes("infoParams") && loaded.config.infoParams) {
|
|
118
|
+
for (const [key, raw] of Object.entries(loaded.config.infoParams)) {
|
|
119
|
+
addPlistParam(doc.data, key, applyChannelTemplate(raw, channelConfig));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (perform.includes("queriesSchemes") && loaded.config.queriesSchemes?.length) {
|
|
123
|
+
for (const scheme of loaded.config.queriesSchemes) {
|
|
124
|
+
addQueriesScheme(doc.data, scheme);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (perform.includes("urlScheme") && loaded.config.urlScheme) {
|
|
128
|
+
let scheme = applyChannelTemplate(loaded.config.urlScheme, channelConfig);
|
|
129
|
+
if (scheme.endsWith("://"))
|
|
130
|
+
scheme = scheme.replace("://", "");
|
|
131
|
+
addUrlScheme(doc.data, scheme);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export async function runIosIntegrateTopSdk(ctx, store, binaryCopies, options = {}) {
|
|
136
|
+
if (!ctx.ios?.ok)
|
|
137
|
+
return fail(["iOS project not detected"]);
|
|
138
|
+
const warnings = [];
|
|
139
|
+
const changed = new Set();
|
|
140
|
+
const configPath = path.join(ctx.projectRoot, MEETSDK_REMOTE_CONFIG_FILENAME);
|
|
141
|
+
if (!fs.existsSync(configPath)) {
|
|
142
|
+
return fail([`${MEETSDK_REMOTE_CONFIG_FILENAME} not found; run fetch-config or setup first`]);
|
|
143
|
+
}
|
|
144
|
+
let remote;
|
|
145
|
+
try {
|
|
146
|
+
remote = tryParseAsMeetSdkRemoteConfig(JSON.parse(fs.readFileSync(configPath, "utf8")));
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
return fail([e instanceof Error ? e.message : String(e)]);
|
|
150
|
+
}
|
|
151
|
+
if (!remote) {
|
|
152
|
+
return fail([`invalid ${MEETSDK_REMOTE_CONFIG_FILENAME}`]);
|
|
153
|
+
}
|
|
154
|
+
const validation = validateMeetSdkRemoteConfig(remote);
|
|
155
|
+
if (!validation.ok) {
|
|
156
|
+
warnings.push(`remote config missing fields: ${validation.missing.join(", ")}`);
|
|
157
|
+
}
|
|
158
|
+
let sdkRoot;
|
|
159
|
+
try {
|
|
160
|
+
sdkRoot = resolveIosSdkRoot(ctx.packageRoot);
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
return fail([e instanceof Error ? e.message : String(e)]);
|
|
164
|
+
}
|
|
165
|
+
const targetName = options.targetName ?? ctx.ios.targetName ?? path.basename(ctx.ios.xcodeprojPath, ".xcodeproj");
|
|
166
|
+
const perform = options.performSettings ?? DEFAULT_PERFORM_SETTINGS;
|
|
167
|
+
const executeAppDelegate = options.executeAppDelegate !== false;
|
|
168
|
+
const dryRun = Boolean(options.dryRun);
|
|
169
|
+
const channelConfig = buildChannelConfigMap(remote);
|
|
170
|
+
const coreConfigs = listSdkCoreConfigs(sdkRoot);
|
|
171
|
+
const pluginFolders = enabledIosPluginFolders(remote);
|
|
172
|
+
const pluginConfigs = [];
|
|
173
|
+
for (const folder of pluginFolders) {
|
|
174
|
+
const p = findPluginByFolder(sdkRoot, folder);
|
|
175
|
+
if (p)
|
|
176
|
+
pluginConfigs.push(p);
|
|
177
|
+
else
|
|
178
|
+
warnings.push(`iOS plugin folder not in SDK package: plugins/${folder}`);
|
|
179
|
+
}
|
|
180
|
+
const xcodeprojPath = ctx.ios.xcodeprojPath;
|
|
181
|
+
const pbx = await loadPbxFromStore(store, ctx.projectRoot, xcodeprojPath, targetName);
|
|
182
|
+
const fm = new TopSdkFileManager(pbx.srcRoot);
|
|
183
|
+
for (const loaded of coreConfigs) {
|
|
184
|
+
applyPlugin(loaded, pbx, fm, channelConfig, perform, binaryCopies, dryRun);
|
|
185
|
+
}
|
|
186
|
+
for (const loaded of pluginConfigs) {
|
|
187
|
+
applyPlugin(loaded, pbx, fm, channelConfig, perform, binaryCopies, dryRun);
|
|
188
|
+
}
|
|
189
|
+
const plistDocs = await ensureInfoPlists(store, ctx, pbx, targetName, changed);
|
|
190
|
+
for (const loaded of [...coreConfigs, ...pluginConfigs]) {
|
|
191
|
+
mergePlistParams(plistDocs, loaded, channelConfig, perform);
|
|
192
|
+
if (perform.includes("infoParams")) {
|
|
193
|
+
setAppTransportSecurity(plistDocs[0]?.data ?? {}, true);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
for (const doc of plistDocs) {
|
|
197
|
+
const rel = path.relative(ctx.projectRoot, path.join(pbx.srcRoot, doc.relPath)).split(path.sep).join("/");
|
|
198
|
+
store.write(rel, buildPlistXml(doc.data));
|
|
199
|
+
changed.add(rel);
|
|
200
|
+
}
|
|
201
|
+
savePbxToStore(store, pbx);
|
|
202
|
+
changed.add(pbx.rel);
|
|
203
|
+
if (executeAppDelegate) {
|
|
204
|
+
const delegateRelPaths = [];
|
|
205
|
+
for (const abs of findDelegateFiles(pbx.srcRoot)) {
|
|
206
|
+
delegateRelPaths.push(path.relative(ctx.projectRoot, abs).split(path.sep).join("/"));
|
|
207
|
+
}
|
|
208
|
+
if (!delegateRelPaths.length) {
|
|
209
|
+
warnings.push("no UIApplicationDelegate .m/.mm found; skipped AppDelegate injection (SwiftUI @main is not supported yet)");
|
|
210
|
+
}
|
|
211
|
+
for (const rel of delegateRelPaths) {
|
|
212
|
+
const cu = CodeUtils.fromFile(path.join(ctx.projectRoot, rel));
|
|
213
|
+
let okInject = true;
|
|
214
|
+
for (const loaded of [...coreConfigs, ...pluginConfigs]) {
|
|
215
|
+
for (const code of loaded.config.appDelegateCodes ?? []) {
|
|
216
|
+
if (code.type === "header") {
|
|
217
|
+
if (!cu.addHeader(code.content))
|
|
218
|
+
okInject = false;
|
|
219
|
+
}
|
|
220
|
+
else if ((code.type === "method" || code.type === "code") && code.method) {
|
|
221
|
+
if (!cu.addCodeToMethod(code.method, code.content, Boolean(code.addToReturn)))
|
|
222
|
+
okInject = false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (!okInject)
|
|
227
|
+
warnings.push(`AppDelegate injection incomplete for ${rel}`);
|
|
228
|
+
const before = store.read(rel);
|
|
229
|
+
cu.applyToStore((c) => store.write(rel, c));
|
|
230
|
+
if (store.read(rel) !== before)
|
|
231
|
+
changed.add(rel);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return ok([...changed], warnings);
|
|
235
|
+
}
|
|
236
|
+
async function ensureInfoPlists(store, ctx, pbx, targetName, changed) {
|
|
237
|
+
const absPaths = findInfoPlistPathsFromPbx(pbx);
|
|
238
|
+
if (absPaths.length) {
|
|
239
|
+
return absPaths.map((abs) => {
|
|
240
|
+
const rel = path.relative(ctx.projectRoot, abs).split(path.sep).join("/");
|
|
241
|
+
const xml = store.read(rel) || (fs.existsSync(abs) ? fs.readFileSync(abs, "utf8") : "");
|
|
242
|
+
return { relPath: path.relative(pbx.srcRoot, abs).split(path.sep).join("/"), data: parsePlistXml(xml) };
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
const relPlist = path.join(targetName, "Info.plist").split(path.sep).join("/");
|
|
246
|
+
ensureInfoPlistInProject(pbx, targetName, relPlist);
|
|
247
|
+
const abs = path.join(pbx.srcRoot, relPlist);
|
|
248
|
+
fs.mkdirSync(path.dirname(abs), { recursive: true });
|
|
249
|
+
const data = {
|
|
250
|
+
CFBundleDevelopmentRegion: "$(DEVELOPMENT_LANGUAGE)",
|
|
251
|
+
CFBundleExecutable: "$(EXECUTABLE_NAME)",
|
|
252
|
+
CFBundleIdentifier: "$(PRODUCT_BUNDLE_IDENTIFIER)",
|
|
253
|
+
CFBundleName: "$(PRODUCT_NAME)",
|
|
254
|
+
CFBundlePackageType: "APPL",
|
|
255
|
+
CFBundleShortVersionString: "1.0",
|
|
256
|
+
CFBundleVersion: "1",
|
|
257
|
+
};
|
|
258
|
+
const relFromProject = path.relative(ctx.projectRoot, abs).split(path.sep).join("/");
|
|
259
|
+
store.write(relFromProject, buildPlistXml(data));
|
|
260
|
+
changed.add(relFromProject);
|
|
261
|
+
return [{ relPath: relPlist, data }];
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=integrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/ios/integrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TextFileStore } from "../ops/fileStore.js";
|
|
2
|
+
type XcodeProject = any;
|
|
3
|
+
export interface PbxContext {
|
|
4
|
+
rel: string;
|
|
5
|
+
proj: XcodeProject;
|
|
6
|
+
srcRoot: string;
|
|
7
|
+
targetName: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function loadPbxFromStore(store: TextFileStore, projectRoot: string, xcodeprojPath: string, targetName: string): Promise<PbxContext>;
|
|
10
|
+
export declare function savePbxToStore(store: TextFileStore, ctx: PbxContext): void;
|
|
11
|
+
export declare function addThirdPartyFramework(ctx: PbxContext, relPathFromSrcRoot: string, embed: boolean): void;
|
|
12
|
+
export declare function addSystemFramework(ctx: PbxContext, frameworkName: string): void;
|
|
13
|
+
export declare function addSystemLib(ctx: PbxContext, libName: string): void;
|
|
14
|
+
export declare function addSourceOrResourceFile(ctx: PbxContext, relPathFromSrcRoot: string): void;
|
|
15
|
+
export declare function setBuildSetting(ctx: PbxContext, key: string, value: string): void;
|
|
16
|
+
export declare function addOtherLinkerFlag(ctx: PbxContext, flag: string): void;
|
|
17
|
+
export declare function findInfoPlistPathsFromPbx(ctx: PbxContext): string[];
|
|
18
|
+
export declare function ensureInfoPlistInProject(ctx: PbxContext, _targetName: string, relPlist: string): void;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=pbxprojEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbxprojEditor.d.ts","sourceRoot":"","sources":["../../src/ios/pbxprojEditor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,KAAK,YAAY,GAAG,GAAG,CAAC;AAOxB,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAcrB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAE1E;AA4BD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CASxG;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAO/E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOnE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAezF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiBjF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAwBtE;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CA0BnE;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGrG"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { createRequire } from "node:module";
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
const xcode = require("xcode");
|
|
7
|
+
function parseProjectFromContent(content) {
|
|
8
|
+
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "meet-pbx-"));
|
|
9
|
+
const pbxprojPath = path.join(dir, "project.pbxproj");
|
|
10
|
+
fs.writeFileSync(pbxprojPath, content, "utf8");
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
const proj = xcode.project(pbxprojPath);
|
|
13
|
+
proj.parse((err) => {
|
|
14
|
+
if (err)
|
|
15
|
+
reject(err);
|
|
16
|
+
else
|
|
17
|
+
resolve(proj);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export async function loadPbxFromStore(store, projectRoot, xcodeprojPath, targetName) {
|
|
22
|
+
const rel = path.relative(projectRoot, path.join(xcodeprojPath, "project.pbxproj")).split(path.sep).join("/");
|
|
23
|
+
const content = store.read(rel);
|
|
24
|
+
const proj = await parseProjectFromContent(content);
|
|
25
|
+
const xcodeprojDir = path.dirname(xcodeprojPath);
|
|
26
|
+
let srcRoot = xcodeprojDir;
|
|
27
|
+
const first = proj.getFirstProject?.()?.firstProject;
|
|
28
|
+
const projectDirPath = first?.projectDirPath
|
|
29
|
+
? String(first.projectDirPath).replace(/^"|"$/g, "").trim()
|
|
30
|
+
: "";
|
|
31
|
+
if (projectDirPath.length > 0) {
|
|
32
|
+
srcRoot = path.resolve(xcodeprojDir, projectDirPath);
|
|
33
|
+
}
|
|
34
|
+
return { rel, proj, srcRoot, targetName };
|
|
35
|
+
}
|
|
36
|
+
export function savePbxToStore(store, ctx) {
|
|
37
|
+
store.write(ctx.rel, ctx.proj.writeSync());
|
|
38
|
+
}
|
|
39
|
+
function targetUuid(proj, targetName) {
|
|
40
|
+
const targets = proj.pbxNativeTargetSection?.() ?? {};
|
|
41
|
+
for (const [uuid, t] of Object.entries(targets)) {
|
|
42
|
+
if (uuid.endsWith("_comment"))
|
|
43
|
+
continue;
|
|
44
|
+
const name = t.name?.replace(/"/g, "");
|
|
45
|
+
if (name === targetName)
|
|
46
|
+
return uuid;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
function targetKey(proj, targetName) {
|
|
51
|
+
const uuid = targetUuid(proj, targetName);
|
|
52
|
+
if (!uuid)
|
|
53
|
+
throw new Error(`Xcode target not found: ${targetName}`);
|
|
54
|
+
return uuid;
|
|
55
|
+
}
|
|
56
|
+
function ensureResourcesBuildPhase(proj, targetName) {
|
|
57
|
+
const target = targetKey(proj, targetName);
|
|
58
|
+
try {
|
|
59
|
+
proj.pbxResourcesBuildPhaseObj(target);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
proj.addBuildPhase([], "PBXResourcesBuildPhase", "Resources", target);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export function addThirdPartyFramework(ctx, relPathFromSrcRoot, embed) {
|
|
67
|
+
const file = relPathFromSrcRoot.split(path.sep).join("/");
|
|
68
|
+
const target = targetKey(ctx.proj, ctx.targetName);
|
|
69
|
+
ctx.proj.addFramework(file, {
|
|
70
|
+
customFramework: true,
|
|
71
|
+
embed,
|
|
72
|
+
sign: true,
|
|
73
|
+
target,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export function addSystemFramework(ctx, frameworkName) {
|
|
77
|
+
const target = targetKey(ctx.proj, ctx.targetName);
|
|
78
|
+
ctx.proj.addFramework(`System/Library/Frameworks/${frameworkName}`, {
|
|
79
|
+
customFramework: false,
|
|
80
|
+
weak: false,
|
|
81
|
+
target,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
export function addSystemLib(ctx, libName) {
|
|
85
|
+
const target = targetKey(ctx.proj, ctx.targetName);
|
|
86
|
+
ctx.proj.addFramework(`usr/lib/${libName}`, {
|
|
87
|
+
customFramework: false,
|
|
88
|
+
weak: false,
|
|
89
|
+
target,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
export function addSourceOrResourceFile(ctx, relPathFromSrcRoot) {
|
|
93
|
+
const file = relPathFromSrcRoot.split(path.sep).join("/");
|
|
94
|
+
const target = targetKey(ctx.proj, ctx.targetName);
|
|
95
|
+
if (file.endsWith(".h")) {
|
|
96
|
+
ctx.proj.addHeaderFile(file, { target });
|
|
97
|
+
}
|
|
98
|
+
else if (file.endsWith(".m") || file.endsWith(".mm") || file.endsWith(".swift")) {
|
|
99
|
+
ctx.proj.addSourceFile(file, { target });
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
ensureResourcesBuildPhase(ctx.proj, ctx.targetName);
|
|
103
|
+
const opt = { target };
|
|
104
|
+
if (file.endsWith(".xcdatamodeld")) {
|
|
105
|
+
opt.lastKnownFileType = "wrapper.xcdatamodel";
|
|
106
|
+
}
|
|
107
|
+
ctx.proj.addResourceFile(file, opt);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export function setBuildSetting(ctx, key, value) {
|
|
111
|
+
const uuid = targetUuid(ctx.proj, ctx.targetName);
|
|
112
|
+
if (!uuid)
|
|
113
|
+
return;
|
|
114
|
+
const native = ctx.proj.pbxNativeTargetSection?.()[uuid];
|
|
115
|
+
const listId = native?.buildConfigurationList;
|
|
116
|
+
const lists = ctx.proj.pbxXCConfigurationList?.() ?? {};
|
|
117
|
+
if (!listId || !lists[listId])
|
|
118
|
+
return;
|
|
119
|
+
const list = lists[listId];
|
|
120
|
+
const buildConfigs = ctx.proj.pbxXCBuildConfigurationSection?.() ?? {};
|
|
121
|
+
for (const entry of list.buildConfigurations ?? []) {
|
|
122
|
+
const cfgId = typeof entry === "string" ? entry : entry.value;
|
|
123
|
+
const cfg = buildConfigs[cfgId];
|
|
124
|
+
if (!cfg || typeof cfg !== "object")
|
|
125
|
+
continue;
|
|
126
|
+
const settings = cfg.buildSettings ?? {};
|
|
127
|
+
settings[key] = value;
|
|
128
|
+
cfg.buildSettings = settings;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
export function addOtherLinkerFlag(ctx, flag) {
|
|
132
|
+
const uuid = targetUuid(ctx.proj, ctx.targetName);
|
|
133
|
+
if (!uuid)
|
|
134
|
+
return;
|
|
135
|
+
const native = ctx.proj.pbxNativeTargetSection?.()[uuid];
|
|
136
|
+
const listId = native?.buildConfigurationList;
|
|
137
|
+
const lists = ctx.proj.pbxXCConfigurationList?.() ?? {};
|
|
138
|
+
if (!listId || !lists[listId])
|
|
139
|
+
return;
|
|
140
|
+
const list = lists[listId];
|
|
141
|
+
const buildConfigs = ctx.proj.pbxXCBuildConfigurationSection?.() ?? {};
|
|
142
|
+
for (const entry of list.buildConfigurations ?? []) {
|
|
143
|
+
const cfgId = typeof entry === "string" ? entry : entry.value;
|
|
144
|
+
const cfg = buildConfigs[cfgId];
|
|
145
|
+
if (!cfg || typeof cfg !== "object")
|
|
146
|
+
continue;
|
|
147
|
+
const settings = cfg.buildSettings ?? {};
|
|
148
|
+
const cur = settings.OTHER_LDFLAGS;
|
|
149
|
+
if (typeof cur === "string") {
|
|
150
|
+
if (!cur.includes(flag))
|
|
151
|
+
settings.OTHER_LDFLAGS = `${cur} ${flag}`.trim();
|
|
152
|
+
}
|
|
153
|
+
else if (Array.isArray(cur)) {
|
|
154
|
+
if (!cur.includes(flag))
|
|
155
|
+
settings.OTHER_LDFLAGS = [...cur, flag];
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
settings.OTHER_LDFLAGS = [flag];
|
|
159
|
+
}
|
|
160
|
+
cfg.buildSettings = settings;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
export function findInfoPlistPathsFromPbx(ctx) {
|
|
164
|
+
const paths = new Set();
|
|
165
|
+
const uuid = targetUuid(ctx.proj, ctx.targetName);
|
|
166
|
+
if (!uuid)
|
|
167
|
+
return [];
|
|
168
|
+
const native = ctx.proj.pbxNativeTargetSection?.()[uuid];
|
|
169
|
+
const listId = native?.buildConfigurationList;
|
|
170
|
+
const lists = ctx.proj.pbxXCConfigurationList?.() ?? {};
|
|
171
|
+
if (!listId || !lists[listId])
|
|
172
|
+
return [];
|
|
173
|
+
const list = lists[listId];
|
|
174
|
+
const buildConfigs = ctx.proj.pbxXCBuildConfigurationSection?.() ?? {};
|
|
175
|
+
for (const entry of list.buildConfigurations ?? []) {
|
|
176
|
+
const cfgId = typeof entry === "string" ? entry : entry.value;
|
|
177
|
+
const cfg = buildConfigs[cfgId];
|
|
178
|
+
const settings = cfg?.buildSettings;
|
|
179
|
+
const info = settings?.INFOPLIST_FILE;
|
|
180
|
+
if (!info)
|
|
181
|
+
continue;
|
|
182
|
+
let resolved = info.replace(/"/g, "");
|
|
183
|
+
if (resolved.includes("$(SRCROOT)")) {
|
|
184
|
+
resolved = resolved.replace(/\$\(SRCROOT\)/g, ctx.srcRoot);
|
|
185
|
+
}
|
|
186
|
+
else if (!path.isAbsolute(resolved)) {
|
|
187
|
+
resolved = path.join(ctx.srcRoot, resolved);
|
|
188
|
+
}
|
|
189
|
+
resolved = path.normalize(resolved);
|
|
190
|
+
paths.add(resolved);
|
|
191
|
+
}
|
|
192
|
+
return [...paths];
|
|
193
|
+
}
|
|
194
|
+
export function ensureInfoPlistInProject(ctx, _targetName, relPlist) {
|
|
195
|
+
setBuildSetting(ctx, "GENERATE_INFOPLIST_FILE", "NO");
|
|
196
|
+
setBuildSetting(ctx, "INFOPLIST_FILE", relPlist);
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=pbxprojEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbxprojEditor.js","sourceRoot":"","sources":["../../src/ios/pbxprojEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LoadedPluginConfig } from "./types.js";
|
|
2
|
+
export declare function loadPluginConfig(configPath: string, sdkRoot: string): LoadedPluginConfig;
|
|
3
|
+
/** Core SDK manifests: `sdk/*.json` (e.g. topsdkConfig.t.json). */
|
|
4
|
+
export declare function listSdkCoreConfigs(sdkRoot: string): LoadedPluginConfig[];
|
|
5
|
+
export declare function findPluginByFolder(sdkRoot: string, folderName: string): LoadedPluginConfig | null;
|
|
6
|
+
//# sourceMappingURL=pluginConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginConfig.d.ts","sourceRoot":"","sources":["../../src/ios/pluginConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAyCvE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAMxF;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CASxE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAKjG"}
|