moved the common settings to a file
This commit is contained in:
@@ -3,7 +3,7 @@ import { injectable } from "inversify";
|
||||
import * as taskLib from "azure-pipelines-task-lib/task";
|
||||
import * as toolLib from "azure-pipelines-tool-lib/tool";
|
||||
|
||||
import { IBuildAgent, IExecResult } from "../../core/common";
|
||||
import { IBuildAgent, IExecResult } from "../../core/models";
|
||||
|
||||
@injectable()
|
||||
class BuildAgent implements IBuildAgent {
|
||||
|
||||
@@ -10,7 +10,7 @@ import * as toolCache from "@actions/tool-cache";
|
||||
|
||||
import { injectable } from "inversify";
|
||||
|
||||
import { IBuildAgent, IExecResult } from "../../core/common";
|
||||
import { IBuildAgent, IExecResult } from "../../core/models";
|
||||
|
||||
@injectable()
|
||||
class BuildAgent implements IBuildAgent {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { injectable } from "inversify";
|
||||
|
||||
import { IBuildAgent, IExecResult } from "../../core/common";
|
||||
import { IBuildAgent, IExecResult } from "../../core/models";
|
||||
|
||||
@injectable()
|
||||
class BuildAgent implements IBuildAgent {
|
||||
|
||||
@@ -4,7 +4,7 @@ import * as path from "path";
|
||||
import * as http from "typed-rest-client/HttpClient";
|
||||
|
||||
import { inject, injectable } from "inversify";
|
||||
import { TYPES, IExecResult, IBuildAgent } from "./common";
|
||||
import { TYPES, IExecResult, IBuildAgent } from "./models";
|
||||
import { IVersionManager } from "./versionManager";
|
||||
|
||||
export interface IDotnetTool {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Container } from "inversify";
|
||||
import { IVersionManager, VersionManager } from "./versionManager";
|
||||
import { TYPES, IBuildAgent } from "./common";
|
||||
import { TYPES, IBuildAgent } from "./models";
|
||||
import { BuildAgent } from "../agent/mock/build-agent";
|
||||
|
||||
const container = new Container();
|
||||
|
||||
@@ -6,11 +6,16 @@ export const TYPES = {
|
||||
IVersionManager: Symbol.for("VersionManager"),
|
||||
};
|
||||
|
||||
export const SetupOptions = {
|
||||
includePrerelease: "includePrerelease",
|
||||
versionSpec: "versionSpec",
|
||||
export enum SetupFields {
|
||||
includePrerelease = "includePrerelease",
|
||||
versionSpec = "versionSpec",
|
||||
};
|
||||
|
||||
export interface ISetupSettings {
|
||||
[SetupFields.versionSpec]: string;
|
||||
[SetupFields.includePrerelease]: boolean;
|
||||
}
|
||||
|
||||
export interface IExecResult {
|
||||
stdout: string;
|
||||
stderr: string;
|
||||
14
src/core/settings.ts
Normal file
14
src/core/settings.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { IBuildAgent, SetupFields, ISetupSettings } from "./models";
|
||||
|
||||
export class Settings {
|
||||
|
||||
public static getSetupSettings(buildAgent: IBuildAgent): ISetupSettings {
|
||||
const versionSpec = buildAgent.getInput(SetupFields.versionSpec);
|
||||
const includePrerelease = buildAgent.getBooleanInput(SetupFields.includePrerelease);
|
||||
|
||||
return {
|
||||
versionSpec,
|
||||
includePrerelease
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import cmp from "semver-compare";
|
||||
import * as semver from "semver";
|
||||
import { injectable, inject } from "inversify";
|
||||
|
||||
import { IBuildAgent, TYPES } from "./common";
|
||||
import { IBuildAgent, TYPES } from "./models";
|
||||
|
||||
export interface IVersionManager {
|
||||
isExplicitVersion(versionSpec: string): boolean;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { IBuildAgent, TYPES, SetupOptions } from "../../core/common";
|
||||
import { IBuildAgent, TYPES, SetupFields } from "../../core/models";
|
||||
import { IGitReleaseManagerTool, GitReleaseManagerTool } from "../../tools/gitreleasemanager/gitreleasemanager-tool";
|
||||
import { Settings as CommonSettings } from "../../core/settings";
|
||||
import { Settings } from "../../tools/gitreleasemanager/settings";
|
||||
|
||||
import container from "../../core/ioc";
|
||||
import { Settings } from "../../tools/gitreleasemanager/settings";
|
||||
|
||||
container.bind<IGitReleaseManagerTool>(TYPES.IGitReleaseManagerTool).to(GitReleaseManagerTool);
|
||||
|
||||
@@ -14,10 +15,9 @@ export async function setup() {
|
||||
|
||||
gitReleaseManagerTool.disableTelemetry();
|
||||
|
||||
const versionSpec = buildAgent.getInput(SetupOptions.versionSpec);
|
||||
const includePrerelease = buildAgent.getBooleanInput(SetupOptions.includePrerelease);
|
||||
const settings = CommonSettings.getSetupSettings(buildAgent);
|
||||
|
||||
await gitReleaseManagerTool.install(versionSpec, includePrerelease);
|
||||
await gitReleaseManagerTool.install(settings.versionSpec, settings.includePrerelease);
|
||||
|
||||
buildAgent.setSucceeded("GitVersionManager installed successfully", true);
|
||||
} catch (error) {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { IBuildAgent, TYPES, SetupOptions } from "../../core/common";
|
||||
import { IBuildAgent, TYPES, SetupFields } from "../../core/models";
|
||||
import { Settings as CommonSettings } from "../../core/settings";
|
||||
import { Settings } from "../../tools/gitversion/settings";
|
||||
import { IGitVersionTool, GitVersionTool } from "../../tools/gitversion/gitversion-tool";
|
||||
import { GitVersionSettings, GitVersionOutput } from "../../tools/gitversion/models";
|
||||
|
||||
import container from "../../core/ioc";
|
||||
import { Settings } from "../../tools/gitversion/settings";
|
||||
|
||||
container.bind<IGitVersionTool>(TYPES.IGitVersionTool).to(GitVersionTool);
|
||||
|
||||
@@ -15,10 +16,9 @@ export async function setup() {
|
||||
|
||||
gitVersionTool.disableTelemetry();
|
||||
|
||||
const versionSpec = buildAgent.getInput(SetupOptions.versionSpec);
|
||||
const includePrerelease = buildAgent.getBooleanInput(SetupOptions.includePrerelease);
|
||||
const settings = CommonSettings.getSetupSettings(buildAgent);
|
||||
|
||||
await gitVersionTool.install(versionSpec, includePrerelease);
|
||||
await gitVersionTool.install(settings.versionSpec, settings.includePrerelease);
|
||||
|
||||
buildAgent.setSucceeded("GitVersion installed successfully", true);
|
||||
} catch (error) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path = require("path");
|
||||
|
||||
import { TYPES, IBuildAgent, IExecResult } from "../../core/common";
|
||||
import { TYPES, IBuildAgent, IExecResult } from "../../core/models";
|
||||
import { injectable, inject } from "inversify";
|
||||
import { DotnetTool, IDotnetTool } from "../../core/dotnet-tool";
|
||||
import { GitReleaseManagerCreateSettings, GitReleaseManagerSettings, CreateFields, CommonFields } from "./models";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IBuildAgent } from "../../core/common";
|
||||
import { IBuildAgent } from "../../core/models";
|
||||
import { GitReleaseManagerSettings, CommonFields, CreateFields } from "./models";
|
||||
|
||||
export class Settings {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path = require("path");
|
||||
import { injectable, inject } from "inversify";
|
||||
import { IExecResult, IBuildAgent, TYPES } from "../../core/common";
|
||||
import { IExecResult, IBuildAgent, TYPES } from "../../core/models";
|
||||
import { DotnetTool, IDotnetTool } from "../../core/dotnet-tool";
|
||||
import { GitVersionSettings, GitVersionOutput, ExecuteFields } from "./models";
|
||||
import { IVersionManager } from "../../core/versionManager";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IBuildAgent } from "../../core/common";
|
||||
import { IBuildAgent } from "../../core/models";
|
||||
|
||||
import { GitVersionSettings, ExecuteFields } from "./models";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user