56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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);
 | |
| 
 | |
| export let buildStage:string = process.env.CI_BUILD_STAGE;
 | |
| 
 | |
| // handling config between commands
 | |
| export let dockerRegistry; // will be set by npmci.prepare
 | |
| export let dockerFilesBuilt:Dockerfile[] = [];
 | |
| export let dockerFiles:Dockerfile[] = [];
 | |
| export let config;
 | |
| 
 | |
| export let configStore = () => {
 | |
|     let config = {
 | |
|         dockerRegistry: dockerRegistry,
 | |
|         dockerFilesBuilt: dockerFilesBuilt,
 | |
|         dockerFiles: dockerFiles
 | |
|     }
 | |
|     plugins.smartfile.memory.toFsSync(
 | |
|         JSON.stringify(config),
 | |
|         paths.NpmciPackageConfig
 | |
|     );
 | |
| }
 | |
| 
 | |
| let configLoad = () => {
 | |
|     // internal config to transfer information in between npmci shell calls
 | |
|     try {
 | |
|         config = plugins.smartfile.fs.toObjectSync(paths.NpmciPackageConfig,"json");
 | |
|     }
 | |
|     catch(err){
 | |
|         config = {};
 | |
|         configStore();
 | |
|         plugins.beautylog.log("config initialized!");
 | |
|     }
 | |
| 
 | |
|     // project config
 | |
|     try {
 | |
|         if(!config.project){
 | |
|             config.project = plugins.smartfile.fs.toObjectSync(paths.NpmciProjectDir,"npmci.json");
 | |
|             plugins.beautylog.ok("project config found!");
 | |
|         };
 | |
|     }
 | |
|     catch(err){
 | |
|         config.project = {};
 | |
|         plugins.beautylog.log("no project config found, so proceeding with default behaviour!");
 | |
|     }
 | |
|     
 | |
|     config.dockerRegistry ? dockerRegistry = config.dockerRegistry : void(0);
 | |
|     config.dockerFilesBuilt ? dockerFilesBuilt = config.dockerFilesBuilt : void(0);
 | |
| }
 | |
| configLoad(); |