rs-toolchain/src/args.ts

43 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-10-16 15:12:53 +03:00
import {input} from '@actions-rs/core';
import {info, debug} from "@actions/core";
import {existsSync, readFileSync} from 'fs';
2019-09-12 16:44:29 +03:00
export interface ToolchainOptions {
name: string,
2019-10-16 15:12:53 +03:00
target: string | undefined,
2019-09-12 16:44:29 +03:00
default: boolean,
2019-10-16 15:12:53 +03:00
override: boolean,
profile: string | undefined,
components: string[] | undefined,
2019-09-12 16:44:29 +03:00
}
export function toolchain_args(overrideFile: string): ToolchainOptions {
2019-10-16 15:12:53 +03:00
let components: string[] | undefined = input.getInputList('components');
if (components && components.length === 0) {
components = undefined;
}
2019-09-12 16:44:29 +03:00
return {
name: determineToolchain(overrideFile),
2019-10-16 15:12:53 +03:00
target: input.getInput('target') || undefined,
default: input.getInputBool('default'),
override: input.getInputBool('override'),
profile: input.getInput('profile') || undefined,
components: components,
};
2019-09-12 16:44:29 +03:00
}
function determineToolchain(overrideFile: string): string {
if (existsSync(overrideFile)) {
debug(`using toolchain override from ${overrideFile}`);
const content = readFileSync(overrideFile, {
encoding: "utf-8",
flag: "r"
});
return content.trim();
} else {
debug(`toolchain override file ${overrideFile} does not exist, falling back to input variable`);
return input.getInput('toolchain', {required: true})
}
}