MCPcopy
hub / github.com/Swatinem/rust-cache / getRustVersions

Function getRustVersions

src/config.ts:388–411  ·  view source on GitHub ↗
(cmdFormat: string)

Source from the content-addressed store, hash-verified

386}
387
388async function getRustVersions(cmdFormat: string): Promise<Set<RustVersion>> {
389 const versions = new Set<RustVersion>();
390
391 versions.add(parseRustVersion(await getCmdOutput(cmdFormat, "rustc -vV")));
392
393 const stdout = await (async () => {
394 try {
395 return await getCmdOutput(cmdFormat, "rustup toolchain list --quiet");
396 } catch (e) {
397 core.warning(`Error running rustup toolchain list, falling back to default toolchain only: ${e}`);
398 return undefined;
399 }
400 })();
401 if (stdout !== undefined) {
402 for (const toolchain of stdout.split(/[\n\r]+/)) {
403 const trimmed = toolchain.trim();
404 if (!trimmed) {
405 continue;
406 }
407 versions.add(parseRustVersion(await getCmdOutput(cmdFormat, `rustup run ${toolchain} rustc -vV`)));
408 }
409 }
410 return versions;
411}
412
413function parseRustVersion(stdout: string): RustVersion {
414 const splits = stdout

Callers 1

newMethod · 0.85

Calls 2

getCmdOutputFunction · 0.90
parseRustVersionFunction · 0.85

Tested by

no test coverage detected