added prettier tool

This commit is contained in:
Artur Stolear
2020-03-10 11:42:51 +02:00
parent 5c4fb6ec6b
commit 2690f37786
32 changed files with 930 additions and 902 deletions

View File

@@ -1,9 +1,9 @@
import path = require("path");
import path = require('path')
import { TYPES, IBuildAgent, IExecResult } from "../../core/models";
import { injectable, inject } from "inversify";
import { DotnetTool, IDotnetTool } from "../../core/dotnet-tool";
import { IVersionManager } from "../../core/versionManager";
import {TYPES, IBuildAgent, IExecResult} from '../../core/models'
import {injectable, inject} from 'inversify'
import {DotnetTool, IDotnetTool} from '../../core/dotnet-tool'
import {IVersionManager} from '../../core/versionManager'
import {
GitReleaseManagerSettings,
@@ -12,186 +12,222 @@ import {
GitReleaseManagerCloseSettings,
GitReleaseManagerOpenSettings,
GitReleaseManagerPublishSettings,
GitReleaseManagerAddAssetSettings,
} from "./models";
GitReleaseManagerAddAssetSettings
} from './models'
export interface IGitReleaseManagerTool extends IDotnetTool {
install(versionSpec: string, includePrerelease: boolean): Promise<void>;
create(settings: GitReleaseManagerCreateSettings): Promise<IExecResult>;
discard(settings: GitReleaseManagerDiscardSettings): Promise<IExecResult>;
close(settings: GitReleaseManagerCloseSettings): Promise<IExecResult>;
open(settings: GitReleaseManagerOpenSettings): Promise<IExecResult>;
publish(settings: GitReleaseManagerPublishSettings): Promise<IExecResult>;
addAsset(settings: GitReleaseManagerAddAssetSettings): Promise<IExecResult>;
install(versionSpec: string, includePrerelease: boolean): Promise<void>
create(settings: GitReleaseManagerCreateSettings): Promise<IExecResult>
discard(settings: GitReleaseManagerDiscardSettings): Promise<IExecResult>
close(settings: GitReleaseManagerCloseSettings): Promise<IExecResult>
open(settings: GitReleaseManagerOpenSettings): Promise<IExecResult>
publish(settings: GitReleaseManagerPublishSettings): Promise<IExecResult>
addAsset(settings: GitReleaseManagerAddAssetSettings): Promise<IExecResult>
}
@injectable()
export class GitReleaseManagerTool extends DotnetTool implements IGitReleaseManagerTool {
export class GitReleaseManagerTool extends DotnetTool
implements IGitReleaseManagerTool {
constructor(
@inject(TYPES.IBuildAgent) buildAgent: IBuildAgent,
@inject(TYPES.IVersionManager) versionManager: IVersionManager
) {
super(buildAgent, versionManager);
super(buildAgent, versionManager)
}
public async install(versionSpec: string, includePrerelease: boolean): Promise<void> {
await this.toolInstall("GitReleaseManager.Tool", versionSpec, false, includePrerelease);
public async install(
versionSpec: string,
includePrerelease: boolean
): Promise<void> {
await this.toolInstall(
'GitReleaseManager.Tool',
versionSpec,
false,
includePrerelease
)
}
public create(settings: GitReleaseManagerCreateSettings): Promise<IExecResult> {
const args = this.getCreateArguments(settings);
public create(
settings: GitReleaseManagerCreateSettings
): Promise<IExecResult> {
const args = this.getCreateArguments(settings)
return this.execute("dotnet-gitreleasemanager", args);
return this.execute('dotnet-gitreleasemanager', args)
}
public discard(settings: GitReleaseManagerDiscardSettings): Promise<IExecResult> {
const args = this.getDiscardArguments(settings);
public discard(
settings: GitReleaseManagerDiscardSettings
): Promise<IExecResult> {
const args = this.getDiscardArguments(settings)
return this.execute("dotnet-gitreleasemanager", args);
return this.execute('dotnet-gitreleasemanager', args)
}
public close(settings: GitReleaseManagerCloseSettings): Promise<IExecResult> {
const args = this.getCloseArguments(settings);
public close(
settings: GitReleaseManagerCloseSettings
): Promise<IExecResult> {
const args = this.getCloseArguments(settings)
return this.execute("dotnet-gitreleasemanager", args);
return this.execute('dotnet-gitreleasemanager', args)
}
public open(settings: GitReleaseManagerOpenSettings): Promise<IExecResult> {
const args = this.getOpenArguments(settings);
const args = this.getOpenArguments(settings)
return this.execute("dotnet-gitreleasemanager", args);
return this.execute('dotnet-gitreleasemanager', args)
}
public publish(settings: GitReleaseManagerPublishSettings): Promise<IExecResult> {
const args = this.getPublishArguments(settings);
public publish(
settings: GitReleaseManagerPublishSettings
): Promise<IExecResult> {
const args = this.getPublishArguments(settings)
return this.execute("dotnet-gitreleasemanager", args);
return this.execute('dotnet-gitreleasemanager', args)
}
public addAsset(settings: GitReleaseManagerAddAssetSettings): Promise<IExecResult> {
const args = this.getAddAssetArguments(settings);
public addAsset(
settings: GitReleaseManagerAddAssetSettings
): Promise<IExecResult> {
const args = this.getAddAssetArguments(settings)
return this.execute("dotnet-gitreleasemanager", args);
return this.execute('dotnet-gitreleasemanager', args)
}
private getCommonArguments(settings: GitReleaseManagerSettings): string[] {
const args: string[] = [];
const args: string[] = []
args.push("--owner", settings.owner);
args.push("--repository", settings.repository);
args.push("--token", settings.token);
args.push('--owner', settings.owner)
args.push('--repository', settings.repository)
args.push('--token', settings.token)
settings.targetDirectory = this.getRepoDir(settings.targetDirectory);
settings.targetDirectory = this.getRepoDir(settings.targetDirectory)
args.push("--targetDirectory", settings.targetDirectory);
args.push('--targetDirectory', settings.targetDirectory)
return args;
return args
}
private getCreateArguments(settings: GitReleaseManagerCreateSettings): string[] {
const args: string[] = ['create', ...this.getCommonArguments(settings)];
private getCreateArguments(
settings: GitReleaseManagerCreateSettings
): string[] {
const args: string[] = ['create', ...this.getCommonArguments(settings)]
if (settings.milestone) {
args.push("--milestone", settings.milestone);
args.push('--milestone', settings.milestone)
}
if (settings.name) {
args.push("--name", settings.name);
args.push('--name', settings.name)
}
if (settings.commit) {
args.push("--targetcommitish", settings.commit);
args.push('--targetcommitish', settings.commit)
}
if (settings.inputFileName) {
if (this.buildAgent.fileExists(settings.inputFileName)) {
args.push("--inputFilePath", settings.inputFileName);
args.push('--inputFilePath', settings.inputFileName)
} else {
throw new Error("GitReleaseManager inputFilePath not found at " + settings.inputFileName);
throw new Error(
'GitReleaseManager inputFilePath not found at ' +
settings.inputFileName
)
}
}
if (settings.isPreRelease) {
args.push("--pre");
args.push('--pre')
}
if (settings.assets && settings.assets.length > 0) {
settings.assets = settings.assets.map(asset => {
return path.join(settings.targetDirectory, asset)
})
args.push("--assets", settings.assets.join(","));
args.push('--assets', settings.assets.join(','))
}
return args;
return args
}
private getDiscardArguments(settings: GitReleaseManagerDiscardSettings): string[] {
const args: string[] = ['discard', ...this.getCommonArguments(settings)];
private getDiscardArguments(
settings: GitReleaseManagerDiscardSettings
): string[] {
const args: string[] = ['discard', ...this.getCommonArguments(settings)]
if (settings.milestone) {
args.push("--milestone", settings.milestone);
args.push('--milestone', settings.milestone)
}
return args;
return args
}
private getCloseArguments(settings: GitReleaseManagerCloseSettings): string[] {
const args: string[] = ['close', ...this.getCommonArguments(settings)];
private getCloseArguments(
settings: GitReleaseManagerCloseSettings
): string[] {
const args: string[] = ['close', ...this.getCommonArguments(settings)]
if (settings.milestone) {
args.push("--milestone", settings.milestone);
args.push('--milestone', settings.milestone)
}
return args;
return args
}
private getOpenArguments(settings: GitReleaseManagerOpenSettings): string[] {
const args: string[] = ['open', ...this.getCommonArguments(settings)];
private getOpenArguments(
settings: GitReleaseManagerOpenSettings
): string[] {
const args: string[] = ['open', ...this.getCommonArguments(settings)]
if (settings.milestone) {
args.push("--milestone", settings.milestone);
args.push('--milestone', settings.milestone)
}
return args;
return args
}
private getPublishArguments(settings: GitReleaseManagerPublishSettings): string[] {
const args: string[] = ['publish', ...this.getCommonArguments(settings)];
private getPublishArguments(
settings: GitReleaseManagerPublishSettings
): string[] {
const args: string[] = ['publish', ...this.getCommonArguments(settings)]
if (settings.tagName) {
args.push("--tagName", settings.tagName);
args.push('--tagName', settings.tagName)
}
return args;
return args
}
private getAddAssetArguments(settings: GitReleaseManagerAddAssetSettings): string[] {
const args: string[] = ['addasset', ...this.getCommonArguments(settings)];
private getAddAssetArguments(
settings: GitReleaseManagerAddAssetSettings
): string[] {
const args: string[] = [
'addasset',
...this.getCommonArguments(settings)
]
if (settings.tagName) {
args.push("--tagName", settings.tagName);
args.push('--tagName', settings.tagName)
}
if (settings.assets && settings.assets.length > 0) {
settings.assets = settings.assets.map(asset => {
return path.join(settings.targetDirectory, asset)
})
args.push("--assets", settings.assets.join(","));
args.push('--assets', settings.assets.join(','))
}
return args;
return args
}
private getRepoDir(targetPath: string): string {
let workDir: string;
const srcDir = this.buildAgent.getSourceDir();
let workDir: string
const srcDir = this.buildAgent.getSourceDir()
if (!targetPath) {
workDir = srcDir;
workDir = srcDir
} else {
if (this.buildAgent.directoryExists(targetPath)) {
workDir = path.join(srcDir, targetPath);
workDir = path.join(srcDir, targetPath)
} else {
throw new Error("Directory not found at " + targetPath);
throw new Error('Directory not found at ' + targetPath)
}
}
return workDir.replace(/\\/g, "/");
return workDir.replace(/\\/g, '/')
}
}