diff --git a/package-lock.json b/package-lock.json index 517a951ed38..d58231e579e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -74,7 +74,7 @@ }, "devDependencies": { "@aws-sdk/types": "^3.13.1", - "@aws-toolkits/telemetry": "^1.0.169", + "@aws-toolkits/telemetry": "^1.0.171", "@aws/fully-qualified-names": "^2.1.1", "@cspotcode/source-map-support": "^0.8.1", "@sinonjs/fake-timers": "^10.0.2", @@ -4832,9 +4832,9 @@ } }, "node_modules/@aws-toolkits/telemetry": { - "version": "1.0.169", - "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.169.tgz", - "integrity": "sha512-wOP29EZElsoXo2Uw8EebWJvFp2eUCIiLQTLzqG0mr06TQbnVQw2i2tZRSY/OGg+uqX35to3dFTqEJdZzP760CA==", + "version": "1.0.171", + "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.171.tgz", + "integrity": "sha512-mHHA/j/qqRX3Q5f4GiObldKrUdpf3XBwcv0qFb2BVMbDtFO9sOkHU9xsSofVVC/k9euW3Lc1WljVG9msDiMPiw==", "dev": true, "dependencies": { "ajv": "^6.12.6", diff --git a/package.json b/package.json index 21142a68215..487d7972715 100644 --- a/package.json +++ b/package.json @@ -4263,7 +4263,7 @@ }, "devDependencies": { "@aws-sdk/types": "^3.13.1", - "@aws-toolkits/telemetry": "^1.0.169", + "@aws-toolkits/telemetry": "^1.0.171", "@aws/fully-qualified-names": "^2.1.1", "@cspotcode/source-map-support": "^0.8.1", "@sinonjs/fake-timers": "^10.0.2", diff --git a/src/codewhisperer/service/transformByQHandler.ts b/src/codewhisperer/service/transformByQHandler.ts index a8a387d3077..7bd19e761c6 100644 --- a/src/codewhisperer/service/transformByQHandler.ts +++ b/src/codewhisperer/service/transformByQHandler.ts @@ -18,7 +18,7 @@ import { spawnSync } from 'child_process' import AdmZip from 'adm-zip' import fetch from '../../common/request' import globals from '../../shared/extensionGlobals' -import { CodeTransformPreValidationError, telemetry } from '../../shared/telemetry/telemetry' +import { telemetry } from '../../shared/telemetry/telemetry' import { ToolkitError } from '../../shared/errors' import { codeTransformTelemetryState } from '../../amazonqGumby/telemetry/codeTransformTelemetryState' import { calculateTotalLatency } from '../../amazonqGumby/telemetry/codeTransformTelemetry' @@ -93,7 +93,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'No Java project found' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoJavaProject', result: MetadataResult.Fail, }) throw new TransformByQJavaProjectNotFound() @@ -107,7 +107,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'No Java project found' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoJavaProject', result: MetadataResult.Fail, }) throw new ToolkitError('Unable to determine Java version', { @@ -125,8 +125,7 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { vscode.window.showErrorMessage(CodeWhispererConstants.noSupportedJavaProjectsFoundMessage, { modal: true }) telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: - 'Project selected is not Java 8 or Java 11' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'UnsupportedJavaVersion', result: MetadataResult.Fail, reason: javaVersion, }) @@ -140,11 +139,18 @@ export async function validateProjectSelection(project: vscode.QuickPickItem) { if (buildFile.length < 1) { const buildType = await checkIfGradle(projectPath!) vscode.window.showErrorMessage(CodeWhispererConstants.noPomXmlFoundMessage, { modal: true }) + if (buildType === 'Gradle') { + telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ + codeTransformSessionId: codeTransformTelemetryState.getSessionId(), + codeTransformPreValidationError: 'NonMavenProject', + result: MetadataResult.Fail, + reason: buildType, + }) + } telemetry.codeTransform_isDoubleClickedToTriggerInvalidProject.emit({ codeTransformSessionId: codeTransformTelemetryState.getSessionId(), - codeTransformPreValidationError: 'Only Maven projects supported' as CodeTransformPreValidationError, + codeTransformPreValidationError: 'NoPom', result: MetadataResult.Fail, - reason: buildType, }) throw new ToolkitError('No valid Maven build file found', { code: 'CouldNotFindPomXml' }) }