@@ -4,21 +4,13 @@ const tar = require('tar-fs');
44// our modules
55const logger = require ( '../logger' ) ;
66const docker = require ( './docker' ) ;
7- const { tempDockerDir, getProjectConfig, tagFromConfig, writeStatus} = require ( '../util' ) ;
7+ const { tempDockerDir} = require ( '../config' ) ;
8+ const { getProjectConfig, tagFromConfig, writeStatus} = require ( '../util' ) ;
89
9- module . exports = ( { username, resultStream} ) =>
10- new Promise ( async ( resolve , reject ) => {
11- // get packed stream
12- const tarStream = tar . pack ( tempDockerDir ) ;
13-
14- // get project info
15- const config = getProjectConfig ( ) ;
16-
17- // construct image tag
18- const tag = tagFromConfig ( { username, config} ) ;
19- logger . debug ( 'building with tag:' , tag ) ;
20- writeStatus ( resultStream , { message : `Building image with tag: ${ tag } ` , level : 'verbose' } ) ;
10+ const noop = ( ) => { } ;
2111
12+ exports . buildFromParams = ( { tarStream, tag, logLine = noop } ) =>
13+ new Promise ( async ( resolve , reject ) => {
2214 // deploy as docker
2315 const log = [ ] ;
2416 // track errors
@@ -34,21 +26,21 @@ module.exports = ({username, resultStream}) =>
3426 // process log data
3527 if ( data . stream && data . stream . length ) {
3628 log . push ( data . stream ) ;
37- writeStatus ( resultStream , { message : data . stream , level : 'verbose' } ) ;
29+ logLine ( { message : data . stream , level : 'verbose' } ) ;
3830 } else if ( data . error && data . error . length ) {
3931 // process error data
4032 log . push ( data . error ) ;
41- writeStatus ( resultStream , { message : data . error , level : 'error' } ) ;
33+ logLine ( { message : data . error , level : 'error' } ) ;
4234 hasErrors = true ;
4335 } else {
4436 // push everything else as-is
4537 log . push ( s ) ;
46- writeStatus ( resultStream , { message : s , level : 'verbose' } ) ;
38+ logLine ( { message : s , level : 'verbose' } ) ;
4739 }
4840 } catch ( e ) {
4941 if ( s && s . length ) {
5042 log . push ( s ) ;
51- writeStatus ( resultStream , { message : s , level : 'verbose' } ) ;
43+ logLine ( { message : s , level : 'verbose' } ) ;
5244 }
5345 }
5446 } ) ;
@@ -61,3 +53,22 @@ module.exports = ({username, resultStream}) =>
6153 resolve ( { log, image : tag } ) ;
6254 } ) ;
6355 } ) ;
56+
57+ exports . build = async ( { username, resultStream} ) => {
58+ // get packed stream
59+ const tarStream = tar . pack ( tempDockerDir ) ;
60+
61+ // get project info
62+ const config = getProjectConfig ( ) ;
63+
64+ // construct image tag
65+ const tag = tagFromConfig ( { username, config} ) ;
66+ logger . debug ( 'building with tag:' , tag ) ;
67+ writeStatus ( resultStream , { message : `Building image with tag: ${ tag } ` , level : 'verbose' } ) ;
68+
69+ // create logger function
70+ const logLine = data => writeStatus ( resultStream , data ) ;
71+
72+ // return build
73+ return exports . buildFromParams ( { tarStream, tag, logLine} ) ;
74+ } ;
0 commit comments