Skip to content

Commit 189ef7c

Browse files
dhasani23s7ab059789
authored andcommitted
fix(amazonq): setMaven correctly aws#6384
## Problem `setMaven` is being executed unnecessarily. ## Solution Move the call to happen just before the local build starts.
1 parent 8a4df04 commit 189ef7c

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

packages/core/src/amazonqGumby/chat/controller/controller.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,9 @@ import {
5353
import { CodeTransformTelemetryState } from '../../telemetry/codeTransformTelemetryState'
5454
import DependencyVersions from '../../models/dependencies'
5555
import { getStringHash } from '../../../shared/utilities/textUtilities'
56-
import { getVersionData } from '../../../codewhisperer/service/transformByQ/transformMavenHandler'
5756
import AdmZip from 'adm-zip'
5857
import { AuthError } from '../../../auth/sso/server'
5958
import {
60-
setMaven,
6159
openBuildLogFile,
6260
parseBuildFile,
6361
validateSQLMetadataFile,
@@ -321,12 +319,6 @@ export class GumbyController {
321319
telemetryJavaVersion = JDKToTelemetryValue(javaVersion) as CodeTransformJavaSourceVersionsAllowed
322320
}
323321
telemetry.record({ codeTransformLocalJavaVersion: telemetryJavaVersion })
324-
325-
await setMaven()
326-
const versionInfo = await getVersionData()
327-
const mavenVersionInfoMessage = `${versionInfo[0]} (${transformByQState.getMavenName()})`
328-
telemetry.record({ buildSystemVersion: mavenVersionInfoMessage })
329-
330322
return validProjects
331323
})
332324
return validProjects

packages/core/src/codewhisperer/service/transformByQ/transformApiHandler.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,7 @@ export async function startJob(uploadId: string) {
448448
target: { language: targetLanguageVersion }, // always JDK17
449449
},
450450
})
451+
getLogger().info('CodeTransformation: called startJob API successfully')
451452
if (response.$response.requestId) {
452453
transformByQState.setJobFailureMetadata(` (request ID: ${response.$response.requestId})`)
453454
}
@@ -671,6 +672,7 @@ export async function pollTransformationJob(jobId: string, validStates: string[]
671672
})
672673
}
673674
transformByQState.setPolledJobStatus(status)
675+
getLogger().info(`CodeTransformation: polled job status = ${status}`)
674676

675677
const errorMessage = response.transformationJob.reason
676678
if (errorMessage !== undefined) {

packages/core/src/codewhisperer/service/transformByQ/transformMavenHandler.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { spawnSync } from 'child_process' // eslint-disable-line no-restricted-i
1111
import { CodeTransformBuildCommand, telemetry } from '../../../shared/telemetry/telemetry'
1212
import { CodeTransformTelemetryState } from '../../../amazonqGumby/telemetry/codeTransformTelemetryState'
1313
import { ToolkitError } from '../../../shared/errors'
14-
import { writeLogs } from './transformFileHandler'
14+
import { setMaven, writeLogs } from './transformFileHandler'
1515
import { throwIfCancelled } from './transformApiHandler'
1616

1717
// run 'install' with either 'mvnw.cmd', './mvnw', or 'mvn' (if wrapper exists, we use that, otherwise we use regular 'mvn')
@@ -108,6 +108,8 @@ function copyProjectDependencies(dependenciesFolder: FolderInfo, modulePath: str
108108
}
109109

110110
export async function prepareProjectDependencies(dependenciesFolder: FolderInfo, rootPomPath: string) {
111+
await setMaven()
112+
getLogger().info('CodeTransformation: running Maven copy-dependencies')
111113
try {
112114
copyProjectDependencies(dependenciesFolder, rootPomPath)
113115
} catch (err) {
@@ -117,6 +119,7 @@ export async function prepareProjectDependencies(dependenciesFolder: FolderInfo,
117119
)
118120
}
119121

122+
getLogger().info('CodeTransformation: running Maven install')
120123
try {
121124
installProjectDependencies(dependenciesFolder, rootPomPath)
122125
} catch (err) {
@@ -134,9 +137,9 @@ export async function prepareProjectDependencies(dependenciesFolder: FolderInfo,
134137

135138
export async function getVersionData() {
136139
const baseCommand = transformByQState.getMavenName() // will be one of: 'mvnw.cmd', './mvnw', 'mvn'
137-
const modulePath = transformByQState.getProjectPath()
140+
const projectPath = transformByQState.getProjectPath()
138141
const args = ['-v']
139-
const spawnResult = spawnSync(baseCommand, args, { cwd: modulePath, shell: true, encoding: 'utf-8' })
142+
const spawnResult = spawnSync(baseCommand, args, { cwd: projectPath, shell: true, encoding: 'utf-8' })
140143

141144
let localMavenVersion: string | undefined = ''
142145
let localJavaVersion: string | undefined = ''

packages/core/src/codewhisperer/service/transformByQ/transformationResultsViewProvider.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ export class DiffModel {
178178
}
179179

180180
const changedFiles = parsePatch(diffContents)
181+
getLogger().info('CodeTransformation: parsed patch file successfully')
181182
// path to the directory containing copy of the changed files in the transformed project
182183
const pathToTmpSrcDir = this.copyProject(pathToWorkspace, changedFiles)
183184
transformByQState.setProjectCopyFilePath(pathToTmpSrcDir)
@@ -402,6 +403,7 @@ export class ProposedTransformationExplorer {
402403
pathToArchive
403404
)
404405

406+
getLogger().info('CodeTransformation: downloaded results successfully')
405407
// Update downloaded artifact size
406408
exportResultsArchiveSize = (await fs.promises.stat(pathToArchive)).size
407409

@@ -534,6 +536,7 @@ export class ProposedTransformationExplorer {
534536

535537
vscode.commands.registerCommand('aws.amazonq.transformationHub.reviewChanges.acceptChanges', async () => {
536538
telemetry.codeTransform_submitSelection.run(() => {
539+
getLogger().info('CodeTransformation: accepted changes')
537540
diffModel.saveChanges()
538541
telemetry.record({
539542
codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(),
@@ -587,6 +590,7 @@ export class ProposedTransformationExplorer {
587590

588591
vscode.commands.registerCommand('aws.amazonq.transformationHub.reviewChanges.rejectChanges', async () => {
589592
await telemetry.codeTransform_submitSelection.run(async () => {
593+
getLogger().info('CodeTransformation: rejected changes')
590594
diffModel.rejectChanges()
591595
await reset()
592596
telemetry.record({

0 commit comments

Comments
 (0)