@@ -88,6 +88,11 @@ function _copy(from: string, to: string) {
8888 _mkdirp ( path . dirname ( to ) ) ;
8989 }
9090
91+ // Error out if destination already exists.
92+ if ( fs . existsSync ( to ) ) {
93+ throw new Error ( `Path ${ to } already exist...` ) ;
94+ }
95+
9196 from = path . relative ( process . cwd ( ) , from ) ;
9297 to = path . relative ( process . cwd ( ) , to ) ;
9398
@@ -161,13 +166,17 @@ function _sortPackages() {
161166}
162167
163168function _exec ( command : string , args : string [ ] , opts : { cwd ?: string } , logger : logging . Logger ) {
164- const { status, error, stderr } = child_process . spawnSync ( command , args , { ...opts } ) ;
169+ const { status, error, stderr, stdout } = child_process . spawnSync ( command , args , {
170+ stdio : 'inherit' ,
171+ ...opts ,
172+ } ) ;
165173
166174 if ( status != 0 ) {
167175 logger . error ( `Command failed: ${ command } ${ args . map ( x => JSON . stringify ( x ) ) . join ( ', ' ) } ` ) ;
168176 if ( error ) {
169177 logger . error ( 'Error: ' + ( error ? error . message : 'undefined' ) ) ;
170178 } else {
179+ logger . error ( `STDOUT:\n${ stdout } ` ) ;
171180 logger . error ( `STDERR:\n${ stderr } ` ) ;
172181 }
173182 throw error ;
@@ -203,6 +212,19 @@ export default function(argv: { local?: boolean, snapshot?: boolean }, logger: l
203212 _rimraf ( pkg . build ) ;
204213 }
205214
215+ logger . info ( 'Merging bazel-bin/ with dist/' ) ;
216+ for ( const packageName of sortedPackages ) {
217+ const pkg = packages [ packageName ] ;
218+ const bazelBinPath = pkg . build . replace ( / ( [ \\ \/ ] d i s t [ \\ \/ ] ) ( p a c k a g e s ) / , ( _ , dist , packages ) => {
219+ return path . join ( dist , 'bazel-bin' , packages ) ;
220+ } ) ;
221+ if ( fs . existsSync ( bazelBinPath ) ) {
222+ packageLogger . info ( packageName ) ;
223+ _recursiveCopy ( bazelBinPath , pkg . dist , logger ) ;
224+ _rimraf ( bazelBinPath ) ;
225+ }
226+ }
227+
206228 logger . info ( 'Copying resources...' ) ;
207229 const resourceLogger = logger . createChild ( 'resources' ) ;
208230 for ( const packageName of sortedPackages ) {
@@ -274,9 +296,14 @@ export default function(argv: { local?: boolean, snapshot?: boolean }, logger: l
274296 logger . info ( 'Removing spec files...' ) ;
275297 const specLogger = logger . createChild ( 'specfiles' ) ;
276298 for ( const packageName of sortedPackages ) {
277- specLogger . info ( packageName ) ;
278299 const pkg = packages [ packageName ] ;
279300 const files = glob . sync ( path . join ( pkg . dist , '**/*_spec?(_large).@(js|d.ts)' ) ) ;
301+
302+ if ( files . length == 0 ) {
303+ continue ;
304+ }
305+
306+ specLogger . info ( packageName ) ;
280307 specLogger . info ( ` ${ files . length } spec files found...` ) ;
281308 files . forEach ( fileName => _rm ( fileName ) ) ;
282309 }
@@ -285,9 +312,14 @@ export default function(argv: { local?: boolean, snapshot?: boolean }, logger: l
285312 const templateLogger = logger . createChild ( 'templates' ) ;
286313 const templateCompiler = require ( '@angular-devkit/core' ) . template ;
287314 for ( const packageName of sortedPackages ) {
288- templateLogger . info ( packageName ) ;
289315 const pkg = packages [ packageName ] ;
290316 const files = glob . sync ( path . join ( pkg . dist , '**/*.ejs' ) ) ;
317+
318+ if ( files . length == 0 ) {
319+ continue ;
320+ }
321+
322+ templateLogger . info ( packageName ) ;
291323 templateLogger . info ( ` ${ files . length } ejs files found...` ) ;
292324 files . forEach ( fileName => {
293325 const p = path . relative (
0 commit comments