Cache wrapper install when gradle-executable points to a wrapper

This commit is contained in:
Paul Merlin 2020-06-13 18:47:57 +02:00
parent e8885a31b8
commit 692fda9de7
4 changed files with 14 additions and 7 deletions

2
dist/main/index.js vendored

File diff suppressed because one or more lines are too long

2
dist/post/index.js vendored

File diff suppressed because one or more lines are too long

View file

@ -9,11 +9,13 @@ const WRAPPER_CACHE_PATH = 'WRAPPER_CACHE_PATH'
const WRAPPER_CACHE_RESULT = 'WRAPPER_CACHE_RESULT'
export async function restoreCachedWrapperDist(
executableDirectory: string
gradlewDirectory: string | null
): Promise<void> {
if (gradlewDirectory == null) return
const wrapperSlug = extractGradleWrapperSlugFrom(
path.join(
path.resolve(executableDirectory),
path.resolve(gradlewDirectory),
'gradle/wrapper/gradle-wrapper.properties'
)
)

View file

@ -40,18 +40,23 @@ async function resolveGradleExecutable(baseDirectory: string): Promise<string> {
const gradleExecutable = inputOrNull('gradle-executable')
if (gradleExecutable !== null) {
if (gradleExecutable.endsWith(gradlew.wrapperFilename())) {
await cache.restoreCachedWrapperDist(
path.resolve(gradleExecutable, '..')
)
}
return path.resolve(baseDirectory, gradleExecutable)
}
const wrapperDirectory = inputOrNull('wrapper-directory')
const executableDirectory =
const gradlewDirectory =
wrapperDirectory !== null
? path.join(baseDirectory, wrapperDirectory)
: baseDirectory
await cache.restoreCachedWrapperDist(executableDirectory)
await cache.restoreCachedWrapperDist(gradlewDirectory)
return path.resolve(executableDirectory, gradlew.wrapperFilename())
return path.resolve(gradlewDirectory, gradlew.wrapperFilename())
}
function resolveBuildRootDirectory(baseDirectory: string): string {