npmci/ts/npmci.env.ts

59 lines
1.8 KiB
TypeScript
Raw Normal View History

2016-11-24 23:07:20 +00:00
import * as plugins from './npmci.plugins'
import * as paths from './npmci.paths'
import {GitRepo} from 'smartstring'
import {Dockerfile} from './npmci.build.docker'
2016-11-24 23:07:20 +00:00
export let repo: GitRepo
if (process.env.CI_BUILD_REPO) repo = new GitRepo(process.env.CI_BUILD_REPO)
2016-06-05 19:11:30 +00:00
2016-11-24 23:07:20 +00:00
export let buildStage: string = process.env.CI_BUILD_STAGE
2016-06-03 01:44:24 +00:00
// handling config between commands
2016-11-24 23:07:20 +00:00
export let dockerRegistry: string // will be set by npmci.prepare
export let setDockerRegistry = (dockerRegistryArg: string) => {
dockerRegistry = dockerRegistryArg
}
2016-11-24 23:07:20 +00:00
export let dockerFilesBuilt: Dockerfile[] = []
export let dockerFiles: Dockerfile[] = []
export let config = {
dockerRegistry: undefined, // this will be set later on store
dockerFilesBuilt: dockerFilesBuilt,
dockerFiles: dockerFiles,
project: undefined
2016-11-24 23:07:20 +00:00
}
2016-06-05 21:53:01 +00:00
export let configStore = () => {
2016-11-24 23:07:20 +00:00
config.dockerRegistry = dockerRegistry
2016-06-05 21:53:01 +00:00
plugins.smartfile.memory.toFsSync(
JSON.stringify(config),
2016-06-25 01:19:29 +00:00
paths.NpmciPackageConfig
2016-11-24 23:07:20 +00:00
)
2016-06-05 21:53:01 +00:00
}
2016-06-19 00:30:50 +00:00
let configLoad = () => {
// internal config to transfer information in between npmci shell calls
2016-06-05 21:53:01 +00:00
try {
2016-11-24 23:07:20 +00:00
plugins.lodash.assign(config,plugins.smartfile.fs.toObjectSync(paths.NpmciPackageConfig,'json'))
2016-06-05 21:53:01 +00:00
}
2016-11-24 23:07:20 +00:00
catch (err) {
configStore()
plugins.beautylog.log('config initialized!')
2016-06-05 21:53:01 +00:00
}
2016-06-19 00:30:50 +00:00
// project config
try {
2016-11-24 23:07:20 +00:00
if (!config.project) {
config.project = plugins.smartfile.fs.toObjectSync(paths.NpmciProjectDir,'npmci.json')
plugins.beautylog.ok('project config found!')
2016-06-19 00:30:50 +00:00
};
}
2016-11-24 23:07:20 +00:00
catch (err) {
config.project = {}
plugins.beautylog.log('no project config found, so proceeding with default behaviour!')
2016-06-19 00:30:50 +00:00
}
2016-11-24 23:07:20 +00:00
config.dockerRegistry ? dockerRegistry = config.dockerRegistry : void(0)
config.dockerFilesBuilt ? dockerFilesBuilt = config.dockerFilesBuilt : void(0)
}
2016-11-24 23:07:20 +00:00
configLoad()