let semver to parse the version (#11463)

* let semver to parse the version

* check
This commit is contained in:
Alan Ren
2020-07-21 16:01:01 -07:00
committed by GitHub
parent b57cae5b60
commit 39ca386d2a

View File

@@ -16,8 +16,7 @@ export const KubeCtlToolName = 'kubectl';
interface KubeCtlVersion {
clientVersion: {
major: string;
minor: string;
gitVersion: string;
};
}
@@ -50,8 +49,11 @@ export class KubeCtlTool extends ToolBase {
let version: SemVer | undefined = undefined;
if (output) {
const versionJson: KubeCtlVersion = JSON.parse(output);
// kubectl version output might contain '+' character in the minor version, e.g. 16+, we have to remove it to make it a valid semantic version string.
version = new SemVer(`${versionJson.clientVersion.major}.${versionJson.clientVersion.minor.replace(/\+/g, '')}.0`);
if (versionJson && versionJson.clientVersion && versionJson.clientVersion.gitVersion) {
version = new SemVer(versionJson.clientVersion.gitVersion);
} else {
throw new Error(localize('resourceDeployment.invalidKubectlVersionOutput', "Unable to parse the kubectl version command output: \"{0}\"", output));
}
}
return version;
}