Skip to content

Commit 45bfed9

Browse files
committed
Improve veraPDF Java version error message
1 parent d67f982 commit 45bfed9

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/tools/impl/verapdf.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,15 @@ export const verapdfInstallable: InstallableTool = {
4040
kSupportedJavaVersions.includes(javaVersion);
4141
},
4242
os: ["darwin", "linux", "windows"],
43-
message:
44-
`Java is not installed or version is not supported. veraPDF requires Java 8, 11, 17, or 21.`,
43+
message: async () => {
44+
const javaVersion = await getJavaVersion();
45+
const supportedVersions = kSupportedJavaVersions.join(", ");
46+
if (javaVersion === undefined) {
47+
return `Java is not installed. veraPDF requires Java ${supportedVersions}.`;
48+
} else {
49+
return `Java ${javaVersion} is installed but not supported. veraPDF requires Java ${supportedVersions}.`;
50+
}
51+
},
4552
}],
4653
installed,
4754
installDir,

src/tools/tools.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,10 @@ export async function installTool(name: string, updatePath?: boolean) {
136136
for (const prereq of platformPrereqs) {
137137
const met = await prereq.check(context);
138138
if (!met) {
139-
context.error(prereq.message);
139+
const message = typeof prereq.message === "function"
140+
? await prereq.message(context)
141+
: prereq.message;
142+
context.error(message);
140143
Deno.exit(1);
141144
}
142145
}

src/tools/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export interface InstallableTool {
3030
export interface InstallPreReq {
3131
check: (context: InstallContext) => Promise<boolean>;
3232
os: string[];
33-
message: string;
33+
message: string | ((context: InstallContext) => Promise<string>);
3434
}
3535

3636
// Locally accessible Package information

0 commit comments

Comments
 (0)