Check executable bit on Gradle script

Fixes #76
This commit is contained in:
Daz DeBoer 2021-12-30 21:34:15 -07:00
parent 3edb3cb004
commit 13d93c1ca1
No known key found for this signature in database
GPG key ID: DD6B9F0B06683D5D
3 changed files with 11 additions and 2 deletions

2
dist/main/index.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -14,6 +14,7 @@ export async function executeGradleBuild(executable: string | undefined, root: s
// Use the provided executable, or look for a Gradle wrapper script to run // Use the provided executable, or look for a Gradle wrapper script to run
const toExecute = executable ?? gradlew.locateGradleWrapperScript(root) const toExecute = executable ?? gradlew.locateGradleWrapperScript(root)
verifyIsExecutableScript(toExecute)
const status: number = await exec.exec(toExecute, args, { const status: number = await exec.exec(toExecute, args, {
cwd: root, cwd: root,
ignoreReturnCode: true ignoreReturnCode: true
@ -31,3 +32,11 @@ export async function executeGradleBuild(executable: string | undefined, root: s
} }
} }
} }
function verifyIsExecutableScript(toExecute: string): void {
try {
fs.accessSync(toExecute, fs.constants.X_OK)
} catch (err) {
throw new Error(`Gradle script '${toExecute}' is not executable.`)
}
}