@@ -20,6 +20,8 @@ export default { isSupported, provideComponent, provideStack }
20
20
*/
21
21
const ecosystem = 'maven'
22
22
23
+ const mvn = process . env . CRDA_MVN_PATH ? process . env . CRDA_MVN_PATH : 'mvn'
24
+
23
25
/**
24
26
* @param {string } manifestName - the subject manifest name-type
25
27
* @returns {boolean } - return true if `pom.xml` is the manifest name-type
@@ -62,13 +64,13 @@ function provideComponent(data) {
62
64
*/
63
65
function getGraph ( manifest ) {
64
66
// verify maven is accessible
65
- execSync ( ' mvn --version' , err => {
67
+ execSync ( ` ${ mvn } --version` , err => {
66
68
if ( err ) {
67
69
throw new Error ( 'mvn is not accessible' )
68
70
}
69
71
} )
70
72
// clean maven target
71
- execSync ( `mvn -q clean -f ${ manifest } ` , err => {
73
+ execSync ( `${ mvn } -q clean -f ${ manifest } ` , err => {
72
74
if ( err ) {
73
75
throw new Error ( 'failed cleaning maven target' )
74
76
}
@@ -77,7 +79,7 @@ function getGraph(manifest) {
77
79
let tmpDir = fs . mkdtempSync ( path . join ( os . tmpdir ( ) , 'crda_' ) )
78
80
let tmpDepTree = path . join ( tmpDir , 'mvn_deptree.txt' )
79
81
// build initial command
80
- let depTreeCmd = `mvn -q dependency:tree -DoutputType=dot -DoutputFile=${ tmpDepTree } -f ${ manifest } `
82
+ let depTreeCmd = `${ mvn } -q dependency:tree -DoutputType=dot -DoutputFile=${ tmpDepTree } -f ${ manifest } `
81
83
// exclude ignored dependencies, exclude format is groupId:artifactId:scope:version.
82
84
// version and scope are marked as '*' if not specified (we do not use scope yet)
83
85
getDependencies ( manifest ) . forEach ( dep => {
@@ -107,7 +109,7 @@ function getGraph(manifest) {
107
109
*/
108
110
function getList ( data ) {
109
111
// verify maven is accessible
110
- execSync ( ' mvn --version' , err => {
112
+ execSync ( ` ${ mvn } --version` , err => {
111
113
if ( err ) {
112
114
throw new Error ( 'mvn is not accessible' )
113
115
}
@@ -119,7 +121,7 @@ function getList(data) {
119
121
// write target pom content to temp file
120
122
fs . writeFileSync ( tmpTargetPom , data )
121
123
// create effective pom and save to temp file
122
- execSync ( `mvn -q help:effective-pom -Doutput=${ tmpEffectivePom } -f ${ tmpTargetPom } ` , err => {
124
+ execSync ( `${ mvn } -q help:effective-pom -Doutput=${ tmpEffectivePom } -f ${ tmpTargetPom } ` , err => {
123
125
if ( err ) {
124
126
throw new Error ( 'failed creating maven effective pom' )
125
127
}
0 commit comments