Skip to content

Commit 99b8673

Browse files
Patch for java version file (#610)
* patch to extract file from other location * patch to extract filename from other directories * removed code failing checks * changed the validation for .java-version type
1 parent 5896cec commit 99b8673

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

dist/cleanup/index.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -88355,15 +88355,16 @@ exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
8835588355
function getVersionFromFileContent(content, distributionName, versionFile) {
8835688356
var _a, _b, _c, _d, _e;
8835788357
let javaVersionRegExp;
88358-
if (versionFile == '.tool-versions') {
88358+
function getFileName(versionFile) {
88359+
return path_1.default.basename(versionFile);
88360+
}
88361+
const versionFileName = getFileName(versionFile);
88362+
if (versionFileName == '.tool-versions') {
8835988363
javaVersionRegExp =
8836088364
/^(java\s+)(?:\S*-)?v?(?<version>(\d+)(\.\d+)?(\.\d+)?(\+\d+)?(-ea(\.\d+)?)?)$/m;
8836188365
}
88362-
else if (versionFile == '.java-version') {
88363-
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
88364-
}
8836588366
else {
88366-
throw new Error('Invalid version file');
88367+
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
8836788368
}
8836888369
const fileContent = ((_b = (_a = content.match(javaVersionRegExp)) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.version)
8836988370
? (_d = (_c = content.match(javaVersionRegExp)) === null || _c === void 0 ? void 0 : _c.groups) === null || _d === void 0 ? void 0 : _d.version

dist/setup/index.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -125729,15 +125729,16 @@ exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
125729125729
function getVersionFromFileContent(content, distributionName, versionFile) {
125730125730
var _a, _b, _c, _d, _e;
125731125731
let javaVersionRegExp;
125732-
if (versionFile == '.tool-versions') {
125732+
function getFileName(versionFile) {
125733+
return path_1.default.basename(versionFile);
125734+
}
125735+
const versionFileName = getFileName(versionFile);
125736+
if (versionFileName == '.tool-versions') {
125733125737
javaVersionRegExp =
125734125738
/^(java\s+)(?:\S*-)?v?(?<version>(\d+)(\.\d+)?(\.\d+)?(\+\d+)?(-ea(\.\d+)?)?)$/m;
125735125739
}
125736-
else if (versionFile == '.java-version') {
125737-
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
125738-
}
125739125740
else {
125740-
throw new Error('Invalid version file');
125741+
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
125741125742
}
125742125743
const fileContent = ((_b = (_a = content.match(javaVersionRegExp)) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.version)
125743125744
? (_d = (_c = content.match(javaVersionRegExp)) === null || _c === void 0 ? void 0 : _c.groups) === null || _d === void 0 ? void 0 : _d.version

src/util.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,17 @@ export function getVersionFromFileContent(
119119
versionFile: string
120120
): string | null {
121121
let javaVersionRegExp: RegExp;
122-
if (versionFile == '.tool-versions') {
122+
123+
function getFileName(versionFile: string) {
124+
return path.basename(versionFile);
125+
}
126+
127+
const versionFileName = getFileName(versionFile);
128+
if (versionFileName == '.tool-versions') {
123129
javaVersionRegExp =
124130
/^(java\s+)(?:\S*-)?v?(?<version>(\d+)(\.\d+)?(\.\d+)?(\+\d+)?(-ea(\.\d+)?)?)$/m;
125-
} else if (versionFile == '.java-version') {
126-
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
127131
} else {
128-
throw new Error('Invalid version file');
132+
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
129133
}
130134

131135
const fileContent = content.match(javaVersionRegExp)?.groups?.version

0 commit comments

Comments
 (0)