@@ -2,9 +2,12 @@ import * as fse from "fs-extra";
2
2
import { execAsync } from "../../../util/execAsync" ;
3
3
import { GradleExecution } from "./GradleExecution" ;
4
4
import * as path from "path" ;
5
+ import { getConfigJavaImportGradleJavaHome } from "../../../util/config" ;
6
+ import { logger } from "../../../logger" ;
5
7
6
8
export class GradleWrapper implements GradleExecution {
7
9
private gradleWrapperPath : string ;
10
+
8
11
constructor ( private projectRoot : string ) {
9
12
const wrapperName = process . platform === "win32" ? "gradlew.bat" : "gradlew" ;
10
13
this . gradleWrapperPath = path . join ( projectRoot , wrapperName ) ;
@@ -17,12 +20,16 @@ export class GradleWrapper implements GradleExecution {
17
20
18
21
const command = `${ this . gradleWrapperPath } ${ args . join ( " " ) } ` ;
19
22
try {
20
- const { stdout, stderr } = await execAsync ( command , { cwd : this . projectRoot } ) ;
23
+ const jdkPath = getConfigJavaImportGradleJavaHome ( ) ;
24
+ const env = jdkPath ? { ...process . env , JAVA_HOME : jdkPath } : process . env ;
25
+
26
+ const { stdout, stderr } = await execAsync ( command , { cwd : this . projectRoot , env } ) ;
21
27
if ( stderr ) {
22
- throw new Error ( `Error running gradle wrapper: ${ stderr } ` ) ;
28
+ logger . error ( stderr ) ;
23
29
}
24
30
return stdout ;
25
31
} catch ( error ) {
32
+ logger . error ( error . message ) ;
26
33
throw new Error ( `Error running gradle wrapper: ${ error . message } ` ) ;
27
34
}
28
35
}
0 commit comments