1 | module.exports = function ( command, gobblefile ) {
|
2 | var logger = require( './utils/logger' ),
|
3 | dest,
|
4 | task;
|
5 |
|
6 | dest = command._[1];
|
7 | start();
|
8 |
|
9 | function start () {
|
10 | var startTime = Date.now(), err;
|
11 |
|
12 | try {
|
13 | delete require.cache[ gobblefile ];
|
14 | task = require( gobblefile ).build({
|
15 | dest: dest,
|
16 | force: command.force
|
17 | });
|
18 |
|
19 | task.on( 'info', logger.info );
|
20 | task.on( 'error', logger.error );
|
21 |
|
22 | task.on( 'complete', function () {
|
23 | logger.info({
|
24 | code: 'BUILD_COMPLETE',
|
25 | dest: dest,
|
26 | watch: false,
|
27 | duration: Date.now() - startTime
|
28 | });
|
29 | });
|
30 | } catch ( e ) {
|
31 | if ( e.name !== 'GobbleError' ) {
|
32 | err = {
|
33 | name: 'GobbleError',
|
34 | code: 'STARTUP_ERROR',
|
35 | original: e
|
36 | };
|
37 | } else {
|
38 | err = e;
|
39 | }
|
40 |
|
41 | logger.error( err );
|
42 | }
|
43 | }
|
44 | };
|