gradle-build
Execute Gradle build operations for Android applications, generating build summaries with unique identifiers for development workflows.
Instructions
Build. Returns summary with buildId.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| operation | Yes | ||
| module | No | e.g., ':app' | |
| flavor | No |
Implementation Reference
- src/tools/gradle-build.ts:13-42 (handler)Handler function for the gradle-build tool, which performs the build and returns a build summary.
export async function handleGradleBuildTool( input: GradleBuildInput, context: ServerContext ): Promise<Record<string, unknown>> { const { result, fullOutput } = await context.gradle.build( input.operation, input.module, input.flavor ); const buildId = context.cache.generateId("build"); context.cache.set( buildId, { fullOutput, result, operation: input.operation }, "build", CACHE_TTLS.BUILD_OUTPUT ); return { buildId, summary: { success: result.success, duration: result.duration, warnings: result.warnings, errors: result.errors, apkPath: result.apkPath, tasksExecuted: result.tasksExecuted, }, }; } - src/tools/gradle-build.ts:5-9 (schema)Input validation schema for the gradle-build tool.
export const gradleBuildInputSchema = z.object({ operation: z.enum(["assembleDebug", "assembleRelease", "bundle"]), module: z.string().optional(), flavor: z.string().optional(), }); - src/tools/gradle-build.ts:44-65 (registration)Definition object for the gradle-build tool.
export const gradleBuildToolDefinition = { name: "gradle-build", description: "Build. Returns summary with buildId.", inputSchema: { type: "object", properties: { operation: { type: "string", enum: ["assembleDebug", "assembleRelease", "bundle"], }, module: { type: "string", description: "e.g., ':app'" }, flavor: { type: "string" }, }, required: ["operation"], }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false, }, };