moved the common settings to a file

This commit is contained in:
Artur Stolear
2020-02-08 19:20:43 +02:00
parent dab6b01596
commit 274c9b2e99
26 changed files with 930 additions and 575 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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();

View File

@@ -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
View 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
}
}
}

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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";

View File

@@ -1,4 +1,4 @@
import { IBuildAgent } from "../../core/common";
import { IBuildAgent } from "../../core/models";
import { GitReleaseManagerSettings, CommonFields, CreateFields } from "./models";
export class Settings {

View File

@@ -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";

View File

@@ -1,4 +1,4 @@
import { IBuildAgent } from "../../core/common";
import { IBuildAgent } from "../../core/models";
import { GitVersionSettings, ExecuteFields } from "./models";