@leonxin/meetgames 0.1.19 → 0.1.20

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.
Files changed (47) hide show
  1. package/README.md +11 -2
  2. package/dist/android/detect.d.ts +6 -1
  3. package/dist/android/detect.d.ts.map +1 -1
  4. package/dist/android/detect.js +41 -17
  5. package/dist/android/detect.js.map +1 -1
  6. package/dist/android/gradle.d.ts.map +1 -1
  7. package/dist/android/gradle.js +8 -1
  8. package/dist/android/gradle.js.map +1 -1
  9. package/dist/android/meetSdkRemoteGradle.d.ts +1 -0
  10. package/dist/android/meetSdkRemoteGradle.d.ts.map +1 -1
  11. package/dist/android/meetSdkRemoteGradle.js +44 -21
  12. package/dist/android/meetSdkRemoteGradle.js.map +1 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +32 -7
  15. package/dist/cli.js.map +1 -1
  16. package/dist/contracts/types.d.ts +14 -0
  17. package/dist/contracts/types.d.ts.map +1 -1
  18. package/dist/core/doctor.d.ts.map +1 -1
  19. package/dist/core/doctor.js +16 -1
  20. package/dist/core/doctor.js.map +1 -1
  21. package/dist/core/platform.js +1 -1
  22. package/dist/core/platform.js.map +1 -1
  23. package/dist/core/workspace.d.ts.map +1 -1
  24. package/dist/core/workspace.js +2 -1
  25. package/dist/core/workspace.js.map +1 -1
  26. package/dist/mcp/server.d.ts.map +1 -1
  27. package/dist/mcp/server.js +12 -7
  28. package/dist/mcp/server.js.map +1 -1
  29. package/dist/mcp/service.d.ts +4 -0
  30. package/dist/mcp/service.d.ts.map +1 -1
  31. package/dist/mcp/service.js +13 -6
  32. package/dist/mcp/service.js.map +1 -1
  33. package/dist/ops/handlers.d.ts.map +1 -1
  34. package/dist/ops/handlers.js +21 -3
  35. package/dist/ops/handlers.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/android/detect.ts +47 -17
  38. package/src/android/gradle.ts +16 -1
  39. package/src/android/meetSdkRemoteGradle.ts +50 -22
  40. package/src/cli.ts +30 -7
  41. package/src/contracts/types.ts +17 -0
  42. package/src/core/doctor.ts +15 -1
  43. package/src/core/platform.ts +1 -1
  44. package/src/core/workspace.ts +2 -1
  45. package/src/mcp/server.ts +12 -7
  46. package/src/mcp/service.ts +21 -5
  47. package/src/ops/handlers.ts +23 -3
@@ -42,8 +42,8 @@ function ensureDefaultManifestPath(packageRoot) {
42
42
  }
43
43
  return manifestPath;
44
44
  }
45
- function ensureSinglePlatformContext(projectRoot, packageRoot, appTarget, remoteConfigPath, cacheRoot) {
46
- const detectedCtx = buildWorkspaceContext(projectRoot, packageRoot, { appTarget, remoteConfigPath, cacheRoot });
45
+ function ensureSinglePlatformContext(projectRoot, packageRoot, appTarget, sdkModuleName, remoteConfigPath, cacheRoot) {
46
+ const detectedCtx = buildWorkspaceContext(projectRoot, packageRoot, { appTarget, sdkModuleName, remoteConfigPath, cacheRoot });
47
47
  const detected = detectSinglePlatform(detectedCtx);
48
48
  if (!detected.ok)
49
49
  throw new Error(detected.error);
@@ -56,17 +56,22 @@ function ensureSinglePlatformContext(projectRoot, packageRoot, appTarget, remote
56
56
  function resolveAppTarget(params) {
57
57
  return params.appTarget?.trim() || undefined;
58
58
  }
59
+ function resolveSdkModuleName(params) {
60
+ return params.sdkModuleName?.trim() || undefined;
61
+ }
59
62
  export function meetgamesDoctor(params) {
60
63
  const projectRoot = ensureProjectRoot(params.projectRoot);
61
64
  const packageRoot = resolvePackageRoot();
62
- const { platform, ctx } = ensureSinglePlatformContext(projectRoot, packageRoot, resolveAppTarget(params));
65
+ const { platform, ctx } = ensureSinglePlatformContext(projectRoot, packageRoot, resolveAppTarget(params), resolveSdkModuleName(params));
63
66
  const out = {
64
67
  projectRoot: ctx.projectRoot,
65
68
  packageRoot: ctx.packageRoot,
66
69
  platform,
67
70
  };
68
- if (platform === "android")
71
+ if (platform === "android") {
69
72
  out.android = ctx.android;
73
+ out.androidSdkModule = ctx.androidSdkModule;
74
+ }
70
75
  if (platform === "ios") {
71
76
  out.ios = ctx.ios;
72
77
  out.iosReserved = ctx.iosReserved;
@@ -114,7 +119,7 @@ export async function meetgamesIntegrate(params) {
114
119
  const packageRoot = resolvePackageRoot();
115
120
  const manifestPath = ensureDefaultManifestPath(packageRoot);
116
121
  const manifest = loadManifestFile(manifestPath);
117
- const { platform, ctx } = ensureSinglePlatformContext(projectRoot, packageRoot, resolveAppTarget(params), resolveCachedRemoteConfigPath(params), params.cacheRoot);
122
+ const { platform, ctx } = ensureSinglePlatformContext(projectRoot, packageRoot, resolveAppTarget(params), resolveSdkModuleName(params), resolveCachedRemoteConfigPath(params), params.cacheRoot);
118
123
  const { report, patch, binaryCopies } = await runPipeline(ctx, manifestForPlatform(manifest, platform), { dryRun: params.dryRun });
119
124
  return {
120
125
  dryRun: params.dryRun,
@@ -130,7 +135,8 @@ export async function meetgamesSetup(params) {
130
135
  const projectRoot = ensureProjectRoot(params.projectRoot);
131
136
  const packageRoot = resolvePackageRoot();
132
137
  const appTarget = resolveAppTarget(params);
133
- const { platform } = ensureSinglePlatformContext(projectRoot, packageRoot, appTarget, undefined, params.cacheRoot);
138
+ const sdkModuleName = resolveSdkModuleName(params);
139
+ const { platform } = ensureSinglePlatformContext(projectRoot, packageRoot, appTarget, sdkModuleName, undefined, params.cacheRoot);
134
140
  const fetch = await meetgamesFetchConfig({
135
141
  projectRoot,
136
142
  env: params.env,
@@ -148,6 +154,7 @@ export async function meetgamesSetup(params) {
148
154
  const integrate = await meetgamesIntegrate({
149
155
  projectRoot,
150
156
  appTarget,
157
+ sdkModuleName,
151
158
  env: params.env,
152
159
  appId: params.appId,
153
160
  channelType: params.channelType,
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mcp/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mcp/service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/ops/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuB1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAmFpD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,UAAU,EAAE,KACvB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA6NhD,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEhE"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/ops/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuB1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAiGpD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,UAAU,EAAE,KACvB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAmOhD,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEhE"}
@@ -63,9 +63,9 @@ function readSettingsGradle(projectRoot) {
63
63
  return null;
64
64
  }
65
65
  function moduleGradleRel(ctx) {
66
- if (!ctx.android?.ok)
66
+ if (!ctx.androidSdkModule?.ok)
67
67
  return null;
68
- const moduleDir = ctx.android.moduleDir;
68
+ const moduleDir = ctx.androidSdkModule.moduleDir;
69
69
  const a = path.join(moduleDir, "build.gradle");
70
70
  if (fs.existsSync(a))
71
71
  return path.relative(ctx.projectRoot, a).split(path.sep).join("/");
@@ -74,6 +74,16 @@ function moduleGradleRel(ctx) {
74
74
  return path.relative(ctx.projectRoot, b).split(path.sep).join("/");
75
75
  return null;
76
76
  }
77
+ function sdkModuleError(ctx) {
78
+ return ctx.androidSdkModule?.ok === false
79
+ ? ctx.androidSdkModule.error
80
+ : "android SDK module not resolved";
81
+ }
82
+ function sdkModuleIsApplicationModule(ctx) {
83
+ return Boolean(ctx.android?.ok &&
84
+ ctx.androidSdkModule?.ok &&
85
+ path.resolve(ctx.android.moduleDir) === path.resolve(ctx.androidSdkModule.moduleDir));
86
+ }
77
87
  function resolveRemoteConfigInput(ctx, configFile) {
78
88
  if (typeof configFile === "string" && configFile.trim()) {
79
89
  const normalized = configFile.trim().replace(/\\/g, "/");
@@ -94,6 +104,8 @@ export const opHandlers = {
94
104
  "gradle.applyMeetSdkRemoteConfig": async (ctx, store, args, _dry, _bc) => {
95
105
  if (!ctx.android?.ok)
96
106
  return fail(["android application module not detected"]);
107
+ if (!ctx.androidSdkModule?.ok)
108
+ return fail([sdkModuleError(ctx)]);
97
109
  const config = resolveRemoteConfigInput(ctx, args.configFile);
98
110
  if (!fs.existsSync(config.abs))
99
111
  return fail([`meet sdk remote config not found: ${config.label}`]);
@@ -165,9 +177,12 @@ export const opHandlers = {
165
177
  return fail(["gradle.applyMeetSdkRemoteConfig: root build.gradle.kts not supported in MVP"]);
166
178
  }
167
179
  const rootBefore = store.read(root.rel);
180
+ const shouldMirrorRepositoriesToBuildscript = /\bbuildscript\s*\{/.test(rootBefore) || buildscriptClasspaths.length > 0;
168
181
  const rootU = updateRootBuildGradleMeetSdkRemote(rootBefore, {
169
182
  repositories: repositoriesWrittenInSettings ? [] : repositories,
170
- buildscriptRepositories: usesPluginsDsl ? [] : buildscriptRepositories,
183
+ buildscriptRepositories: usesPluginsDsl
184
+ ? []
185
+ : [...buildscriptRepositories, ...(shouldMirrorRepositoriesToBuildscript ? repositories : [])],
171
186
  buildscriptClasspaths: usesPluginsDsl ? [] : buildscriptClasspaths,
172
187
  rootPluginsDsl: usesPluginsDsl ? collectMeetSdkRemotePluginsDslForRoot(resolved) : [],
173
188
  stripBuildscriptClasspaths: usesPluginsDsl ? buildscriptClasspaths : [],
@@ -184,6 +199,7 @@ export const opHandlers = {
184
199
  style: modulePluginStyle,
185
200
  applyPlugins: usesPluginsDsl ? [] : collectMeetSdkRemoteApplyPlugins(resolved),
186
201
  pluginsDsl: usesPluginsDsl ? collectMeetSdkRemotePluginsDslForModule(resolved) : [],
202
+ writeApplicationId: sdkModuleIsApplicationModule(ctx),
187
203
  });
188
204
  if (!modU.ok)
189
205
  return fail([modU.error]);
@@ -216,6 +232,8 @@ export const opHandlers = {
216
232
  "gradle.addDependency": (ctx, store, args, _dry, _bc) => {
217
233
  if (!ctx.android?.ok)
218
234
  return fail(["android application module not detected"]);
235
+ if (!ctx.androidSdkModule?.ok)
236
+ return fail([sdkModuleError(ctx)]);
219
237
  const modRel = moduleGradleRel(ctx);
220
238
  if (!modRel)
221
239
  return fail(["module build.gradle not found"]);
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/ops/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/ops/handlers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leonxin/meetgames",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,13 +1,15 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import type { AndroidDetectOptions, AndroidDetectResult } from "../contracts/types.js";
3
+ import type { AndroidDetectOptions, AndroidDetectResult, AndroidSdkModuleResult } from "../contracts/types.js";
4
4
 
5
- function parseIncludes(settingsContent: string): string[] {
5
+ export const DEFAULT_ANDROID_SDK_MODULE_NAME = "unityLibrary";
6
+
7
+ export function parseIncludes(settingsContent: string): string[] {
6
8
  const includes: string[] = [];
7
- const includeRegex = /include\s+([^\n]+)/g;
9
+ const includeRegex = /\binclude\b\s*(?:\(([^)\n]+)\)|([^\n]+))/g;
8
10
  let match = includeRegex.exec(settingsContent);
9
11
  while (match) {
10
- const raw = match[1];
12
+ const raw = match[1] ?? match[2] ?? "";
11
13
  const parts = raw
12
14
  .split(",")
13
15
  .map((x) => x.trim())
@@ -28,7 +30,7 @@ function isApplicationModule(buildGradleContent: string): boolean {
28
30
  return applyPlugin || pluginsBlock || pluginAlias || (hasAndroidBlock && hasApplicationId);
29
31
  }
30
32
 
31
- function moduleNameToDir(projectRoot: string, moduleName: string): string {
33
+ export function moduleNameToDir(projectRoot: string, moduleName: string): string {
32
34
  const normalized = moduleName.startsWith(":") ? moduleName.slice(1) : moduleName;
33
35
  const relative = normalized.replace(/:/g, "/");
34
36
  return path.join(projectRoot, relative);
@@ -38,7 +40,7 @@ function defaultManifestPath(moduleDir: string): string {
38
40
  return path.join(moduleDir, "src", "main", "AndroidManifest.xml");
39
41
  }
40
42
 
41
- function normalizeModuleSelector(value: string): string {
43
+ export function normalizeModuleSelector(value: string): string {
42
44
  const trimmed = value.trim().replace(/\\/g, "/").replace(/^\/+|\/+$/g, "");
43
45
  if (!trimmed) return "";
44
46
  const asGradlePath = trimmed.replace(/\//g, ":");
@@ -59,18 +61,10 @@ function successResult(projectRoot: string, moduleName: string, moduleDir: strin
59
61
  }
60
62
 
61
63
  export function detectAndroid(projectRoot: string, options: AndroidDetectOptions = {}): AndroidDetectResult {
62
- const settingsGradle = path.join(projectRoot, "settings.gradle");
63
- const settingsGradleKts = path.join(projectRoot, "settings.gradle.kts");
64
- let settingsContent = "";
65
- if (fs.existsSync(settingsGradle)) {
66
- settingsContent = fs.readFileSync(settingsGradle, "utf8");
67
- } else if (fs.existsSync(settingsGradleKts)) {
68
- settingsContent = fs.readFileSync(settingsGradleKts, "utf8");
69
- } else {
70
- return { ok: false, error: "settings.gradle / settings.gradle.kts not found in project root" };
71
- }
64
+ const settings = readAndroidSettings(projectRoot);
65
+ if (!settings) return { ok: false, error: "settings.gradle / settings.gradle.kts not found in project root" };
72
66
 
73
- const modules = parseIncludes(settingsContent);
67
+ const modules = parseIncludes(settings.content);
74
68
  if (!modules.length) {
75
69
  return { ok: false, error: "no modules found in settings.gradle" };
76
70
  }
@@ -114,6 +108,42 @@ export function detectAndroid(projectRoot: string, options: AndroidDetectOptions
114
108
  return successResult(projectRoot, moduleName, moduleDir);
115
109
  }
116
110
 
111
+ function readAndroidSettings(projectRoot: string): { path: string; content: string } | null {
112
+ const settingsGradle = path.join(projectRoot, "settings.gradle");
113
+ const settingsGradleKts = path.join(projectRoot, "settings.gradle.kts");
114
+ if (fs.existsSync(settingsGradle)) {
115
+ return { path: settingsGradle, content: fs.readFileSync(settingsGradle, "utf8") };
116
+ }
117
+ if (fs.existsSync(settingsGradleKts)) {
118
+ return { path: settingsGradleKts, content: fs.readFileSync(settingsGradleKts, "utf8") };
119
+ }
120
+ return null;
121
+ }
122
+
123
+ export function resolveAndroidSdkModule(
124
+ projectRoot: string,
125
+ moduleName = DEFAULT_ANDROID_SDK_MODULE_NAME
126
+ ): AndroidSdkModuleResult {
127
+ const settings = readAndroidSettings(projectRoot);
128
+ if (!settings) return { ok: false, error: "settings.gradle / settings.gradle.kts not found in project root" };
129
+ const modules = parseIncludes(settings.content);
130
+ if (!modules.length) return { ok: false, error: "no modules found in settings.gradle" };
131
+
132
+ const requested = normalizeModuleSelector(moduleName);
133
+ const selected = modules.find((x) => normalizeModuleSelector(x) === requested);
134
+ if (!selected) {
135
+ return {
136
+ ok: false,
137
+ error: `ANDROID_SDK_MODULE_NOT_FOUND: ${requested}; available modules: ${modules.join(", ")}`,
138
+ };
139
+ }
140
+ return {
141
+ ok: true,
142
+ moduleName: normalizeModuleSelector(selected),
143
+ moduleDir: moduleNameToDir(projectRoot, selected),
144
+ };
145
+ }
146
+
117
147
  /** Relative path from project root to the detected application module directory (e.g. `app`, `launcher`). */
118
148
  export function applicationModuleRelPath(
119
149
  projectRoot: string,
@@ -79,13 +79,28 @@ export function updateRootBuildGradleRepositories(
79
79
  }
80
80
 
81
81
  const snippet = buildRepoSnippet(urls || []);
82
- const updated = replaceOrInsertManaged(
82
+ let updated = replaceOrInsertManaged(
83
83
  content,
84
84
  repositoriesBlock,
85
85
  START_REPO_MARKER,
86
86
  END_REPO_MARKER,
87
87
  snippet
88
88
  );
89
+
90
+ const buildscript = findBlockRange(updated, "buildscript");
91
+ if (buildscript) {
92
+ const buildscriptRepositoriesBlock = findBlockRange(updated, "repositories", buildscript.start);
93
+ if (buildscriptRepositoriesBlock && buildscriptRepositoriesBlock.end <= buildscript.end) {
94
+ updated = replaceOrInsertManaged(
95
+ updated,
96
+ buildscriptRepositoriesBlock,
97
+ START_REPO_MARKER,
98
+ END_REPO_MARKER,
99
+ snippet
100
+ );
101
+ }
102
+ }
103
+
89
104
  if (updated === content) warnings.push("root build.gradle repositories unchanged");
90
105
  return { ok: true, content: updated, changed: updated !== content, warnings };
91
106
  }
@@ -180,7 +180,7 @@ export type ModuleGradlePluginStyle = "plugins-dsl" | "apply-plugin";
180
180
  * Module uses `plugins { }` for the Android application plugin (no `apply plugin: com.android.application`).
181
181
  */
182
182
  export function detectModuleGradlePluginStyle(content: string): ModuleGradlePluginStyle {
183
- if (/apply\s+plugin:\s*['"]com\.android\.application['"]/m.test(content)) {
183
+ if (/apply\s+plugin:\s*['"]com\.android\.(?:application|library)['"]/m.test(content)) {
184
184
  return "apply-plugin";
185
185
  }
186
186
  const pluginsBlock = findBlockRange(content, "plugins");
@@ -191,8 +191,9 @@ export function detectModuleGradlePluginStyle(content: string): ModuleGradlePlug
191
191
  const blockText = content.slice(pluginsBlock.openBrace + 1, pluginsBlock.end);
192
192
  if (
193
193
  /alias\s*\(\s*libs\.plugins\.android\.application\s*\)/.test(blockText) ||
194
- /\bid\s+['"]com\.android\.application['"]/.test(blockText) ||
195
- /\bid\s*\(\s*['"]com\.android\.application['"]\s*\)/.test(blockText)
194
+ /alias\s*\(\s*libs\.plugins\.android\.library\s*\)/.test(blockText) ||
195
+ /\bid\s+['"]com\.android\.(?:application|library)['"]/.test(blockText) ||
196
+ /\bid\s*\(\s*['"]com\.android\.(?:application|library)['"]\s*\)/.test(blockText)
196
197
  ) {
197
198
  return "plugins-dsl";
198
199
  }
@@ -525,6 +526,14 @@ function ensureBuildscriptBlock(content: string): string {
525
526
  return `buildscript {\n repositories {\n }\n dependencies {\n }\n}\n\n${content}`;
526
527
  }
527
528
 
529
+ function uniqueStrings(values: readonly string[]): string[] {
530
+ const out: string[] = [];
531
+ for (const value of values) {
532
+ if (!out.includes(value)) out.push(value);
533
+ }
534
+ return out;
535
+ }
536
+
528
537
  export function updateRootBuildGradleMeetSdkRemote(
529
538
  content: string,
530
539
  params:
@@ -574,7 +583,13 @@ export function updateRootBuildGradleMeetSdkRemote(
574
583
  current = removePluginsDslLinesByIds(current, new Set(stripPluginsDslIds));
575
584
  current = stripManagedBlocks(current, TOPSDK_PLUGIN_AUTO_START, TOPSDK_PLUGIN_AUTO_END);
576
585
  }
577
- if (buildscriptRepositories.length > 0 || buildscriptClasspaths.length > 0) {
586
+ const hasExistingBuildscript = Boolean(findBlockRange(current, "buildscript"));
587
+ const mergedBuildscriptRepositoriesToApply = uniqueStrings([
588
+ ...buildscriptRepositories,
589
+ ...(hasExistingBuildscript || buildscriptRepositories.length > 0 || buildscriptClasspaths.length > 0 ? repositories : []),
590
+ ]);
591
+
592
+ if (mergedBuildscriptRepositoriesToApply.length > 0 || buildscriptClasspaths.length > 0) {
578
593
  current = ensureBuildscriptBlock(current);
579
594
  const buildscript = findBlockRange(current, "buildscript");
580
595
  if (!buildscript) return { ok: false, error: "buildscript block not found in root build.gradle" };
@@ -583,7 +598,7 @@ export function updateRootBuildGradleMeetSdkRemote(
583
598
  return { ok: false, error: "repositories block under buildscript not found" };
584
599
  }
585
600
  const buildscriptReposText = current.slice(repositoriesBlock.openBrace + 1, repositoriesBlock.end);
586
- const mergedBuildscriptRepos = mergeRepositoriesInBlock(buildscriptReposText, buildscriptRepositories);
601
+ const mergedBuildscriptRepos = mergeRepositoriesInBlock(buildscriptReposText, mergedBuildscriptRepositoriesToApply);
587
602
  current =
588
603
  current.slice(0, repositoriesBlock.openBrace + 1) +
589
604
  mergedBuildscriptRepos +
@@ -880,8 +895,25 @@ export type MeetSdkModulePluginConfig = {
880
895
  style: ModuleGradlePluginStyle;
881
896
  applyPlugins?: readonly string[];
882
897
  pluginsDsl?: readonly MeetSdkGradlePluginDslSpec[];
898
+ writeApplicationId?: boolean;
883
899
  };
884
900
 
901
+ function findAndroidDefaultConfigBlocks(
902
+ content: string
903
+ ): { androidBlock: { start: number; openBrace: number; end: number }; defaultConfigBlock: { start: number; openBrace: number; end: number } } | null {
904
+ let searchFrom = 0;
905
+ while (searchFrom < content.length) {
906
+ const androidBlock = findBlockRange(content, "android", searchFrom);
907
+ if (!androidBlock) return null;
908
+ const defaultConfigBlock = findBlockRange(content, "defaultConfig", androidBlock.start);
909
+ if (defaultConfigBlock && defaultConfigBlock.end <= androidBlock.end) {
910
+ return { androidBlock, defaultConfigBlock };
911
+ }
912
+ searchFrom = androidBlock.end + 1;
913
+ }
914
+ return null;
915
+ }
916
+
885
917
  export function updateModuleBuildGradleMeetSdkRemote(
886
918
  content: string,
887
919
  config: MeetSdkRemoteConfig,
@@ -896,6 +928,7 @@ export function updateModuleBuildGradleMeetSdkRemote(
896
928
  style: detectModuleGradlePluginStyle(content),
897
929
  applyPlugins: Array.isArray(plugins) ? plugins : [],
898
930
  pluginsDsl: [],
931
+ writeApplicationId: true,
899
932
  };
900
933
  }
901
934
  const withPlugins =
@@ -905,35 +938,30 @@ export function updateModuleBuildGradleMeetSdkRemote(
905
938
  ? mergeApplyPluginsInContent(content, pluginConfig.applyPlugins!)
906
939
  : content;
907
940
 
908
- const androidBlock = findBlockRange(withPlugins, "android");
909
- if (!androidBlock) {
910
- return { ok: false, error: "android block not found in module build.gradle" };
911
- }
912
- const defaultConfigBlock = findBlockRange(withPlugins, "defaultConfig", androidBlock.start);
913
- if (!defaultConfigBlock || defaultConfigBlock.end > androidBlock.end) {
941
+ const blocks = findAndroidDefaultConfigBlocks(withPlugins);
942
+ if (!blocks) {
914
943
  return { ok: false, error: "defaultConfig block not found under android" };
915
944
  }
916
- const withApplicationId = updateDefaultConfigApplicationId(withPlugins, defaultConfigBlock, config.packageName);
917
- const refreshedAndroidBlock = findBlockRange(withApplicationId, "android");
918
- if (!refreshedAndroidBlock) {
919
- return { ok: false, error: "android block not found in module build.gradle" };
920
- }
921
- const refreshedDefaultConfigBlock = findBlockRange(withApplicationId, "defaultConfig", refreshedAndroidBlock.start);
922
- if (!refreshedDefaultConfigBlock || refreshedDefaultConfigBlock.end > refreshedAndroidBlock.end) {
945
+ const withApplicationId =
946
+ pluginConfig.writeApplicationId === false
947
+ ? withPlugins
948
+ : updateDefaultConfigApplicationId(withPlugins, blocks.defaultConfigBlock, config.packageName);
949
+ const refreshedBlocks = findAndroidDefaultConfigBlocks(withApplicationId);
950
+ if (!refreshedBlocks) {
923
951
  return { ok: false, error: "defaultConfig block not found under android" };
924
952
  }
925
953
  const defaultConfigText = withApplicationId.slice(
926
- refreshedDefaultConfigBlock.openBrace + 1,
927
- refreshedDefaultConfigBlock.end
954
+ refreshedBlocks.defaultConfigBlock.openBrace + 1,
955
+ refreshedBlocks.defaultConfigBlock.end
928
956
  );
929
957
  const mergedDefaultConfigText = mergeResValuesInDefaultConfigBlock(
930
958
  defaultConfigText,
931
959
  buildResValuesSnippet(config)
932
960
  );
933
961
  const withResValues =
934
- withApplicationId.slice(0, refreshedDefaultConfigBlock.openBrace + 1) +
962
+ withApplicationId.slice(0, refreshedBlocks.defaultConfigBlock.openBrace + 1) +
935
963
  mergedDefaultConfigText +
936
- withApplicationId.slice(refreshedDefaultConfigBlock.end);
964
+ withApplicationId.slice(refreshedBlocks.defaultConfigBlock.end);
937
965
 
938
966
  const dependenciesBlock = findBlockRange(withResValues, "dependencies");
939
967
  if (!dependenciesBlock) {
package/src/cli.ts CHANGED
@@ -62,6 +62,7 @@ interface Parsed {
62
62
  topsdkChannelType: string;
63
63
  topsdkPackageName: string;
64
64
  appTarget: string;
65
+ sdkModuleName: string;
65
66
  sdkHomeApiBaseUrl: string;
66
67
  iosSdkPackageType: string;
67
68
  }
@@ -71,11 +72,11 @@ function printHelp(): void {
71
72
  meetgames — Android-first integration CLI (TypeScript)
72
73
 
73
74
  Usage:
74
- meetgames integrate [--project-root <path>] [--app-id ID] [--channel-type TYPE] [--env prod|pre|test] [--app-target <target>] [--dry-run] [--verbose] [--patch-file <path>]
75
+ meetgames integrate [--project-root <path>] [--app-id ID] [--channel-type TYPE] [--env prod|pre|test] [--app-target <target>] [--sdk-module <module>] [--dry-run] [--verbose] [--patch-file <path>]
75
76
  meetgames fetch-config [--app-id ID] [--app-secret SECRET] [--channel-type TYPE] [--env prod|pre|test] [--project-root <path>] [--verbose]
76
77
  meetgames download-ios-sdk [--project-root <path>] [--app-id ID] [--channel-type TYPE] [--env prod|pre|test] [--package-type native|unity|cocos] [--sdk-api-base-url URL] [--verbose]
77
- meetgames setup [--app-id ID] [--app-secret SECRET] [--channel-type TYPE] [--env prod|pre|test] [--project-root <path>] [--app-target <target>] [--dry-run] [--verbose] [--patch-file <path>]
78
- meetgames doctor [--app-id ID] [--app-secret SECRET] [--channel-type TYPE] [--env prod|pre|test] --project-root <path> [--app-target <target>] [--verbose]
78
+ meetgames setup [--app-id ID] [--app-secret SECRET] [--channel-type TYPE] [--env prod|pre|test] [--project-root <path>] [--app-target <target>] [--sdk-module <module>] [--dry-run] [--verbose]
79
+ meetgames doctor [--app-id ID] [--app-secret SECRET] [--channel-type TYPE] [--env prod|pre|test] --project-root <path> [--app-target <target>] [--sdk-module <module>] [--verbose]
79
80
 
80
81
  Notes:
81
82
  - Source code is TypeScript only; published bin runs compiled output under dist/.
@@ -97,22 +98,23 @@ Notes:
97
98
  Options (global where noted):
98
99
  --project-root Host project directory (default: cwd); for iOS it may point to the project root or directly to a .xcodeproj directory
99
100
  --app-target App target to integrate/check: Android application Gradle module (e.g. :app or launcher) or iOS App target name
101
+ --sdk-module Android SDK integration Gradle module for resValue/dependencies (default: unityLibrary); must be included by settings.gradle/settings.gradle.kts
100
102
  --app-id fetch-config/integrate/doctor cache selector; default TOPSDK_APP_ID
101
103
  --app-secret fetch-config: required appSecret for downloadSDKConfig sign (or env TOPSDK_APP_SECRET)
102
104
  --channel-type fetch-config/integrate/doctor cache selector; default TOPSDK_CHANNEL_TYPE
103
105
  --env fetch-config: prod(正式服,默认)| pre | test(开发调试)
104
106
  TOPSDK_API_BASE_URL fetch-config: 覆盖 API 根地址(如 http://localhost:18080/ 联调本机 console)
105
107
  MEETGAMES_SDK_HOME_API_BASE_URL 覆盖 sdk-home API 根地址(默认 https://business-api.meetgames.com);用于 Android 最新版本查询和 iOS SDK 下载
106
- --sdk-api-base-url sdk-home API 根地址;用于 Android 最新版本查询和 iOS SDK 下载
108
+ --sdk-api-base-url sdk-home API 根地址;用于 Android 最新版本查询和 iOS SDK 下载(setup 不支持)
107
109
  --package-type download-ios-sdk: native(默认)| unity | cocos
108
- --dry-run integrate: compute changes and patch preview without writing host project files (default is write to disk)
109
- --report-file Write JSON report to path
110
+ --dry-run integrate/setup: compute changes without writing host project files (setup still writes fetched config cache)
111
+ --report-file integrate: write JSON report to path
110
112
  --patch-file integrate: write unified diff to this path (works with --dry-run). If under <pkg>/fixtures/expected-patches/, all existing files in that dir are removed first so only the latest patch remains.
111
113
  --verbose Verbose logs and full patch preview
112
114
 
113
115
  Subcommand notes:
114
116
  - integrate defaults to writing files; use --dry-run for CI preview / diff-only.
115
- - setup: step 1 always writes meetsdk-remote-config.json; step 2 honors --dry-run / --patch-file / --report-file.
117
+ - setup: step 1 always writes meetsdk-remote-config.json; step 2 honors --dry-run.
116
118
  - fetch-config ignores --dry-run, --report-file, --patch-file (shared parser only).
117
119
  `);
118
120
  }
@@ -133,6 +135,7 @@ function parseArgv(argv: string[]): Parsed {
133
135
  topsdkChannelType: "",
134
136
  topsdkPackageName: "",
135
137
  appTarget: "",
138
+ sdkModuleName: "",
136
139
  sdkHomeApiBaseUrl: "",
137
140
  iosSdkPackageType: "",
138
141
  };
@@ -168,6 +171,12 @@ function parseArgv(argv: string[]): Parsed {
168
171
  i += 1;
169
172
  continue;
170
173
  }
174
+ if (t === "--sdk-module") {
175
+ out.sdkModuleName = rest[i + 1] ?? "";
176
+ if (!out.sdkModuleName || out.sdkModuleName.startsWith("-")) fail("--sdk-module requires a module name", EXIT.INVALID_ARGS);
177
+ i += 1;
178
+ continue;
179
+ }
171
180
  if (t === "--sdk-api-base-url") {
172
181
  out.sdkHomeApiBaseUrl = rest[i + 1] ?? "";
173
182
  if (!out.sdkHomeApiBaseUrl || out.sdkHomeApiBaseUrl.startsWith("-")) {
@@ -231,6 +240,10 @@ function resolvedAppTarget(parsed: Parsed): string {
231
240
  return parsed.appTarget;
232
241
  }
233
242
 
243
+ function resolvedSdkModuleName(parsed: Parsed): string | undefined {
244
+ return parsed.sdkModuleName.trim() || undefined;
245
+ }
246
+
234
247
  function cachedRemoteConfigPathFromArgs(parsed: Parsed): string {
235
248
  const appId = parsed.topsdkAppId || process.env.TOPSDK_APP_ID || "";
236
249
  const channelType = parsed.topsdkChannelType || process.env.TOPSDK_CHANNEL_TYPE || "";
@@ -245,6 +258,7 @@ function selectedPlatformContext(parsed: Parsed): {
245
258
  } {
246
259
  const ctx = buildWorkspaceContext(parsed.projectRoot, resolvePackageRoot(), {
247
260
  appTarget: resolvedAppTarget(parsed),
261
+ sdkModuleName: resolvedSdkModuleName(parsed),
248
262
  sdkHomeApiBaseUrl: parsed.sdkHomeApiBaseUrl || undefined,
249
263
  remoteConfigPath: cachedRemoteConfigPathFromArgs(parsed) || undefined,
250
264
  });
@@ -469,7 +483,16 @@ export async function main(): Promise<void> {
469
483
  if (parsed.appTarget && !["doctor", "setup", "integrate"].includes(parsed.command)) {
470
484
  fail("--app-target is only supported by doctor, setup, and integrate", EXIT.INVALID_ARGS);
471
485
  }
486
+ if (parsed.sdkModuleName && !["doctor", "setup", "integrate"].includes(parsed.command)) {
487
+ fail("--sdk-module is only supported by doctor, setup, and integrate", EXIT.INVALID_ARGS);
488
+ }
489
+ if (parsed.command === "setup") {
490
+ if (parsed.patchFile) fail("--patch-file is not supported by setup", EXIT.INVALID_ARGS);
491
+ if (parsed.reportFile) fail("--report-file is not supported by setup", EXIT.INVALID_ARGS);
492
+ if (parsed.sdkHomeApiBaseUrl) fail("--sdk-api-base-url is not supported by setup", EXIT.INVALID_ARGS);
493
+ }
472
494
  resolvedAppTarget(parsed);
495
+ resolvedSdkModuleName(parsed);
473
496
 
474
497
  switch (parsed.command) {
475
498
  case "doctor":