@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,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gradle edits from `meetsdk-remote-config.json`, aligned with sdk-integration-agent
|
|
3
|
+
* `src/lib/gradleEditor.js` (TOPSDK marker blocks).
|
|
4
|
+
*/
|
|
5
|
+
import type { MeetSdkRemoteConfig } from "../config/meetSdkRemoteConfig.js";
|
|
6
|
+
/** Same markers as sdk-integration-agent / topsdk-agent */
|
|
7
|
+
export declare const TOPSDK_AUTO_START = "// >>> TOPSDK AUTO START";
|
|
8
|
+
export declare const TOPSDK_AUTO_END = "// >>> TOPSDK AUTO END";
|
|
9
|
+
export declare const TOPSDK_REPO_AUTO_START = "// >>> TOPSDK REPO AUTO START";
|
|
10
|
+
export declare const TOPSDK_REPO_AUTO_END = "// >>> TOPSDK REPO AUTO END";
|
|
11
|
+
export declare const TOPSDK_PLUGIN_AUTO_START = "// >>> TOPSDK PLUGIN AUTO START";
|
|
12
|
+
export declare const TOPSDK_PLUGIN_AUTO_END = "// >>> TOPSDK PLUGIN AUTO END";
|
|
13
|
+
/** Escape for values embedded in Gradle single-quoted strings */
|
|
14
|
+
export declare function escapeGradleSingleQuotedString(value: string): string;
|
|
15
|
+
/** For Groovy `"${...}"` string templates in def assignments */
|
|
16
|
+
export declare function escapeGroovyDoubleQuotedInner(value: string): string;
|
|
17
|
+
export declare function extractResValueKey(line: string): string | null;
|
|
18
|
+
/** Maven coordinate key for upsert: `group:artifact` (version ignored). */
|
|
19
|
+
export declare function mavenGroupArtifactKey(coordinate: string): string;
|
|
20
|
+
/** @deprecated Use {@link mavenGroupArtifactKey}. */
|
|
21
|
+
export declare const classpathCoordinateKey: typeof mavenGroupArtifactKey;
|
|
22
|
+
export declare function extractImplementationCoordContent(line: string): string | null;
|
|
23
|
+
/** Resolve `group:artifact` from implementation coord (`$groupId:ui:…` or literal `com.sino.topsdk:ui:1.0`). */
|
|
24
|
+
export declare function implementationGroupArtifactKey(coordContent: string, blockText: string, fallbackGroupId: string): string | null;
|
|
25
|
+
export declare function extractImplementationKey(line: string, blockText: string, fallbackGroupId: string): string | null;
|
|
26
|
+
/** Remove resValue lines whose resource name (2nd arg) is in `keys`. */
|
|
27
|
+
export declare function removeResValueLinesByKeys(blockText: string, keys: ReadonlySet<string>): string;
|
|
28
|
+
export declare function extractApplyPluginId(line: string): string | null;
|
|
29
|
+
export declare function extractClasspathCoordinate(line: string): string | null;
|
|
30
|
+
/** Remove `apply plugin` lines for the same plugin id (managed block or not). */
|
|
31
|
+
export declare function removeApplyPluginLinesByIds(text: string, pluginIds: ReadonlySet<string>): string;
|
|
32
|
+
/** Remove `classpath` lines with the same group:artifact as any target coordinate. */
|
|
33
|
+
export declare function removeClasspathLinesByCoordinates(text: string, coordinates: ReadonlySet<string>): string;
|
|
34
|
+
/** Remove repository declarations that match keys in `repositories` (google / mavenCentral / URL). */
|
|
35
|
+
export declare function removeRepositoryLinesByKeys(blockText: string, repositories: readonly string[]): string;
|
|
36
|
+
/**
|
|
37
|
+
* Upsert repository declarations: drop existing lines for the same repo keys, then write TOPSDK REPO block.
|
|
38
|
+
*/
|
|
39
|
+
export declare function mergeRepositoriesInBlock(blockText: string, repositories: readonly string[]): string;
|
|
40
|
+
/**
|
|
41
|
+
* Upsert buildscript classpaths: drop existing lines with same coordinate, then write TOPSDK AUTO block.
|
|
42
|
+
*/
|
|
43
|
+
export declare function mergeClasspathsInBlock(blockText: string, classpaths: readonly string[]): string;
|
|
44
|
+
/**
|
|
45
|
+
* Upsert module-level apply plugins on the full file: drop duplicate plugin ids, then write PLUGIN block.
|
|
46
|
+
*/
|
|
47
|
+
export declare function mergeApplyPluginsInContent(content: string, applyPlugins: readonly string[]): string;
|
|
48
|
+
/** Remove implementation lines with the same `group:artifact` as any target key. */
|
|
49
|
+
export declare function removeImplementationLinesByGroupArtifact(blockText: string, keys: ReadonlySet<string>, fallbackGroupId: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Before inserting TOPSDK managed resValue block: drop any existing lines with the same
|
|
52
|
+
* resValue keys (inside or outside markers), then insert/update the managed block.
|
|
53
|
+
*/
|
|
54
|
+
export declare function mergeResValuesInDefaultConfigBlock(blockText: string, managedSnippet: string): string;
|
|
55
|
+
export declare function updateRootBuildGradleMeetSdkRemote(content: string, params: readonly string[] | {
|
|
56
|
+
repositories: readonly string[];
|
|
57
|
+
buildscriptRepositories?: readonly string[];
|
|
58
|
+
buildscriptClasspaths?: readonly string[];
|
|
59
|
+
}): {
|
|
60
|
+
ok: true;
|
|
61
|
+
content: string;
|
|
62
|
+
changed: boolean;
|
|
63
|
+
warnings: string[];
|
|
64
|
+
} | {
|
|
65
|
+
ok: false;
|
|
66
|
+
error: string;
|
|
67
|
+
};
|
|
68
|
+
export declare function updateSettingsGradleMeetSdkRemote(content: string, repositories: readonly string[]): {
|
|
69
|
+
ok: true;
|
|
70
|
+
content: string;
|
|
71
|
+
changed: boolean;
|
|
72
|
+
warnings: string[];
|
|
73
|
+
} | {
|
|
74
|
+
ok: false;
|
|
75
|
+
error: string;
|
|
76
|
+
};
|
|
77
|
+
export declare function updateModuleBuildGradleMeetSdkRemote(content: string, config: MeetSdkRemoteConfig, applyPlugins?: readonly string[]): {
|
|
78
|
+
ok: true;
|
|
79
|
+
content: string;
|
|
80
|
+
changed: boolean;
|
|
81
|
+
warnings: string[];
|
|
82
|
+
} | {
|
|
83
|
+
ok: false;
|
|
84
|
+
error: string;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=meetSdkRemoteGradle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meetSdkRemoteGradle.d.ts","sourceRoot":"","sources":["../../src/android/meetSdkRemoteGradle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAS5E,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAC5D,eAAO,MAAM,eAAe,2BAA2B,CAAC;AACxD,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AACtE,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,wBAAwB,oCAAoC,CAAC;AAC1E,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AAEtE,iEAAiE;AACjE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,gEAAgE;AAChE,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AA+BD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,8BAAwB,CAAC;AAE5D,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7E;AAOD,gHAAgH;AAChH,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,MAAM,GAAG,IAAI,CAIf;AAED,wEAAwE;AACxE,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAQ9F;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGhE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAQhG;AAED,sFAAsF;AACtF,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAUxG;AAED,sGAAsG;AACtG,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMtG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKnG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAM/F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAYnG;AAED,oFAAoF;AACpF,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,eAAe,EAAE,MAAM,GACtB,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAoBpG;AAwFD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,MAAM,EACF,SAAS,MAAM,EAAE,GACjB;IACE,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,GACJ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA8DpG;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAcpG;AA2JD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,EAC3B,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAoDpG"}
|
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
import { buildTopSdkFeatureImplementationLines } from "../config/topsdkFeatureModules.js";
|
|
2
|
+
import { findBlockRange, replaceOrInsertManaged } from "./gradle.js";
|
|
3
|
+
import { buildSnapchatManifestPlaceholdersLine, parseSnapchatRedirectForManifestPlaceholders, removeSnapchatManifestPlaceholderLines, } from "./snapchatManifestPlaceholders.js";
|
|
4
|
+
/** Same markers as sdk-integration-agent / topsdk-agent */
|
|
5
|
+
export const TOPSDK_AUTO_START = "// >>> TOPSDK AUTO START";
|
|
6
|
+
export const TOPSDK_AUTO_END = "// >>> TOPSDK AUTO END";
|
|
7
|
+
export const TOPSDK_REPO_AUTO_START = "// >>> TOPSDK REPO AUTO START";
|
|
8
|
+
export const TOPSDK_REPO_AUTO_END = "// >>> TOPSDK REPO AUTO END";
|
|
9
|
+
export const TOPSDK_PLUGIN_AUTO_START = "// >>> TOPSDK PLUGIN AUTO START";
|
|
10
|
+
export const TOPSDK_PLUGIN_AUTO_END = "// >>> TOPSDK PLUGIN AUTO END";
|
|
11
|
+
/** Escape for values embedded in Gradle single-quoted strings */
|
|
12
|
+
export function escapeGradleSingleQuotedString(value) {
|
|
13
|
+
return value.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
|
|
14
|
+
}
|
|
15
|
+
/** For Groovy `"${...}"` string templates in def assignments */
|
|
16
|
+
export function escapeGroovyDoubleQuotedInner(value) {
|
|
17
|
+
return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
18
|
+
}
|
|
19
|
+
const RES_VALUE_KEY_RE = /resValue\s*\(\s*'[^']+'\s*,\s*'([^']+)'/;
|
|
20
|
+
const IMPLEMENTATION_COORD_RE = /implementation\s+["']([^"']+)["']/;
|
|
21
|
+
const APPLY_PLUGIN_ID_RE = /apply\s+plugin:\s*['"]([^'"]+)['"]/;
|
|
22
|
+
const CLASSPATH_COORD_RE = /classpath\s+['"]([^'"]+)['"]/;
|
|
23
|
+
const DEF_GROUP_ID_RE = /def\s+groupId\s*=\s*["']([^"']+)["']/;
|
|
24
|
+
function fullBlockTextMerge(blockText, startMarker, endMarker, snippet) {
|
|
25
|
+
return replaceOrInsertManaged(blockText, { start: 0, openBrace: 0, end: blockText.length }, startMarker, endMarker, snippet);
|
|
26
|
+
}
|
|
27
|
+
function lineDeclaresRepository(line, repo) {
|
|
28
|
+
const t = line.trim();
|
|
29
|
+
if (repo === "google")
|
|
30
|
+
return /\bgoogle\s*\(\s*\)/.test(t);
|
|
31
|
+
if (repo === "mavenCentral")
|
|
32
|
+
return /\bmavenCentral\s*\(\s*\)/.test(t);
|
|
33
|
+
if (!t.includes("maven"))
|
|
34
|
+
return false;
|
|
35
|
+
return t.includes(repo);
|
|
36
|
+
}
|
|
37
|
+
export function extractResValueKey(line) {
|
|
38
|
+
const m = line.trim().match(RES_VALUE_KEY_RE);
|
|
39
|
+
return m?.[1] ?? null;
|
|
40
|
+
}
|
|
41
|
+
/** Maven coordinate key for upsert: `group:artifact` (version ignored). */
|
|
42
|
+
export function mavenGroupArtifactKey(coordinate) {
|
|
43
|
+
const parts = coordinate.split(":");
|
|
44
|
+
return parts.length >= 2 ? `${parts[0]}:${parts[1]}` : coordinate;
|
|
45
|
+
}
|
|
46
|
+
/** @deprecated Use {@link mavenGroupArtifactKey}. */
|
|
47
|
+
export const classpathCoordinateKey = mavenGroupArtifactKey;
|
|
48
|
+
export function extractImplementationCoordContent(line) {
|
|
49
|
+
const m = line.trim().match(IMPLEMENTATION_COORD_RE);
|
|
50
|
+
return m?.[1] ?? null;
|
|
51
|
+
}
|
|
52
|
+
function resolveGroupIdFromBlock(blockText, fallbackGroupId) {
|
|
53
|
+
const m = blockText.match(DEF_GROUP_ID_RE);
|
|
54
|
+
return m?.[1] ?? fallbackGroupId;
|
|
55
|
+
}
|
|
56
|
+
/** Resolve `group:artifact` from implementation coord (`$groupId:ui:…` or literal `com.sino.topsdk:ui:1.0`). */
|
|
57
|
+
export function implementationGroupArtifactKey(coordContent, blockText, fallbackGroupId) {
|
|
58
|
+
const parts = coordContent.split(":");
|
|
59
|
+
if (parts.length < 2)
|
|
60
|
+
return null;
|
|
61
|
+
let group = parts[0].trim();
|
|
62
|
+
const artifact = parts[1].trim();
|
|
63
|
+
if (!artifact || artifact.includes("$"))
|
|
64
|
+
return null;
|
|
65
|
+
if (group === "$groupId") {
|
|
66
|
+
group = resolveGroupIdFromBlock(blockText, fallbackGroupId);
|
|
67
|
+
}
|
|
68
|
+
if (!group || group.includes("$"))
|
|
69
|
+
return null;
|
|
70
|
+
return `${group}:${artifact}`;
|
|
71
|
+
}
|
|
72
|
+
export function extractImplementationKey(line, blockText, fallbackGroupId) {
|
|
73
|
+
const content = extractImplementationCoordContent(line);
|
|
74
|
+
if (!content)
|
|
75
|
+
return null;
|
|
76
|
+
return implementationGroupArtifactKey(content, blockText, fallbackGroupId);
|
|
77
|
+
}
|
|
78
|
+
/** Remove resValue lines whose resource name (2nd arg) is in `keys`. */
|
|
79
|
+
export function removeResValueLinesByKeys(blockText, keys) {
|
|
80
|
+
return blockText
|
|
81
|
+
.split("\n")
|
|
82
|
+
.filter((line) => {
|
|
83
|
+
const key = extractResValueKey(line);
|
|
84
|
+
return !key || !keys.has(key);
|
|
85
|
+
})
|
|
86
|
+
.join("\n");
|
|
87
|
+
}
|
|
88
|
+
export function extractApplyPluginId(line) {
|
|
89
|
+
const m = line.trim().match(APPLY_PLUGIN_ID_RE);
|
|
90
|
+
return m?.[1] ?? null;
|
|
91
|
+
}
|
|
92
|
+
export function extractClasspathCoordinate(line) {
|
|
93
|
+
const m = line.trim().match(CLASSPATH_COORD_RE);
|
|
94
|
+
return m?.[1] ?? null;
|
|
95
|
+
}
|
|
96
|
+
/** Remove `apply plugin` lines for the same plugin id (managed block or not). */
|
|
97
|
+
export function removeApplyPluginLinesByIds(text, pluginIds) {
|
|
98
|
+
return text
|
|
99
|
+
.split("\n")
|
|
100
|
+
.filter((line) => {
|
|
101
|
+
const id = extractApplyPluginId(line);
|
|
102
|
+
return !id || !pluginIds.has(id);
|
|
103
|
+
})
|
|
104
|
+
.join("\n");
|
|
105
|
+
}
|
|
106
|
+
/** Remove `classpath` lines with the same group:artifact as any target coordinate. */
|
|
107
|
+
export function removeClasspathLinesByCoordinates(text, coordinates) {
|
|
108
|
+
const keys = new Set([...coordinates].map(mavenGroupArtifactKey));
|
|
109
|
+
return text
|
|
110
|
+
.split("\n")
|
|
111
|
+
.filter((line) => {
|
|
112
|
+
const coord = extractClasspathCoordinate(line);
|
|
113
|
+
if (!coord)
|
|
114
|
+
return true;
|
|
115
|
+
return !keys.has(mavenGroupArtifactKey(coord));
|
|
116
|
+
})
|
|
117
|
+
.join("\n");
|
|
118
|
+
}
|
|
119
|
+
/** Remove repository declarations that match keys in `repositories` (google / mavenCentral / URL). */
|
|
120
|
+
export function removeRepositoryLinesByKeys(blockText, repositories) {
|
|
121
|
+
if (!repositories.length)
|
|
122
|
+
return blockText;
|
|
123
|
+
return blockText
|
|
124
|
+
.split("\n")
|
|
125
|
+
.filter((line) => !repositories.some((repo) => lineDeclaresRepository(line, repo)))
|
|
126
|
+
.join("\n");
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Upsert repository declarations: drop existing lines for the same repo keys, then write TOPSDK REPO block.
|
|
130
|
+
*/
|
|
131
|
+
export function mergeRepositoriesInBlock(blockText, repositories) {
|
|
132
|
+
let cleaned = removeRepositoryLinesByKeys(blockText, repositories);
|
|
133
|
+
cleaned = stripManagedBlocks(cleaned, TOPSDK_REPO_AUTO_START, TOPSDK_REPO_AUTO_END);
|
|
134
|
+
if (!repositories.length)
|
|
135
|
+
return cleaned;
|
|
136
|
+
return fullBlockTextMerge(cleaned, TOPSDK_REPO_AUTO_START, TOPSDK_REPO_AUTO_END, buildTopSdkRepoSnippet(repositories));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Upsert buildscript classpaths: drop existing lines with same coordinate, then write TOPSDK AUTO block.
|
|
140
|
+
*/
|
|
141
|
+
export function mergeClasspathsInBlock(blockText, classpaths) {
|
|
142
|
+
const coords = new Set(classpaths);
|
|
143
|
+
let cleaned = removeClasspathLinesByCoordinates(blockText, coords);
|
|
144
|
+
cleaned = stripManagedBlocks(cleaned, TOPSDK_AUTO_START, TOPSDK_AUTO_END);
|
|
145
|
+
if (!classpaths.length)
|
|
146
|
+
return cleaned;
|
|
147
|
+
return fullBlockTextMerge(cleaned, TOPSDK_AUTO_START, TOPSDK_AUTO_END, buildTopSdkBuildscriptClasspathSnippet(classpaths));
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Upsert module-level apply plugins on the full file: drop duplicate plugin ids, then write PLUGIN block.
|
|
151
|
+
*/
|
|
152
|
+
export function mergeApplyPluginsInContent(content, applyPlugins) {
|
|
153
|
+
if (!applyPlugins.length)
|
|
154
|
+
return content;
|
|
155
|
+
const ids = new Set(applyPlugins);
|
|
156
|
+
let cleaned = removeApplyPluginLinesByIds(content, ids);
|
|
157
|
+
cleaned = stripManagedBlocks(cleaned, TOPSDK_PLUGIN_AUTO_START, TOPSDK_PLUGIN_AUTO_END);
|
|
158
|
+
return replaceOrInsertTopLevelManaged(cleaned, TOPSDK_PLUGIN_AUTO_START, TOPSDK_PLUGIN_AUTO_END, buildApplyPluginsSnippet(applyPlugins), "android");
|
|
159
|
+
}
|
|
160
|
+
/** Remove implementation lines with the same `group:artifact` as any target key. */
|
|
161
|
+
export function removeImplementationLinesByGroupArtifact(blockText, keys, fallbackGroupId) {
|
|
162
|
+
return blockText
|
|
163
|
+
.split("\n")
|
|
164
|
+
.filter((line) => {
|
|
165
|
+
const key = extractImplementationKey(line, blockText, fallbackGroupId);
|
|
166
|
+
return !key || !keys.has(key);
|
|
167
|
+
})
|
|
168
|
+
.join("\n");
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Before inserting TOPSDK managed resValue block: drop any existing lines with the same
|
|
172
|
+
* resValue keys (inside or outside markers), then insert/update the managed block.
|
|
173
|
+
*/
|
|
174
|
+
export function mergeResValuesInDefaultConfigBlock(blockText, managedSnippet) {
|
|
175
|
+
const desiredLines = managedSnippet
|
|
176
|
+
.split("\n")
|
|
177
|
+
.map((l) => l.trimEnd())
|
|
178
|
+
.filter((l) => l.includes("resValue("));
|
|
179
|
+
const keys = new Set(desiredLines.map((l) => extractResValueKey(l)).filter((k) => Boolean(k)));
|
|
180
|
+
let cleaned = removeResValueLinesByKeys(blockText, keys);
|
|
181
|
+
if (managedSnippet.includes("snapchat_scheme")) {
|
|
182
|
+
cleaned = removeSnapchatManifestPlaceholderLines(cleaned);
|
|
183
|
+
}
|
|
184
|
+
cleaned = stripManagedBlocks(cleaned, TOPSDK_AUTO_START, TOPSDK_AUTO_END);
|
|
185
|
+
return replaceOrInsertManaged(cleaned, { start: 0, openBrace: 0, end: cleaned.length }, TOPSDK_AUTO_START, TOPSDK_AUTO_END, managedSnippet);
|
|
186
|
+
}
|
|
187
|
+
function mergeDependenciesInBlock(blockText, managedSnippet, fallbackGroupId) {
|
|
188
|
+
const lookupText = `${blockText}\n${managedSnippet}`;
|
|
189
|
+
const desiredLines = managedSnippet
|
|
190
|
+
.split("\n")
|
|
191
|
+
.map((l) => l.trimEnd())
|
|
192
|
+
.filter((l) => l.includes("implementation "));
|
|
193
|
+
const keys = new Set(desiredLines
|
|
194
|
+
.map((l) => extractImplementationKey(l, lookupText, fallbackGroupId))
|
|
195
|
+
.filter((k) => Boolean(k)));
|
|
196
|
+
const alsoStrip = (line) => /^\s*def\s+topsdk_version\s*=/.test(line) || /^\s*def\s+groupId\s*=/.test(line);
|
|
197
|
+
let cleaned = blockText
|
|
198
|
+
.split("\n")
|
|
199
|
+
.filter((line) => !alsoStrip(line))
|
|
200
|
+
.join("\n");
|
|
201
|
+
cleaned = removeImplementationLinesByGroupArtifact(cleaned, keys, fallbackGroupId);
|
|
202
|
+
cleaned = stripManagedBlocks(cleaned, TOPSDK_AUTO_START, TOPSDK_AUTO_END);
|
|
203
|
+
return replaceOrInsertManaged(cleaned, { start: 0, openBrace: 0, end: cleaned.length }, TOPSDK_AUTO_START, TOPSDK_AUTO_END, managedSnippet);
|
|
204
|
+
}
|
|
205
|
+
function stripManagedBlocks(text, startMarker, endMarker) {
|
|
206
|
+
const start = text.indexOf(startMarker);
|
|
207
|
+
const end = text.indexOf(endMarker);
|
|
208
|
+
if (start >= 0 && end > start) {
|
|
209
|
+
return text.slice(0, start) + text.slice(end + endMarker.length);
|
|
210
|
+
}
|
|
211
|
+
return text;
|
|
212
|
+
}
|
|
213
|
+
function findNestedBlockRange(content, keywords) {
|
|
214
|
+
let parentStart = 0;
|
|
215
|
+
let parentEnd = content.length;
|
|
216
|
+
let current = null;
|
|
217
|
+
for (const keyword of keywords) {
|
|
218
|
+
current = findBlockRange(content, keyword, parentStart);
|
|
219
|
+
if (!current || current.end > parentEnd)
|
|
220
|
+
return null;
|
|
221
|
+
parentStart = current.start;
|
|
222
|
+
parentEnd = current.end;
|
|
223
|
+
}
|
|
224
|
+
return current;
|
|
225
|
+
}
|
|
226
|
+
function buildTopSdkRepoSnippet(repositories) {
|
|
227
|
+
const lines = [TOPSDK_REPO_AUTO_START];
|
|
228
|
+
for (const repo of repositories) {
|
|
229
|
+
if (repo === "google") {
|
|
230
|
+
lines.push(" //Firebase", " google()");
|
|
231
|
+
}
|
|
232
|
+
else if (repo === "mavenCentral") {
|
|
233
|
+
lines.push(" //Appsflyer", " mavenCentral()");
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
if (repo.includes("storage-sdk-gameplus.meetsocial.com/repository/TopSdk")) {
|
|
237
|
+
lines.push(" //TOPSdk 仓库地址");
|
|
238
|
+
}
|
|
239
|
+
lines.push(` maven { url '${escapeGradleSingleQuotedString(repo)}' }`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
lines.push(TOPSDK_REPO_AUTO_END);
|
|
243
|
+
return lines.join("\n");
|
|
244
|
+
}
|
|
245
|
+
function buildTopSdkBuildscriptClasspathSnippet(classpaths) {
|
|
246
|
+
const lines = [TOPSDK_AUTO_START];
|
|
247
|
+
for (const classpath of classpaths) {
|
|
248
|
+
lines.push(` classpath '${escapeGradleSingleQuotedString(classpath)}'`);
|
|
249
|
+
}
|
|
250
|
+
lines.push(TOPSDK_AUTO_END);
|
|
251
|
+
return lines.join("\n");
|
|
252
|
+
}
|
|
253
|
+
function ensureBuildscriptBlock(content) {
|
|
254
|
+
if (findBlockRange(content, "buildscript"))
|
|
255
|
+
return content;
|
|
256
|
+
return `buildscript {\n repositories {\n }\n dependencies {\n }\n}\n\n${content}`;
|
|
257
|
+
}
|
|
258
|
+
export function updateRootBuildGradleMeetSdkRemote(content, params) {
|
|
259
|
+
const warnings = [];
|
|
260
|
+
const options = Array.isArray(params)
|
|
261
|
+
? { repositories: params, buildscriptRepositories: [], buildscriptClasspaths: [] }
|
|
262
|
+
: params;
|
|
263
|
+
const repositories = options.repositories;
|
|
264
|
+
const buildscriptRepositories = options.buildscriptRepositories ?? [];
|
|
265
|
+
const buildscriptClasspaths = options.buildscriptClasspaths ?? [];
|
|
266
|
+
let current = content;
|
|
267
|
+
if (buildscriptRepositories.length > 0 || buildscriptClasspaths.length > 0) {
|
|
268
|
+
current = ensureBuildscriptBlock(current);
|
|
269
|
+
const buildscript = findBlockRange(current, "buildscript");
|
|
270
|
+
if (!buildscript)
|
|
271
|
+
return { ok: false, error: "buildscript block not found in root build.gradle" };
|
|
272
|
+
const repositoriesBlock = findBlockRange(current, "repositories", buildscript.start);
|
|
273
|
+
if (!repositoriesBlock || repositoriesBlock.end > buildscript.end) {
|
|
274
|
+
return { ok: false, error: "repositories block under buildscript not found" };
|
|
275
|
+
}
|
|
276
|
+
const buildscriptReposText = current.slice(repositoriesBlock.openBrace + 1, repositoriesBlock.end);
|
|
277
|
+
const mergedBuildscriptRepos = mergeRepositoriesInBlock(buildscriptReposText, buildscriptRepositories);
|
|
278
|
+
current =
|
|
279
|
+
current.slice(0, repositoriesBlock.openBrace + 1) +
|
|
280
|
+
mergedBuildscriptRepos +
|
|
281
|
+
current.slice(repositoriesBlock.end);
|
|
282
|
+
const refreshedBuildscript = findBlockRange(current, "buildscript");
|
|
283
|
+
if (!refreshedBuildscript)
|
|
284
|
+
return { ok: false, error: "buildscript block not found in root build.gradle" };
|
|
285
|
+
const dependenciesBlock = findBlockRange(current, "dependencies", refreshedBuildscript.start);
|
|
286
|
+
if (!dependenciesBlock || dependenciesBlock.end > refreshedBuildscript.end) {
|
|
287
|
+
return { ok: false, error: "dependencies block under buildscript not found" };
|
|
288
|
+
}
|
|
289
|
+
const buildscriptDepsText = current.slice(dependenciesBlock.openBrace + 1, dependenciesBlock.end);
|
|
290
|
+
const mergedClasspaths = mergeClasspathsInBlock(buildscriptDepsText, buildscriptClasspaths);
|
|
291
|
+
current =
|
|
292
|
+
current.slice(0, dependenciesBlock.openBrace + 1) +
|
|
293
|
+
mergedClasspaths +
|
|
294
|
+
current.slice(dependenciesBlock.end);
|
|
295
|
+
}
|
|
296
|
+
let updated = current;
|
|
297
|
+
if (repositories.length > 0) {
|
|
298
|
+
const allprojects = findBlockRange(current, "allprojects");
|
|
299
|
+
if (!allprojects) {
|
|
300
|
+
return { ok: false, error: "allprojects block not found in root build.gradle" };
|
|
301
|
+
}
|
|
302
|
+
const repositoriesBlock = findBlockRange(current, "repositories", allprojects.start);
|
|
303
|
+
if (!repositoriesBlock || repositoriesBlock.end > allprojects.end) {
|
|
304
|
+
return { ok: false, error: "repositories block under allprojects not found" };
|
|
305
|
+
}
|
|
306
|
+
const allprojectsReposText = current.slice(repositoriesBlock.openBrace + 1, repositoriesBlock.end);
|
|
307
|
+
const mergedAllprojectsRepos = mergeRepositoriesInBlock(allprojectsReposText, repositories);
|
|
308
|
+
updated =
|
|
309
|
+
current.slice(0, repositoriesBlock.openBrace + 1) +
|
|
310
|
+
mergedAllprojectsRepos +
|
|
311
|
+
current.slice(repositoriesBlock.end);
|
|
312
|
+
}
|
|
313
|
+
if (updated === content)
|
|
314
|
+
warnings.push("root build.gradle TOPSDK repositories block unchanged");
|
|
315
|
+
return { ok: true, content: updated, changed: updated !== content, warnings };
|
|
316
|
+
}
|
|
317
|
+
export function updateSettingsGradleMeetSdkRemote(content, repositories) {
|
|
318
|
+
const warnings = [];
|
|
319
|
+
const repositoriesBlock = findNestedBlockRange(content, ["dependencyResolutionManagement", "repositories"]);
|
|
320
|
+
if (!repositoriesBlock) {
|
|
321
|
+
return { ok: false, error: "dependencyResolutionManagement.repositories block not found in settings.gradle" };
|
|
322
|
+
}
|
|
323
|
+
const settingsReposText = content.slice(repositoriesBlock.openBrace + 1, repositoriesBlock.end);
|
|
324
|
+
const mergedSettingsRepos = mergeRepositoriesInBlock(settingsReposText, repositories);
|
|
325
|
+
const updated = content.slice(0, repositoriesBlock.openBrace + 1) +
|
|
326
|
+
mergedSettingsRepos +
|
|
327
|
+
content.slice(repositoriesBlock.end);
|
|
328
|
+
if (updated === content)
|
|
329
|
+
warnings.push("settings.gradle TOPSDK repositories block unchanged");
|
|
330
|
+
return { ok: true, content: updated, changed: updated !== content, warnings };
|
|
331
|
+
}
|
|
332
|
+
function buildApplyPluginsSnippet(applyPlugins) {
|
|
333
|
+
const lines = [TOPSDK_PLUGIN_AUTO_START];
|
|
334
|
+
for (const plugin of applyPlugins) {
|
|
335
|
+
lines.push(`apply plugin: '${escapeGradleSingleQuotedString(plugin)}'`);
|
|
336
|
+
}
|
|
337
|
+
lines.push(TOPSDK_PLUGIN_AUTO_END);
|
|
338
|
+
return lines.join("\n");
|
|
339
|
+
}
|
|
340
|
+
function replaceOrInsertTopLevelManaged(content, startMarker, endMarker, snippet, insertBeforeKeyword) {
|
|
341
|
+
const start = content.indexOf(startMarker);
|
|
342
|
+
const end = content.indexOf(endMarker);
|
|
343
|
+
if (start >= 0 && end > start) {
|
|
344
|
+
const before = content.slice(0, start).replace(/\s*$/, "\n");
|
|
345
|
+
const after = content.slice(end + endMarker.length).replace(/^\s*/, "\n");
|
|
346
|
+
return `${before}${snippet}${after}`;
|
|
347
|
+
}
|
|
348
|
+
const insertion = `${snippet}\n\n`;
|
|
349
|
+
const keywordPattern = new RegExp(`^\\s*${insertBeforeKeyword}\\b`, "m");
|
|
350
|
+
const match = keywordPattern.exec(content);
|
|
351
|
+
if (match?.index !== undefined) {
|
|
352
|
+
return content.slice(0, match.index).replace(/\s*$/, "\n\n") + insertion + content.slice(match.index);
|
|
353
|
+
}
|
|
354
|
+
return insertion + content;
|
|
355
|
+
}
|
|
356
|
+
function buildResValuesSnippet(config) {
|
|
357
|
+
const lines = [
|
|
358
|
+
TOPSDK_AUTO_START,
|
|
359
|
+
` resValue('string', 'top_channel_id', '${escapeGradleSingleQuotedString(config.channel)}')`,
|
|
360
|
+
];
|
|
361
|
+
lines.push(` resValue('string', 'top_app_id', '${escapeGradleSingleQuotedString(config.topsdk.appId)}')`);
|
|
362
|
+
const loginFb = config.sdkModules.login.facebook;
|
|
363
|
+
if (typeof loginFb === "object" && loginFb !== null) {
|
|
364
|
+
lines.push(` resValue('string', 'facebook_app_id', '${escapeGradleSingleQuotedString(loginFb.facebookAppId)}')`, ` resValue('string', 'fb_login_protocol_scheme', '${escapeGradleSingleQuotedString(loginFb.fbLoginProtocolScheme)}')`, ` resValue('string', 'facebook_client_token', '${escapeGradleSingleQuotedString(loginFb.facebookClientToken)}')`);
|
|
365
|
+
}
|
|
366
|
+
const loginGoogle = config.sdkModules.login.google;
|
|
367
|
+
if (typeof loginGoogle === "object" && loginGoogle !== null && loginGoogle.googleClientId) {
|
|
368
|
+
lines.push(` resValue('string', 'google_client_id', '${escapeGradleSingleQuotedString(loginGoogle.googleClientId)}')`);
|
|
369
|
+
}
|
|
370
|
+
const loginTwitter = config.sdkModules.login.twitter;
|
|
371
|
+
if (typeof loginTwitter === "object" && loginTwitter !== null) {
|
|
372
|
+
lines.push(` resValue('string', 'twitter_client_id', '${escapeGradleSingleQuotedString(loginTwitter.clientId)}')`, ` resValue('string', 'twitter_client_secret', '${escapeGradleSingleQuotedString(loginTwitter.secret)}')`, ` resValue('string', 'twitter_redirect_uri', '${escapeGradleSingleQuotedString(loginTwitter.redirect)}')`);
|
|
373
|
+
}
|
|
374
|
+
const loginSnapchat = config.sdkModules.login.snapchat;
|
|
375
|
+
if (typeof loginSnapchat === "object" && loginSnapchat !== null) {
|
|
376
|
+
lines.push(` resValue('string', 'snapchat_client_id', '${escapeGradleSingleQuotedString(loginSnapchat.clientId)}')`, ` resValue('string', 'snapchat_redirect_uri', '${escapeGradleSingleQuotedString(loginSnapchat.redirect)}')`);
|
|
377
|
+
if (loginSnapchat.secret) {
|
|
378
|
+
lines.push(` resValue('string', 'snapchat_client_secret', '${escapeGradleSingleQuotedString(loginSnapchat.secret)}')`);
|
|
379
|
+
}
|
|
380
|
+
const snapchatPlaceholders = parseSnapchatRedirectForManifestPlaceholders(loginSnapchat.redirect);
|
|
381
|
+
if (snapchatPlaceholders) {
|
|
382
|
+
lines.push(buildSnapchatManifestPlaceholdersLine(snapchatPlaceholders));
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
const loginLine = config.sdkModules.login.line;
|
|
386
|
+
if (typeof loginLine === "object" && loginLine !== null) {
|
|
387
|
+
lines.push(` resValue('string', 'line_channel_id', '${escapeGradleSingleQuotedString(loginLine.clientId)}')`);
|
|
388
|
+
}
|
|
389
|
+
const loginNaver = config.sdkModules.login.naver;
|
|
390
|
+
if (typeof loginNaver === "object" && loginNaver !== null) {
|
|
391
|
+
lines.push(` resValue('string', 'naver_client_id', '${escapeGradleSingleQuotedString(loginNaver.clientId)}')`, ` resValue('string', 'naver_client_secret', '${escapeGradleSingleQuotedString(loginNaver.secret)}')`, ` resValue('string', 'naver_client_name', '${escapeGradleSingleQuotedString(loginNaver.name)}')`);
|
|
392
|
+
}
|
|
393
|
+
const loginKakao = config.sdkModules.login.kakao;
|
|
394
|
+
if (typeof loginKakao === "object" && loginKakao !== null) {
|
|
395
|
+
lines.push(` resValue('string', 'kakao_native_app_key', '${escapeGradleSingleQuotedString(loginKakao.clientId)}')`, ` resValue('string', 'kakao_uri_scheme', '${escapeGradleSingleQuotedString(loginKakao.scheme)}')`);
|
|
396
|
+
}
|
|
397
|
+
const loginTiktok = config.sdkModules.login.tiktok;
|
|
398
|
+
if (typeof loginTiktok === "object" && loginTiktok !== null) {
|
|
399
|
+
lines.push(` resValue('string', 'tiktok_client_key', '${escapeGradleSingleQuotedString(loginTiktok.clientId)}')`, ` resValue('string', 'tiktok_client_secret', '${escapeGradleSingleQuotedString(loginTiktok.secret)}')`, ` resValue('string', 'tiktok_redirect_uri', '${escapeGradleSingleQuotedString(loginTiktok.redirect)}')`);
|
|
400
|
+
}
|
|
401
|
+
const af = config.sdkModules.analytics.appsflyer;
|
|
402
|
+
if (typeof af === "object" && af !== null) {
|
|
403
|
+
lines.push(` resValue('bool', 'appsflyer_enable_debug_log', "${String(Boolean(af.enableDebugLog))}")`, ` resValue('string', 'af_dev_key', '${escapeGradleSingleQuotedString(af.devKey)}')`);
|
|
404
|
+
}
|
|
405
|
+
const analyticsFirebase = config.sdkModules.analytics.firebase;
|
|
406
|
+
if (typeof analyticsFirebase === "object" && analyticsFirebase !== null) {
|
|
407
|
+
lines.push(` resValue('string', 'firebase_google_services_json_url', '${escapeGradleSingleQuotedString(analyticsFirebase.firebase_file_url)}')`);
|
|
408
|
+
}
|
|
409
|
+
const analyticsAdjust = config.sdkModules.analytics.adjust;
|
|
410
|
+
if (typeof analyticsAdjust === "object" && analyticsAdjust !== null) {
|
|
411
|
+
lines.push(` resValue('string', 'adjust_app_id', '${escapeGradleSingleQuotedString(analyticsAdjust.appId)}')`);
|
|
412
|
+
}
|
|
413
|
+
lines.push(TOPSDK_AUTO_END);
|
|
414
|
+
return lines.join("\n");
|
|
415
|
+
}
|
|
416
|
+
function buildRemoteDependenciesSnippet(config) {
|
|
417
|
+
const lines = [
|
|
418
|
+
TOPSDK_AUTO_START,
|
|
419
|
+
` def topsdk_version = "${escapeGroovyDoubleQuotedInner(config.topsdk.version)}"`,
|
|
420
|
+
` def groupId = "${escapeGroovyDoubleQuotedInner(config.topsdk.groupId)}"`,
|
|
421
|
+
"",
|
|
422
|
+
` implementation "$groupId:ui:$topsdk_version"`,
|
|
423
|
+
...buildTopSdkFeatureImplementationLines(config),
|
|
424
|
+
];
|
|
425
|
+
lines.push(TOPSDK_AUTO_END);
|
|
426
|
+
return lines.join("\n");
|
|
427
|
+
}
|
|
428
|
+
function updateDefaultConfigApplicationId(content, defaultConfigBlock, applicationId) {
|
|
429
|
+
const escaped = escapeGroovyDoubleQuotedInner(applicationId);
|
|
430
|
+
const blockText = content.slice(defaultConfigBlock.openBrace + 1, defaultConfigBlock.end);
|
|
431
|
+
const existing = /(^[ \t]*)applicationId\s+(?:=+\s*)?["'][^"']*["']/m;
|
|
432
|
+
if (existing.test(blockText)) {
|
|
433
|
+
const updatedBlockText = blockText.replace(existing, `$1applicationId "${escaped}"`);
|
|
434
|
+
return content.slice(0, defaultConfigBlock.openBrace + 1) + updatedBlockText + content.slice(defaultConfigBlock.end);
|
|
435
|
+
}
|
|
436
|
+
const newlineMatch = blockText.match(/\n([ \t]*)\S/);
|
|
437
|
+
const indent = newlineMatch ? newlineMatch[1] : " ";
|
|
438
|
+
const insertion = `\n${indent}applicationId "${escaped}"`;
|
|
439
|
+
return content.slice(0, defaultConfigBlock.openBrace + 1) + insertion + blockText + content.slice(defaultConfigBlock.end);
|
|
440
|
+
}
|
|
441
|
+
export function updateModuleBuildGradleMeetSdkRemote(content, config, applyPlugins = []) {
|
|
442
|
+
const warnings = [];
|
|
443
|
+
const withPlugins = applyPlugins.length > 0 ? mergeApplyPluginsInContent(content, applyPlugins) : content;
|
|
444
|
+
const androidBlock = findBlockRange(withPlugins, "android");
|
|
445
|
+
if (!androidBlock) {
|
|
446
|
+
return { ok: false, error: "android block not found in module build.gradle" };
|
|
447
|
+
}
|
|
448
|
+
const defaultConfigBlock = findBlockRange(withPlugins, "defaultConfig", androidBlock.start);
|
|
449
|
+
if (!defaultConfigBlock || defaultConfigBlock.end > androidBlock.end) {
|
|
450
|
+
return { ok: false, error: "defaultConfig block not found under android" };
|
|
451
|
+
}
|
|
452
|
+
const withApplicationId = updateDefaultConfigApplicationId(withPlugins, defaultConfigBlock, config.packageName);
|
|
453
|
+
const refreshedAndroidBlock = findBlockRange(withApplicationId, "android");
|
|
454
|
+
if (!refreshedAndroidBlock) {
|
|
455
|
+
return { ok: false, error: "android block not found in module build.gradle" };
|
|
456
|
+
}
|
|
457
|
+
const refreshedDefaultConfigBlock = findBlockRange(withApplicationId, "defaultConfig", refreshedAndroidBlock.start);
|
|
458
|
+
if (!refreshedDefaultConfigBlock || refreshedDefaultConfigBlock.end > refreshedAndroidBlock.end) {
|
|
459
|
+
return { ok: false, error: "defaultConfig block not found under android" };
|
|
460
|
+
}
|
|
461
|
+
const defaultConfigText = withApplicationId.slice(refreshedDefaultConfigBlock.openBrace + 1, refreshedDefaultConfigBlock.end);
|
|
462
|
+
const mergedDefaultConfigText = mergeResValuesInDefaultConfigBlock(defaultConfigText, buildResValuesSnippet(config));
|
|
463
|
+
const withResValues = withApplicationId.slice(0, refreshedDefaultConfigBlock.openBrace + 1) +
|
|
464
|
+
mergedDefaultConfigText +
|
|
465
|
+
withApplicationId.slice(refreshedDefaultConfigBlock.end);
|
|
466
|
+
const dependenciesBlock = findBlockRange(withResValues, "dependencies");
|
|
467
|
+
if (!dependenciesBlock) {
|
|
468
|
+
return { ok: false, error: "dependencies block not found in module build.gradle" };
|
|
469
|
+
}
|
|
470
|
+
const dependenciesText = withResValues.slice(dependenciesBlock.openBrace + 1, dependenciesBlock.end);
|
|
471
|
+
const mergedDependenciesText = mergeDependenciesInBlock(dependenciesText, buildRemoteDependenciesSnippet(config), config.topsdk.groupId);
|
|
472
|
+
const withDependencies = withResValues.slice(0, dependenciesBlock.openBrace + 1) +
|
|
473
|
+
mergedDependenciesText +
|
|
474
|
+
withResValues.slice(dependenciesBlock.end);
|
|
475
|
+
if (withDependencies === content)
|
|
476
|
+
warnings.push("module build.gradle TOPSDK blocks unchanged");
|
|
477
|
+
return { ok: true, content: withDependencies, changed: withDependencies !== content, warnings };
|
|
478
|
+
}
|
|
479
|
+
//# sourceMappingURL=meetSdkRemoteGradle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meetSdkRemoteGradle.js","sourceRoot":"","sources":["../../src/android/meetSdkRemoteGradle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface SnapchatManifestPlaceholderParts {
|
|
2
|
+
scheme: string;
|
|
3
|
+
host: string;
|
|
4
|
+
path: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Parse `sdkModules.login.snapchat.redirect` (from getSDKConfig / downloadSDKConfig)
|
|
8
|
+
* into Gradle `addManifestPlaceholders` keys used by TOPSDK Android SDK.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseSnapchatRedirectForManifestPlaceholders(redirect: string): SnapchatManifestPlaceholderParts | null;
|
|
11
|
+
/** Gradle line inside `defaultConfig`, same indent as `resValue`. */
|
|
12
|
+
export declare function buildSnapchatManifestPlaceholdersLine(parts: SnapchatManifestPlaceholderParts): string;
|
|
13
|
+
export declare function lineHasSnapchatManifestPlaceholders(line: string): boolean;
|
|
14
|
+
export declare function removeSnapchatManifestPlaceholderLines(blockText: string): string;
|
|
15
|
+
//# sourceMappingURL=snapchatManifestPlaceholders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapchatManifestPlaceholders.d.ts","sourceRoot":"","sources":["../../src/android/snapchatManifestPlaceholders.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,4CAA4C,CAC1D,QAAQ,EAAE,MAAM,GACf,gCAAgC,GAAG,IAAI,CA0BzC;AAMD,qEAAqE;AACrE,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,gCAAgC,GAAG,MAAM,CAKrG;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzE;AAED,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKhF"}
|