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' const WRAPPER_CACHE_RESULT = 'WRAPPER_CACHE_RESULT'
export async function restoreCachedWrapperDist( export async function restoreCachedWrapperDist(
executableDirectory: string gradlewDirectory: string | null
): Promise<void> { ): Promise<void> {
if (gradlewDirectory == null) return
const wrapperSlug = extractGradleWrapperSlugFrom( const wrapperSlug = extractGradleWrapperSlugFrom(
path.join( path.join(
path.resolve(executableDirectory), path.resolve(gradlewDirectory),
'gradle/wrapper/gradle-wrapper.properties' 'gradle/wrapper/gradle-wrapper.properties'
) )
) )

View File

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