This commit is contained in:
Artur Stolear
2019-11-22 14:54:45 +02:00
parent efb7ef8fa1
commit 40b01fbb2d
10 changed files with 9 additions and 9 deletions

42
src/interfaces.ts Normal file
View File

@@ -0,0 +1,42 @@
export interface IVersionManager {
isExplicitVersion: (versionSpec: string) => boolean;
evaluateVersions: (versions: string[], versionSpec: string) => string;
cleanVersion: (version: string) => string;
}
export interface IBuildAgent {
find: (toolName: string, versionSpec: string, arch?: string) => string;
cacheDir: (sourceDir: string, tool: string, version: string, arch?: string) => Promise<string>;
createTempDir: () => Promise<string>;
debug: (message: string) => void;
setFailed: (message: string, done?: boolean) => void;
setSucceeded: (message: string, done?: boolean) => void;
exportVariable: (name: string, val: string) => void;
getVariable: (name: string) => string;
addPath: (inputPath: string) => void;
which: (tool: string, check?: boolean) => Promise<string>;
exec: (exec: string, args: string[]) => Promise<IExecResult>;
getInput(input: string, required?: boolean): string;
getBooleanInput(input: string, required?: boolean): boolean;
}
export interface IDotnetTool {
run: (args: string[]) => Promise<IExecResult>;
toolInstall: (toolName: string, versionSpec: string, checkLatest: boolean, includePre: boolean) => Promise<string>;
}
export class Argument {
constructor(public readonly name: string, public readonly value: string) {
}
}
export interface IGitVersionTool {
install: (versionSpec: string, includePrerelease: boolean) => Promise<void>;
run: (...params: Argument[]) => Promise<IExecResult>;
}
export interface IExecResult {
stdout: string;
stderr: string;
code: number;
error: Error;
}