@adhisang/minecraft-modding-mcp 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -2
- package/README.md +9 -2
- package/dist/entry-tools/analyze-symbol-service.d.ts +12 -0
- package/dist/entry-tools/analyze-symbol-service.js +7 -0
- package/dist/entry-tools/batch-class-members-service.d.ts +1 -0
- package/dist/entry-tools/batch-class-members-service.js +2 -0
- package/dist/entry-tools/batch-class-source-service.d.ts +1 -0
- package/dist/entry-tools/batch-class-source-service.js +2 -0
- package/dist/entry-tools/batch-mappings-service.d.ts +1 -0
- package/dist/entry-tools/batch-mappings-service.js +1 -0
- package/dist/entry-tools/batch-symbol-exists-service.d.ts +1 -0
- package/dist/entry-tools/batch-symbol-exists-service.js +2 -0
- package/dist/entry-tools/compare-minecraft-service.d.ts +9 -0
- package/dist/entry-tools/compare-minecraft-service.js +3 -1
- package/dist/entry-tools/inspect-minecraft/handlers/class-members.js +1 -0
- package/dist/entry-tools/inspect-minecraft/handlers/class-overview.js +3 -1
- package/dist/entry-tools/inspect-minecraft/handlers/class-source.js +1 -0
- package/dist/entry-tools/inspect-minecraft/handlers/list-files.js +1 -0
- package/dist/entry-tools/inspect-minecraft/handlers/search.js +2 -1
- package/dist/entry-tools/inspect-minecraft/internal.d.ts +17 -0
- package/dist/entry-tools/inspect-minecraft/internal.js +10 -0
- package/dist/entry-tools/inspect-minecraft-service.d.ts +40 -0
- package/dist/entry-tools/validate-project/cases/project-summary.d.ts +6 -1
- package/dist/entry-tools/validate-project/cases/project-summary.js +83 -9
- package/dist/entry-tools/validate-project/internal.d.ts +29 -18
- package/dist/entry-tools/validate-project/internal.js +37 -19
- package/dist/entry-tools/validate-project-service.d.ts +15 -1
- package/dist/entry-tools/validate-project-service.js +3 -2
- package/dist/entry-tools/verify-mixin-target-service.d.ts +2 -0
- package/dist/entry-tools/verify-mixin-target-service.js +1 -0
- package/dist/gradle-paths.d.ts +8 -3
- package/dist/gradle-paths.js +34 -5
- package/dist/index.js +29 -9
- package/dist/mapping/loaders/tiny-loom.d.ts +1 -1
- package/dist/mapping/loaders/tiny-loom.js +5 -2
- package/dist/mapping/types.d.ts +5 -0
- package/dist/mapping-service.d.ts +6 -1
- package/dist/mapping-service.js +26 -18
- package/dist/mixin-validator.d.ts +1 -1
- package/dist/mixin-validator.js +1 -1
- package/dist/source/access-validate.js +12 -8
- package/dist/source/artifact-resolver.d.ts +7 -1
- package/dist/source/artifact-resolver.js +120 -7
- package/dist/source/class-source/members-builder.d.ts +1 -0
- package/dist/source/class-source/members-builder.js +1 -1
- package/dist/source/class-source.d.ts +1 -0
- package/dist/source/class-source.js +9 -1
- package/dist/source/indexer.js +17 -0
- package/dist/source/lifecycle/diff.js +6 -6
- package/dist/source/lifecycle/mapping-helpers.d.ts +3 -3
- package/dist/source/lifecycle/mapping-helpers.js +17 -9
- package/dist/source/lifecycle/trace.js +2 -2
- package/dist/source/search.js +1 -0
- package/dist/source/state.d.ts +5 -0
- package/dist/source/state.js +5 -0
- package/dist/source/symbol-resolver.js +4 -1
- package/dist/source/validate-mixin/pipeline/mapping-health.js +2 -1
- package/dist/source/validate-mixin/pipeline/resolve.js +1 -0
- package/dist/source/validate-mixin/pipeline/target-lookup.js +12 -7
- package/dist/source-resolver.d.ts +1 -0
- package/dist/source-resolver.js +1 -1
- package/dist/source-service.d.ts +35 -1
- package/dist/source-service.js +5 -2
- package/dist/tool-contract-manifest.d.ts +1 -1
- package/dist/tool-contract-manifest.js +2 -2
- package/dist/tool-schemas.d.ts +91 -0
- package/dist/tool-schemas.js +20 -0
- package/docs/README-ja.md +4 -2
- package/docs/tool-reference.md +13 -7
- package/package.json +15 -3
|
@@ -58,6 +58,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
|
|
|
58
58
|
mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
|
|
59
59
|
scope: z.enum(["vanilla", "merged", "loader"]).optional(),
|
|
60
60
|
projectPath: nonEmptyString.optional(),
|
|
61
|
+
gradleUserHome: nonEmptyString.optional(),
|
|
61
62
|
preferProjectVersion: z.boolean().optional(),
|
|
62
63
|
strictVersion: z.boolean().optional()
|
|
63
64
|
}),
|
|
@@ -67,6 +68,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
|
|
|
67
68
|
mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
|
|
68
69
|
scope: z.enum(["vanilla", "merged", "loader"]).optional(),
|
|
69
70
|
projectPath: nonEmptyString.optional(),
|
|
71
|
+
gradleUserHome: nonEmptyString.optional(),
|
|
70
72
|
preferProjectVersion: z.boolean().optional(),
|
|
71
73
|
strictVersion: z.boolean().optional()
|
|
72
74
|
}),
|
|
@@ -77,6 +79,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
|
|
|
77
79
|
mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
|
|
78
80
|
scope: z.enum(["vanilla", "merged", "loader"]).optional(),
|
|
79
81
|
projectPath: nonEmptyString.optional(),
|
|
82
|
+
gradleUserHome: nonEmptyString.optional(),
|
|
80
83
|
preferProjectVersion: z.boolean().optional(),
|
|
81
84
|
strictVersion: z.boolean().optional()
|
|
82
85
|
}),
|
|
@@ -101,6 +104,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
|
|
|
101
104
|
projectPath: nonEmptyString,
|
|
102
105
|
mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
|
|
103
106
|
scope: z.enum(["vanilla", "merged", "loader"]).optional(),
|
|
107
|
+
gradleUserHome: nonEmptyString.optional(),
|
|
104
108
|
preferProjectVersion: z.boolean().optional(),
|
|
105
109
|
strictVersion: z.boolean().optional(),
|
|
106
110
|
focus: workspaceFocusSchema.optional()
|
|
@@ -171,6 +175,7 @@ export function buildClassSubject(subject) {
|
|
|
171
175
|
className: workspaceFocus.className,
|
|
172
176
|
artifact: workspaceFocus.artifact,
|
|
173
177
|
projectPath: subject.projectPath,
|
|
178
|
+
...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
|
|
174
179
|
mapping: subject.mapping,
|
|
175
180
|
scope: subject.scope,
|
|
176
181
|
preferProjectVersion: subject.preferProjectVersion,
|
|
@@ -198,6 +203,7 @@ export async function resolveWorkspaceArtifactReference(deps, subject, artifactR
|
|
|
198
203
|
mapping: subject.mapping,
|
|
199
204
|
scope: subject.scope,
|
|
200
205
|
projectPath: subject.projectPath,
|
|
206
|
+
...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
|
|
201
207
|
preferProjectVersion: subject.preferProjectVersion,
|
|
202
208
|
strictVersion: subject.strictVersion
|
|
203
209
|
});
|
|
@@ -343,6 +349,7 @@ export async function resolveBinaryBackedClass(deps, className, input) {
|
|
|
343
349
|
kind: "class",
|
|
344
350
|
name: className,
|
|
345
351
|
sourceMapping: input.mapping ?? "obfuscated",
|
|
352
|
+
...(input.gradleUserHome !== undefined ? { gradleUserHome: input.gradleUserHome } : {}),
|
|
346
353
|
nameMode: className.includes(".") ? "fqcn" : "auto",
|
|
347
354
|
maxCandidates: 10
|
|
348
355
|
});
|
|
@@ -391,6 +398,7 @@ export async function resolveArtifactReference(deps, subject, task) {
|
|
|
391
398
|
mapping: subject.mapping,
|
|
392
399
|
scope: subject.scope,
|
|
393
400
|
projectPath: subject.projectPath,
|
|
401
|
+
...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
|
|
394
402
|
preferProjectVersion: subject.preferProjectVersion,
|
|
395
403
|
strictVersion: subject.strictVersion
|
|
396
404
|
});
|
|
@@ -414,6 +422,7 @@ export async function resolveArtifactReference(deps, subject, task) {
|
|
|
414
422
|
mapping: subject.mapping,
|
|
415
423
|
scope: subject.scope,
|
|
416
424
|
projectPath: subject.projectPath,
|
|
425
|
+
...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
|
|
417
426
|
preferProjectVersion: subject.preferProjectVersion ?? true,
|
|
418
427
|
strictVersion: subject.strictVersion
|
|
419
428
|
});
|
|
@@ -436,6 +445,7 @@ async function resolveArtifactRef(deps, ref, subject) {
|
|
|
436
445
|
mapping: "mapping" in subject ? subject.mapping : undefined,
|
|
437
446
|
scope: "scope" in subject ? subject.scope : undefined,
|
|
438
447
|
projectPath: "projectPath" in subject ? subject.projectPath : undefined,
|
|
448
|
+
...("gradleUserHome" in subject && subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
|
|
439
449
|
preferProjectVersion: "preferProjectVersion" in subject ? subject.preferProjectVersion : undefined,
|
|
440
450
|
strictVersion: "strictVersion" in subject ? subject.strictVersion : undefined
|
|
441
451
|
});
|
|
@@ -8,6 +8,7 @@ export declare const inspectMinecraftShape: {
|
|
|
8
8
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
9
9
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
10
10
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
11
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
11
12
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
12
13
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
13
14
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -16,6 +17,7 @@ export declare const inspectMinecraftShape: {
|
|
|
16
17
|
projectPath?: string | undefined;
|
|
17
18
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
18
19
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
20
|
+
gradleUserHome?: string | undefined;
|
|
19
21
|
preferProjectVersion?: boolean | undefined;
|
|
20
22
|
strictVersion?: boolean | undefined;
|
|
21
23
|
}, {
|
|
@@ -24,6 +26,7 @@ export declare const inspectMinecraftShape: {
|
|
|
24
26
|
projectPath?: string | undefined;
|
|
25
27
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
26
28
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
29
|
+
gradleUserHome?: string | undefined;
|
|
27
30
|
preferProjectVersion?: boolean | undefined;
|
|
28
31
|
strictVersion?: boolean | undefined;
|
|
29
32
|
}>, z.ZodObject<{
|
|
@@ -65,6 +68,7 @@ export declare const inspectMinecraftShape: {
|
|
|
65
68
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
66
69
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
67
70
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
71
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
68
72
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
69
73
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
70
74
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -82,6 +86,7 @@ export declare const inspectMinecraftShape: {
|
|
|
82
86
|
projectPath?: string | undefined;
|
|
83
87
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
84
88
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
89
|
+
gradleUserHome?: string | undefined;
|
|
85
90
|
preferProjectVersion?: boolean | undefined;
|
|
86
91
|
strictVersion?: boolean | undefined;
|
|
87
92
|
}, {
|
|
@@ -99,6 +104,7 @@ export declare const inspectMinecraftShape: {
|
|
|
99
104
|
projectPath?: string | undefined;
|
|
100
105
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
101
106
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
107
|
+
gradleUserHome?: string | undefined;
|
|
102
108
|
preferProjectVersion?: boolean | undefined;
|
|
103
109
|
strictVersion?: boolean | undefined;
|
|
104
110
|
}>, z.ZodObject<{
|
|
@@ -141,6 +147,7 @@ export declare const inspectMinecraftShape: {
|
|
|
141
147
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
142
148
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
143
149
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
150
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
144
151
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
145
152
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
146
153
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -149,6 +156,7 @@ export declare const inspectMinecraftShape: {
|
|
|
149
156
|
projectPath?: string | undefined;
|
|
150
157
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
151
158
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
159
|
+
gradleUserHome?: string | undefined;
|
|
152
160
|
preferProjectVersion?: boolean | undefined;
|
|
153
161
|
strictVersion?: boolean | undefined;
|
|
154
162
|
artifact?: {
|
|
@@ -167,6 +175,7 @@ export declare const inspectMinecraftShape: {
|
|
|
167
175
|
projectPath?: string | undefined;
|
|
168
176
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
169
177
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
178
|
+
gradleUserHome?: string | undefined;
|
|
170
179
|
preferProjectVersion?: boolean | undefined;
|
|
171
180
|
strictVersion?: boolean | undefined;
|
|
172
181
|
artifact?: {
|
|
@@ -328,6 +337,7 @@ export declare const inspectMinecraftShape: {
|
|
|
328
337
|
projectPath: z.ZodString;
|
|
329
338
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
330
339
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
340
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
331
341
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
332
342
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
333
343
|
focus: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
@@ -543,6 +553,7 @@ export declare const inspectMinecraftShape: {
|
|
|
543
553
|
projectPath: string;
|
|
544
554
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
545
555
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
556
|
+
gradleUserHome?: string | undefined;
|
|
546
557
|
preferProjectVersion?: boolean | undefined;
|
|
547
558
|
strictVersion?: boolean | undefined;
|
|
548
559
|
focus?: {
|
|
@@ -596,6 +607,7 @@ export declare const inspectMinecraftShape: {
|
|
|
596
607
|
projectPath: string;
|
|
597
608
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
598
609
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
610
|
+
gradleUserHome?: string | undefined;
|
|
599
611
|
preferProjectVersion?: boolean | undefined;
|
|
600
612
|
strictVersion?: boolean | undefined;
|
|
601
613
|
focus?: {
|
|
@@ -659,6 +671,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
659
671
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
660
672
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
661
673
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
674
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
662
675
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
663
676
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
664
677
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -667,6 +680,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
667
680
|
projectPath?: string | undefined;
|
|
668
681
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
669
682
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
683
|
+
gradleUserHome?: string | undefined;
|
|
670
684
|
preferProjectVersion?: boolean | undefined;
|
|
671
685
|
strictVersion?: boolean | undefined;
|
|
672
686
|
}, {
|
|
@@ -675,6 +689,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
675
689
|
projectPath?: string | undefined;
|
|
676
690
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
677
691
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
692
|
+
gradleUserHome?: string | undefined;
|
|
678
693
|
preferProjectVersion?: boolean | undefined;
|
|
679
694
|
strictVersion?: boolean | undefined;
|
|
680
695
|
}>, z.ZodObject<{
|
|
@@ -716,6 +731,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
716
731
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
717
732
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
718
733
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
734
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
719
735
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
720
736
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
721
737
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -733,6 +749,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
733
749
|
projectPath?: string | undefined;
|
|
734
750
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
735
751
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
752
|
+
gradleUserHome?: string | undefined;
|
|
736
753
|
preferProjectVersion?: boolean | undefined;
|
|
737
754
|
strictVersion?: boolean | undefined;
|
|
738
755
|
}, {
|
|
@@ -750,6 +767,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
750
767
|
projectPath?: string | undefined;
|
|
751
768
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
752
769
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
770
|
+
gradleUserHome?: string | undefined;
|
|
753
771
|
preferProjectVersion?: boolean | undefined;
|
|
754
772
|
strictVersion?: boolean | undefined;
|
|
755
773
|
}>, z.ZodObject<{
|
|
@@ -792,6 +810,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
792
810
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
793
811
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
794
812
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
813
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
795
814
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
796
815
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
797
816
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -800,6 +819,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
800
819
|
projectPath?: string | undefined;
|
|
801
820
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
802
821
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
822
|
+
gradleUserHome?: string | undefined;
|
|
803
823
|
preferProjectVersion?: boolean | undefined;
|
|
804
824
|
strictVersion?: boolean | undefined;
|
|
805
825
|
artifact?: {
|
|
@@ -818,6 +838,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
818
838
|
projectPath?: string | undefined;
|
|
819
839
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
820
840
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
841
|
+
gradleUserHome?: string | undefined;
|
|
821
842
|
preferProjectVersion?: boolean | undefined;
|
|
822
843
|
strictVersion?: boolean | undefined;
|
|
823
844
|
artifact?: {
|
|
@@ -979,6 +1000,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
979
1000
|
projectPath: z.ZodString;
|
|
980
1001
|
mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
|
|
981
1002
|
scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
|
|
1003
|
+
gradleUserHome: z.ZodOptional<z.ZodString>;
|
|
982
1004
|
preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
|
|
983
1005
|
strictVersion: z.ZodOptional<z.ZodBoolean>;
|
|
984
1006
|
focus: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
@@ -1194,6 +1216,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1194
1216
|
projectPath: string;
|
|
1195
1217
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1196
1218
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1219
|
+
gradleUserHome?: string | undefined;
|
|
1197
1220
|
preferProjectVersion?: boolean | undefined;
|
|
1198
1221
|
strictVersion?: boolean | undefined;
|
|
1199
1222
|
focus?: {
|
|
@@ -1247,6 +1270,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1247
1270
|
projectPath: string;
|
|
1248
1271
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1249
1272
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1273
|
+
gradleUserHome?: string | undefined;
|
|
1250
1274
|
preferProjectVersion?: boolean | undefined;
|
|
1251
1275
|
strictVersion?: boolean | undefined;
|
|
1252
1276
|
focus?: {
|
|
@@ -1312,6 +1336,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1312
1336
|
projectPath?: string | undefined;
|
|
1313
1337
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1314
1338
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1339
|
+
gradleUserHome?: string | undefined;
|
|
1315
1340
|
preferProjectVersion?: boolean | undefined;
|
|
1316
1341
|
strictVersion?: boolean | undefined;
|
|
1317
1342
|
} | {
|
|
@@ -1329,6 +1354,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1329
1354
|
projectPath?: string | undefined;
|
|
1330
1355
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1331
1356
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1357
|
+
gradleUserHome?: string | undefined;
|
|
1332
1358
|
preferProjectVersion?: boolean | undefined;
|
|
1333
1359
|
strictVersion?: boolean | undefined;
|
|
1334
1360
|
} | {
|
|
@@ -1337,6 +1363,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1337
1363
|
projectPath?: string | undefined;
|
|
1338
1364
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1339
1365
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1366
|
+
gradleUserHome?: string | undefined;
|
|
1340
1367
|
preferProjectVersion?: boolean | undefined;
|
|
1341
1368
|
strictVersion?: boolean | undefined;
|
|
1342
1369
|
artifact?: {
|
|
@@ -1386,6 +1413,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1386
1413
|
projectPath: string;
|
|
1387
1414
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1388
1415
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1416
|
+
gradleUserHome?: string | undefined;
|
|
1389
1417
|
preferProjectVersion?: boolean | undefined;
|
|
1390
1418
|
strictVersion?: boolean | undefined;
|
|
1391
1419
|
focus?: {
|
|
@@ -1448,6 +1476,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1448
1476
|
projectPath?: string | undefined;
|
|
1449
1477
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1450
1478
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1479
|
+
gradleUserHome?: string | undefined;
|
|
1451
1480
|
preferProjectVersion?: boolean | undefined;
|
|
1452
1481
|
strictVersion?: boolean | undefined;
|
|
1453
1482
|
} | {
|
|
@@ -1465,6 +1494,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1465
1494
|
projectPath?: string | undefined;
|
|
1466
1495
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1467
1496
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1497
|
+
gradleUserHome?: string | undefined;
|
|
1468
1498
|
preferProjectVersion?: boolean | undefined;
|
|
1469
1499
|
strictVersion?: boolean | undefined;
|
|
1470
1500
|
} | {
|
|
@@ -1473,6 +1503,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1473
1503
|
projectPath?: string | undefined;
|
|
1474
1504
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1475
1505
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1506
|
+
gradleUserHome?: string | undefined;
|
|
1476
1507
|
preferProjectVersion?: boolean | undefined;
|
|
1477
1508
|
strictVersion?: boolean | undefined;
|
|
1478
1509
|
artifact?: {
|
|
@@ -1522,6 +1553,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1522
1553
|
projectPath: string;
|
|
1523
1554
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1524
1555
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1556
|
+
gradleUserHome?: string | undefined;
|
|
1525
1557
|
preferProjectVersion?: boolean | undefined;
|
|
1526
1558
|
strictVersion?: boolean | undefined;
|
|
1527
1559
|
focus?: {
|
|
@@ -1584,6 +1616,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1584
1616
|
projectPath?: string | undefined;
|
|
1585
1617
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1586
1618
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1619
|
+
gradleUserHome?: string | undefined;
|
|
1587
1620
|
preferProjectVersion?: boolean | undefined;
|
|
1588
1621
|
strictVersion?: boolean | undefined;
|
|
1589
1622
|
} | {
|
|
@@ -1601,6 +1634,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1601
1634
|
projectPath?: string | undefined;
|
|
1602
1635
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1603
1636
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1637
|
+
gradleUserHome?: string | undefined;
|
|
1604
1638
|
preferProjectVersion?: boolean | undefined;
|
|
1605
1639
|
strictVersion?: boolean | undefined;
|
|
1606
1640
|
} | {
|
|
@@ -1609,6 +1643,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1609
1643
|
projectPath?: string | undefined;
|
|
1610
1644
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1611
1645
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1646
|
+
gradleUserHome?: string | undefined;
|
|
1612
1647
|
preferProjectVersion?: boolean | undefined;
|
|
1613
1648
|
strictVersion?: boolean | undefined;
|
|
1614
1649
|
artifact?: {
|
|
@@ -1658,6 +1693,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1658
1693
|
projectPath: string;
|
|
1659
1694
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1660
1695
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1696
|
+
gradleUserHome?: string | undefined;
|
|
1661
1697
|
preferProjectVersion?: boolean | undefined;
|
|
1662
1698
|
strictVersion?: boolean | undefined;
|
|
1663
1699
|
focus?: {
|
|
@@ -1720,6 +1756,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1720
1756
|
projectPath?: string | undefined;
|
|
1721
1757
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1722
1758
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1759
|
+
gradleUserHome?: string | undefined;
|
|
1723
1760
|
preferProjectVersion?: boolean | undefined;
|
|
1724
1761
|
strictVersion?: boolean | undefined;
|
|
1725
1762
|
} | {
|
|
@@ -1737,6 +1774,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1737
1774
|
projectPath?: string | undefined;
|
|
1738
1775
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1739
1776
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1777
|
+
gradleUserHome?: string | undefined;
|
|
1740
1778
|
preferProjectVersion?: boolean | undefined;
|
|
1741
1779
|
strictVersion?: boolean | undefined;
|
|
1742
1780
|
} | {
|
|
@@ -1745,6 +1783,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1745
1783
|
projectPath?: string | undefined;
|
|
1746
1784
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1747
1785
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1786
|
+
gradleUserHome?: string | undefined;
|
|
1748
1787
|
preferProjectVersion?: boolean | undefined;
|
|
1749
1788
|
strictVersion?: boolean | undefined;
|
|
1750
1789
|
artifact?: {
|
|
@@ -1794,6 +1833,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1794
1833
|
projectPath: string;
|
|
1795
1834
|
mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
|
|
1796
1835
|
scope?: "vanilla" | "merged" | "loader" | undefined;
|
|
1836
|
+
gradleUserHome?: string | undefined;
|
|
1797
1837
|
preferProjectVersion?: boolean | undefined;
|
|
1798
1838
|
strictVersion?: boolean | undefined;
|
|
1799
1839
|
focus?: {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { type DetailLevel } from "../../response-contract.js";
|
|
2
|
+
import type { StageEmitter } from "../../../stage-emitter.js";
|
|
2
3
|
import type { ValidateProjectInput } from "../../validate-project-service.js";
|
|
3
4
|
import { type ValidateProjectDeps } from "../internal.js";
|
|
4
|
-
|
|
5
|
+
type ProjectSummaryOptions = {
|
|
6
|
+
stageEmitter?: StageEmitter;
|
|
7
|
+
};
|
|
8
|
+
export declare function handleProjectSummary(deps: ValidateProjectDeps, input: ValidateProjectInput, detail: DetailLevel, include: string[], options?: ProjectSummaryOptions): Promise<{
|
|
5
9
|
warnings: string[];
|
|
6
10
|
tasks?: {
|
|
7
11
|
"workspace.detected": {
|
|
@@ -95,3 +99,4 @@ export declare function handleProjectSummary(deps: ValidateProjectDeps, input: V
|
|
|
95
99
|
};
|
|
96
100
|
} | undefined;
|
|
97
101
|
}>;
|
|
102
|
+
export {};
|
|
@@ -2,7 +2,24 @@ import { readFile } from "node:fs/promises";
|
|
|
2
2
|
import { buildEntryToolResult, createSummarySubject } from "../../response-contract.js";
|
|
3
3
|
import { ERROR_CODES, createError } from "../../../errors.js";
|
|
4
4
|
import { buildEarlyTasksForBlocked, buildFullTaskStatusReport } from "../internal.js";
|
|
5
|
-
|
|
5
|
+
// Telemetry failures must not change validation outcomes; swallow rejections
|
|
6
|
+
// so a broken emitter does not abort the summary or count as a validation error.
|
|
7
|
+
async function safeEmit(emitter, stage, payload) {
|
|
8
|
+
if (!emitter)
|
|
9
|
+
return;
|
|
10
|
+
try {
|
|
11
|
+
await emitter(stage, payload);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// swallow telemetry failure
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export async function handleProjectSummary(deps, input, detail, include, options = {}) {
|
|
18
|
+
// Forwarded emitter for nested validators and probes; same swallow contract
|
|
19
|
+
// as safeEmit so a rejecting raw emitter cannot leak into their outcomes.
|
|
20
|
+
const wrappedEmitter = options.stageEmitter
|
|
21
|
+
? (stage, meta) => safeEmit(options.stageEmitter, stage, meta)
|
|
22
|
+
: undefined;
|
|
6
23
|
if (input.subject.kind !== "workspace") {
|
|
7
24
|
throw createError({
|
|
8
25
|
code: ERROR_CODES.INVALID_INPUT,
|
|
@@ -42,7 +59,11 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
42
59
|
}
|
|
43
60
|
}
|
|
44
61
|
});
|
|
45
|
-
|
|
62
|
+
await safeEmit(options.stageEmitter, "validate-project:task-report", {
|
|
63
|
+
projectPath: input.subject.projectPath,
|
|
64
|
+
reason: "missing-version"
|
|
65
|
+
});
|
|
66
|
+
const tasks = await buildEarlyTasksForBlocked(input.subject.projectPath, detail, include, undefined, input.subject.gradleUserHome);
|
|
46
67
|
return {
|
|
47
68
|
...baseResult,
|
|
48
69
|
...(tasks ? { tasks } : {}),
|
|
@@ -50,11 +71,16 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
50
71
|
};
|
|
51
72
|
}
|
|
52
73
|
const projectPath = input.subject.projectPath;
|
|
74
|
+
const gradleUserHome = input.subject.gradleUserHome;
|
|
75
|
+
const discover = input.subject.discover ?? ["mixins", "access-wideners"];
|
|
76
|
+
await safeEmit(options.stageEmitter, "validate-project:workspace-discovery", {
|
|
77
|
+
projectPath,
|
|
78
|
+
discover
|
|
79
|
+
});
|
|
53
80
|
const detectedProjectVersion = input.preferProjectVersion
|
|
54
81
|
? await deps.detectProjectMinecraftVersion?.(projectPath)
|
|
55
82
|
: undefined;
|
|
56
83
|
const resolvedVersion = detectedProjectVersion ?? input.version;
|
|
57
|
-
const discover = input.subject.discover ?? ["mixins", "access-wideners"];
|
|
58
84
|
const [mixinConfigs, accessWideners, accessTransformers] = await Promise.all([
|
|
59
85
|
discover.includes("mixins")
|
|
60
86
|
? deps.discoverMixins(projectPath, input.configPaths)
|
|
@@ -102,11 +128,18 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
102
128
|
}
|
|
103
129
|
}
|
|
104
130
|
});
|
|
105
|
-
|
|
131
|
+
await safeEmit(options.stageEmitter, "validate-project:task-report", {
|
|
132
|
+
projectPath,
|
|
133
|
+
reason: "version-unresolved",
|
|
106
134
|
mixinDiscoveryCount: mixinConfigs.length,
|
|
107
135
|
awDiscoveryCount: accessWideners.length,
|
|
108
136
|
atDiscoveryCount: accessTransformers.length
|
|
109
137
|
});
|
|
138
|
+
const tasks = await buildEarlyTasksForBlocked(projectPath, detail, include, {
|
|
139
|
+
mixinDiscoveryCount: mixinConfigs.length,
|
|
140
|
+
awDiscoveryCount: accessWideners.length,
|
|
141
|
+
atDiscoveryCount: accessTransformers.length
|
|
142
|
+
}, gradleUserHome);
|
|
110
143
|
return {
|
|
111
144
|
...baseResult,
|
|
112
145
|
...(tasks ? { tasks } : {}),
|
|
@@ -144,7 +177,11 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
144
177
|
}
|
|
145
178
|
}
|
|
146
179
|
});
|
|
147
|
-
|
|
180
|
+
await safeEmit(options.stageEmitter, "validate-project:task-report", {
|
|
181
|
+
projectPath,
|
|
182
|
+
reason: "version-not-required"
|
|
183
|
+
});
|
|
184
|
+
const tasks = await buildEarlyTasksForBlocked(projectPath, detail, include, undefined, gradleUserHome);
|
|
148
185
|
return {
|
|
149
186
|
...baseResult,
|
|
150
187
|
...(tasks ? { tasks } : {}),
|
|
@@ -158,8 +195,16 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
158
195
|
let partialMixins = 0;
|
|
159
196
|
let invalidMixins = 0;
|
|
160
197
|
let mixinCaughtErrors = 0;
|
|
161
|
-
|
|
198
|
+
await safeEmit(options.stageEmitter, "validate-project:mixin-validation", {
|
|
199
|
+
targetTotal: mixinConfigs.length
|
|
200
|
+
});
|
|
201
|
+
for (const [mixinIndex, configPath] of mixinConfigs.entries()) {
|
|
162
202
|
try {
|
|
203
|
+
await safeEmit(options.stageEmitter, "validate-project:mixin-validation", {
|
|
204
|
+
targetIndex: mixinIndex + 1,
|
|
205
|
+
targetTotal: mixinConfigs.length,
|
|
206
|
+
configPath
|
|
207
|
+
});
|
|
163
208
|
const mixinResult = await deps.validateMixin({
|
|
164
209
|
input: {
|
|
165
210
|
mode: "config",
|
|
@@ -170,6 +215,7 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
170
215
|
sourcePriority: input.sourcePriority,
|
|
171
216
|
scope: input.scope,
|
|
172
217
|
projectPath,
|
|
218
|
+
gradleUserHome,
|
|
173
219
|
preferProjectVersion: false,
|
|
174
220
|
preferProjectMapping: input.preferProjectMapping,
|
|
175
221
|
sourceRoots: input.sourceRoots,
|
|
@@ -180,6 +226,8 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
180
226
|
warningCategoryFilter: input.warningCategoryFilter,
|
|
181
227
|
treatInfoAsWarning: input.treatInfoAsWarning,
|
|
182
228
|
includeIssues: input.includeIssues
|
|
229
|
+
}, {
|
|
230
|
+
stageEmitter: wrappedEmitter
|
|
183
231
|
});
|
|
184
232
|
const summary = mixinResult.summary;
|
|
185
233
|
validMixins += summary?.valid ?? 0;
|
|
@@ -202,14 +250,23 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
202
250
|
let validAw = 0;
|
|
203
251
|
let invalidAw = 0;
|
|
204
252
|
let awCaughtErrors = 0;
|
|
205
|
-
|
|
253
|
+
await safeEmit(options.stageEmitter, "validate-project:access-widener-validation", {
|
|
254
|
+
targetTotal: accessWideners.length
|
|
255
|
+
});
|
|
256
|
+
for (const [awIndex, awPath] of accessWideners.entries()) {
|
|
206
257
|
try {
|
|
258
|
+
await safeEmit(options.stageEmitter, "validate-project:access-widener-validation", {
|
|
259
|
+
targetIndex: awIndex + 1,
|
|
260
|
+
targetTotal: accessWideners.length,
|
|
261
|
+
filePath: awPath
|
|
262
|
+
});
|
|
207
263
|
const output = await deps.validateAccessWidener({
|
|
208
264
|
content: await readFile(awPath, "utf8"),
|
|
209
265
|
version: validationVersion,
|
|
210
266
|
mapping: input.mapping,
|
|
211
267
|
sourcePriority: input.sourcePriority,
|
|
212
268
|
projectPath,
|
|
269
|
+
gradleUserHome,
|
|
213
270
|
scope: input.scope,
|
|
214
271
|
preferProjectVersion: input.preferProjectVersion
|
|
215
272
|
});
|
|
@@ -236,8 +293,16 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
236
293
|
let validAt = 0;
|
|
237
294
|
let invalidAt = 0;
|
|
238
295
|
let atCaughtErrors = 0;
|
|
239
|
-
|
|
296
|
+
await safeEmit(options.stageEmitter, "validate-project:access-transformer-validation", {
|
|
297
|
+
targetTotal: accessTransformers.length
|
|
298
|
+
});
|
|
299
|
+
for (const [atIndex, atPath] of accessTransformers.entries()) {
|
|
240
300
|
try {
|
|
301
|
+
await safeEmit(options.stageEmitter, "validate-project:access-transformer-validation", {
|
|
302
|
+
targetIndex: atIndex + 1,
|
|
303
|
+
targetTotal: accessTransformers.length,
|
|
304
|
+
filePath: atPath
|
|
305
|
+
});
|
|
241
306
|
if (!deps.validateAccessTransformer) {
|
|
242
307
|
throw createError({
|
|
243
308
|
code: ERROR_CODES.CONTEXT_UNRESOLVED,
|
|
@@ -250,6 +315,7 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
250
315
|
atNamespace: input.atNamespace,
|
|
251
316
|
sourcePriority: input.sourcePriority,
|
|
252
317
|
projectPath,
|
|
318
|
+
gradleUserHome,
|
|
253
319
|
scope: input.scope,
|
|
254
320
|
preferProjectVersion: input.preferProjectVersion
|
|
255
321
|
});
|
|
@@ -315,6 +381,12 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
315
381
|
},
|
|
316
382
|
alwaysBlocks: ["project"]
|
|
317
383
|
});
|
|
384
|
+
await safeEmit(options.stageEmitter, "validate-project:task-report", {
|
|
385
|
+
projectPath,
|
|
386
|
+
mixinDiscoveryCount: mixinConfigs.length,
|
|
387
|
+
awDiscoveryCount: accessWideners.length,
|
|
388
|
+
atDiscoveryCount: accessTransformers.length
|
|
389
|
+
});
|
|
318
390
|
const tasks = await buildFullTaskStatusReport(deps, {
|
|
319
391
|
projectPath,
|
|
320
392
|
detail,
|
|
@@ -322,6 +394,7 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
322
394
|
resolvedVersion: validationVersion,
|
|
323
395
|
mapping: input.mapping,
|
|
324
396
|
sourcePriority: input.sourcePriority,
|
|
397
|
+
gradleUserHome,
|
|
325
398
|
scope: input.scope,
|
|
326
399
|
preferProjectVersion: input.preferProjectVersion,
|
|
327
400
|
mixinDiscoveryCount: mixinConfigs.length,
|
|
@@ -335,7 +408,8 @@ export async function handleProjectSummary(deps, input, detail, include) {
|
|
|
335
408
|
atDiscoveryCount: accessTransformers.length,
|
|
336
409
|
atCaughtErrors,
|
|
337
410
|
atCounts: { ok: validAt, invalid: invalidAt },
|
|
338
|
-
atDurationMs
|
|
411
|
+
atDurationMs,
|
|
412
|
+
stageEmitter: wrappedEmitter
|
|
339
413
|
});
|
|
340
414
|
return {
|
|
341
415
|
...baseResult,
|