npmci/ts/npmci.env.ts

56 lines
1.7 KiB
TypeScript
Raw Permalink Normal View History

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