introduce SettingsProviders
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { addAsset } from './main'
|
||||
|
||||
addAsset()
|
||||
await addAsset()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { close } from './main'
|
||||
|
||||
close()
|
||||
await close()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { create } from './main'
|
||||
|
||||
create()
|
||||
await create()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { discard } from './main'
|
||||
|
||||
discard()
|
||||
await discard()
|
||||
|
||||
@@ -1,34 +1,26 @@
|
||||
import { IBuildAgent, TYPES } from '../../core/models'
|
||||
import {
|
||||
IGitReleaseManagerTool,
|
||||
GitReleaseManagerTool
|
||||
} from '../../tools/gitreleasemanager/tool'
|
||||
import { Settings as CommonSettings } from '../../core/settings'
|
||||
import { Settings } from '../../tools/gitreleasemanager/settings'
|
||||
import { IGitReleaseManagerTool, GitReleaseManagerTool } from '../../tools/gitreleasemanager/tool'
|
||||
import { IGitReleaseManagerSettingsProvider } from '../../tools/gitreleasemanager/models'
|
||||
import { GitReleaseManagerSettingsProvider } from '../../tools/gitreleasemanager/settings'
|
||||
|
||||
import container from '../../core/ioc'
|
||||
|
||||
container
|
||||
.bind<IGitReleaseManagerTool>(TYPES.IGitReleaseManagerTool)
|
||||
.to(GitReleaseManagerTool)
|
||||
container.bind<IGitReleaseManagerTool>(TYPES.IGitReleaseManagerTool).to(GitReleaseManagerTool)
|
||||
container.bind<IGitReleaseManagerSettingsProvider>(TYPES.IGitReleaseManagerSettingsProvider).to(GitReleaseManagerSettingsProvider)
|
||||
|
||||
const gitReleaseManagerTool = container.get<IGitReleaseManagerTool>(
|
||||
TYPES.IGitReleaseManagerTool
|
||||
)
|
||||
const buildAgent = container.get<IBuildAgent>(TYPES.IBuildAgent)
|
||||
const gitReleaseManagerTool = container.get<IGitReleaseManagerTool>(TYPES.IGitReleaseManagerTool)
|
||||
const settingsProvider = container.get<IGitReleaseManagerSettingsProvider>(TYPES.IGitReleaseManagerSettingsProvider)
|
||||
|
||||
export async function setup() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = CommonSettings.getSetupSettings(buildAgent)
|
||||
const settings = settingsProvider.getSetupSettings()
|
||||
|
||||
await gitReleaseManagerTool.install(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager installed successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager installed successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
@@ -38,14 +30,11 @@ export async function create() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = Settings.getCreateSettings(buildAgent)
|
||||
const settings = settingsProvider.getCreateSettings()
|
||||
|
||||
await gitReleaseManagerTool.create(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager created release successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager created release successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
@@ -55,14 +44,11 @@ export async function discard() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = Settings.getDiscardSettings(buildAgent)
|
||||
const settings = settingsProvider.getDiscardSettings()
|
||||
|
||||
await gitReleaseManagerTool.discard(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager discarded release successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager discarded release successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
@@ -72,14 +58,11 @@ export async function close() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = Settings.getCloseSettings(buildAgent)
|
||||
const settings = settingsProvider.getCloseSettings()
|
||||
|
||||
await gitReleaseManagerTool.close(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager closed release successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager closed release successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
@@ -89,14 +72,11 @@ export async function open() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = Settings.getOpenSettings(buildAgent)
|
||||
const settings = settingsProvider.getOpenSettings()
|
||||
|
||||
await gitReleaseManagerTool.open(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager opened release successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager opened release successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
@@ -106,14 +86,11 @@ export async function publish() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = Settings.getPublishSettings(buildAgent)
|
||||
const settings = settingsProvider.getPublishSettings()
|
||||
|
||||
await gitReleaseManagerTool.publish(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager published release successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager published release successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
@@ -123,14 +100,11 @@ export async function addAsset() {
|
||||
try {
|
||||
gitReleaseManagerTool.disableTelemetry()
|
||||
|
||||
const settings = Settings.getAddAssetSettings(buildAgent)
|
||||
const settings = settingsProvider.getAddAssetSettings()
|
||||
|
||||
await gitReleaseManagerTool.addAsset(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager added assets to release successfully',
|
||||
true
|
||||
)
|
||||
buildAgent.setSucceeded('GitVersionManager added assets to release successfully', true)
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { open } from './main'
|
||||
|
||||
open()
|
||||
await open()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { publish } from './main'
|
||||
|
||||
publish()
|
||||
await publish()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { setup } from './main'
|
||||
|
||||
setup()
|
||||
await setup()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { run } from './main'
|
||||
|
||||
run()
|
||||
await run()
|
||||
|
||||
@@ -1,24 +1,23 @@
|
||||
import { IBuildAgent, TYPES } from '../../core/models'
|
||||
import { Settings as CommonSettings } from '../../core/settings'
|
||||
import { Settings } from '../../tools/gitversion/settings'
|
||||
import { IGitVersionTool, GitVersionTool } from '../../tools/gitversion/tool'
|
||||
import {
|
||||
GitVersionSettings,
|
||||
GitVersionOutput
|
||||
} from '../../tools/gitversion/models'
|
||||
import { GitVersionSettings, GitVersionOutput, IGitVersionSettingsProvider } from '../../tools/gitversion/models'
|
||||
import { GitVersionSettingsProvider } from '../../tools/gitversion/settings'
|
||||
|
||||
import container from '../../core/ioc'
|
||||
|
||||
container.bind<IGitVersionTool>(TYPES.IGitVersionTool).to(GitVersionTool)
|
||||
container.bind<IGitVersionSettingsProvider>(TYPES.IGitVersionSettingsProvider).to(GitVersionSettingsProvider)
|
||||
|
||||
const gitVersionTool = container.get<IGitVersionTool>(TYPES.IGitVersionTool)
|
||||
const buildAgent = container.get<IBuildAgent>(TYPES.IBuildAgent)
|
||||
const gitVersionTool = container.get<IGitVersionTool>(TYPES.IGitVersionTool)
|
||||
const settingsProvider = container.get<IGitVersionSettingsProvider>(TYPES.IGitVersionSettingsProvider)
|
||||
|
||||
export async function setup() {
|
||||
try {
|
||||
gitVersionTool.disableTelemetry()
|
||||
console.log(`Agent: '${buildAgent.agentName}'`)
|
||||
|
||||
const settings = CommonSettings.getSetupSettings(buildAgent)
|
||||
const settings = settingsProvider.getSetupSettings()
|
||||
|
||||
await gitVersionTool.install(settings)
|
||||
|
||||
@@ -31,17 +30,13 @@ export async function setup() {
|
||||
export async function run() {
|
||||
try {
|
||||
gitVersionTool.disableTelemetry()
|
||||
console.log(`Agent: '${buildAgent.agentName}'`)
|
||||
|
||||
const settings: GitVersionSettings = Settings.getGitVersionSettings(
|
||||
buildAgent
|
||||
)
|
||||
const settings: GitVersionSettings = settingsProvider.getGitVersionSettings()
|
||||
|
||||
const result = await gitVersionTool.run(settings)
|
||||
const { stdout } = result
|
||||
const jsonOutput = stdout.substring(
|
||||
stdout.lastIndexOf('{'),
|
||||
stdout.lastIndexOf('}') + 1
|
||||
)
|
||||
const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)
|
||||
|
||||
const gitversion = JSON.parse(jsonOutput) as GitVersionOutput
|
||||
gitVersionTool.writeGitVersionToAgent(gitversion)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'reflect-metadata'
|
||||
import { setup } from './main'
|
||||
|
||||
setup()
|
||||
await setup()
|
||||
|
||||
Reference in New Issue
Block a user