2021-06-24 19:13:54 +00:00
import * as path from 'path'
import fs from 'fs'
2020-06-13 11:44:30 +00:00
const IS_WINDOWS = process . platform === 'win32'
2019-09-23 10:10:49 +00:00
2021-09-07 20:38:41 +00:00
export function wrapperScriptFilename ( ) : string {
2020-06-13 11:44:30 +00:00
return IS_WINDOWS ? 'gradlew.bat' : 'gradlew'
2019-09-21 14:01:53 +00:00
}
2019-09-23 10:10:49 +00:00
export function installScriptFilename ( ) : string {
2020-06-13 11:44:30 +00:00
return IS_WINDOWS ? 'gradle.bat' : 'gradle'
2019-09-21 14:01:53 +00:00
}
2021-06-24 19:13:54 +00:00
2021-09-07 20:38:41 +00:00
export function locateGradleWrapperScript ( buildRootDirectory : string ) : string {
validateGradleWrapper ( buildRootDirectory )
return path . resolve ( buildRootDirectory , wrapperScriptFilename ( ) )
}
function validateGradleWrapper ( buildRootDirectory : string ) : void {
2021-10-29 13:34:44 +00:00
const wrapperProperties = path . resolve ( buildRootDirectory , 'gradle/wrapper/gradle-wrapper.properties' )
2021-06-24 19:13:54 +00:00
if ( ! fs . existsSync ( wrapperProperties ) ) {
throw new Error (
` Cannot locate a Gradle wrapper properties file at ' ${ wrapperProperties } '. Specify 'gradle-version' or 'gradle-executable' for projects without Gradle wrapper configured. `
)
}
}