Compare commits
4 Commits
77ef84ceb6
...
887947024c
Author | SHA1 | Date |
---|---|---|
Roberto Tyley | 887947024c | |
mahabaleshwars | 99b8673ff6 | |
Roberto Tyley | ed3ab602f8 | |
Roberto Tyley | f228ab54b9 |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -58,7 +58,8 @@ const supportedPackageManager: PackageManager[] = [
|
||||||
'**/*.sbt',
|
'**/*.sbt',
|
||||||
'**/project/build.properties',
|
'**/project/build.properties',
|
||||||
'**/project/**.scala',
|
'**/project/**.scala',
|
||||||
'**/project/**.sbt'
|
'**/project/**.sbt',
|
||||||
|
'!**/version.sbt' // releasing a new version of a library project shouldn't invalidate the entire sbt cache
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -92,13 +93,15 @@ async function computeCacheKey(
|
||||||
const pattern = cacheDependencyPath
|
const pattern = cacheDependencyPath
|
||||||
? cacheDependencyPath.trim().split('\n')
|
? cacheDependencyPath.trim().split('\n')
|
||||||
: packageManager.pattern;
|
: packageManager.pattern;
|
||||||
const fileHash = await glob.hashFiles(pattern.join('\n'));
|
const fileHash = await glob.hashFiles(pattern.join('\n'), undefined, undefined, true);
|
||||||
if (!fileHash) {
|
if (!fileHash) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`No file in ${process.cwd()} matched to [${pattern}], make sure you have checked out the target repository`
|
`No file in ${process.cwd()} matched to [${pattern}], make sure you have checked out the target repository`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return `${CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${packageManager.id}-${fileHash}`;
|
const cacheKey = `${CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${packageManager.id}-${fileHash}`;
|
||||||
|
core.info(`cacheKey is ${cacheKey}`);
|
||||||
|
return cacheKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
12
src/util.ts
12
src/util.ts
|
@ -119,13 +119,17 @@ export function getVersionFromFileContent(
|
||||||
versionFile: string
|
versionFile: string
|
||||||
): string | null {
|
): string | null {
|
||||||
let javaVersionRegExp: RegExp;
|
let javaVersionRegExp: RegExp;
|
||||||
if (versionFile == '.tool-versions') {
|
|
||||||
|
function getFileName(versionFile: string) {
|
||||||
|
return path.basename(versionFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
const versionFileName = getFileName(versionFile);
|
||||||
|
if (versionFileName == '.tool-versions') {
|
||||||
javaVersionRegExp =
|
javaVersionRegExp =
|
||||||
/^(java\s+)(?:\S*-)?v?(?<version>(\d+)(\.\d+)?(\.\d+)?(\+\d+)?(-ea(\.\d+)?)?)$/m;
|
/^(java\s+)(?:\S*-)?v?(?<version>(\d+)(\.\d+)?(\.\d+)?(\+\d+)?(-ea(\.\d+)?)?)$/m;
|
||||||
} else if (versionFile == '.java-version') {
|
|
||||||
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
|
|
||||||
} else {
|
} else {
|
||||||
throw new Error('Invalid version file');
|
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
|
||||||
}
|
}
|
||||||
|
|
||||||
const fileContent = content.match(javaVersionRegExp)?.groups?.version
|
const fileContent = content.match(javaVersionRegExp)?.groups?.version
|
||||||
|
|
Loading…
Reference in New Issue