Add support for specifying versions for package managers (#529)
This commit is contained in:
parent
7884734703
commit
5a3778b347
|
@ -47,17 +47,35 @@ export const getCommandOutput = async (toolCommand: string) => {
|
||||||
return stdout.trim();
|
return stdout.trim();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const resolvePackageManagerVersionInput = (
|
||||||
|
packageManager: string
|
||||||
|
): string | undefined => {
|
||||||
|
let version = core.getInput(`${packageManager}-version`);
|
||||||
|
|
||||||
|
if (version !== '') {
|
||||||
|
core.info(`Using ${packageManager} with version ${version}.`);
|
||||||
|
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const getPackageManagerVersion = async (
|
const getPackageManagerVersion = async (
|
||||||
packageManager: string,
|
packageManager: string,
|
||||||
command: string
|
command: string
|
||||||
) => {
|
) => {
|
||||||
const stdOut = await getCommandOutput(`${packageManager} ${command}`);
|
let packageManagerVersion = resolvePackageManagerVersionInput(packageManager);
|
||||||
|
|
||||||
if (!stdOut) {
|
if (packageManagerVersion) {
|
||||||
throw new Error(`Could not retrieve version of ${packageManager}`);
|
return packageManagerVersion;
|
||||||
|
} else {
|
||||||
|
const stdOut = await getCommandOutput(`${packageManager} ${command}`);
|
||||||
|
|
||||||
|
if (!stdOut) {
|
||||||
|
throw new Error(`Could not retrieve version of ${packageManager}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return stdOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
return stdOut;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getPackageManagerInfo = async (packageManager: string) => {
|
export const getPackageManagerInfo = async (packageManager: string) => {
|
||||||
|
|
Loading…
Reference in New Issue