@@ -88,6 +88,11 @@ function _copy(from: string, to: string) {
88
88
_mkdirp ( path . dirname ( to ) ) ;
89
89
}
90
90
91
+ // Error out if destination already exists.
92
+ if ( fs . existsSync ( to ) ) {
93
+ throw new Error ( `Path ${ to } already exist...` ) ;
94
+ }
95
+
91
96
from = path . relative ( process . cwd ( ) , from ) ;
92
97
to = path . relative ( process . cwd ( ) , to ) ;
93
98
@@ -161,13 +166,17 @@ function _sortPackages() {
161
166
}
162
167
163
168
function _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
+ } ) ;
165
173
166
174
if ( status != 0 ) {
167
175
logger . error ( `Command failed: ${ command } ${ args . map ( x => JSON . stringify ( x ) ) . join ( ', ' ) } ` ) ;
168
176
if ( error ) {
169
177
logger . error ( 'Error: ' + ( error ? error . message : 'undefined' ) ) ;
170
178
} else {
179
+ logger . error ( `STDOUT:\n${ stdout } ` ) ;
171
180
logger . error ( `STDERR:\n${ stderr } ` ) ;
172
181
}
173
182
throw error ;
@@ -203,6 +212,19 @@ export default function(argv: { local?: boolean, snapshot?: boolean }, logger: l
203
212
_rimraf ( pkg . build ) ;
204
213
}
205
214
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
+
206
228
logger . info ( 'Copying resources...' ) ;
207
229
const resourceLogger = logger . createChild ( 'resources' ) ;
208
230
for ( const packageName of sortedPackages ) {
@@ -274,9 +296,14 @@ export default function(argv: { local?: boolean, snapshot?: boolean }, logger: l
274
296
logger . info ( 'Removing spec files...' ) ;
275
297
const specLogger = logger . createChild ( 'specfiles' ) ;
276
298
for ( const packageName of sortedPackages ) {
277
- specLogger . info ( packageName ) ;
278
299
const pkg = packages [ packageName ] ;
279
300
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 ) ;
280
307
specLogger . info ( ` ${ files . length } spec files found...` ) ;
281
308
files . forEach ( fileName => _rm ( fileName ) ) ;
282
309
}
@@ -285,9 +312,14 @@ export default function(argv: { local?: boolean, snapshot?: boolean }, logger: l
285
312
const templateLogger = logger . createChild ( 'templates' ) ;
286
313
const templateCompiler = require ( '@angular-devkit/core' ) . template ;
287
314
for ( const packageName of sortedPackages ) {
288
- templateLogger . info ( packageName ) ;
289
315
const pkg = packages [ packageName ] ;
290
316
const files = glob . sync ( path . join ( pkg . dist , '**/*.ejs' ) ) ;
317
+
318
+ if ( files . length == 0 ) {
319
+ continue ;
320
+ }
321
+
322
+ templateLogger . info ( packageName ) ;
291
323
templateLogger . info ( ` ${ files . length } ejs files found...` ) ;
292
324
files . forEach ( fileName => {
293
325
const p = path . relative (
0 commit comments