@@ -4,21 +4,23 @@ var request = require('teeny-request').teenyRequest
4
4
var urlgrey = require ( 'urlgrey' )
5
5
var jsYaml = require ( 'js-yaml' )
6
6
var walk = require ( 'ignore-walk' )
7
+ var execFileSync = require ( 'child_process' ) . execFileSync
7
8
var execSync = require ( 'child_process' ) . execSync
8
9
9
10
var detectProvider = require ( './detect' )
10
11
11
12
var version = 'v' + require ( '../package.json' ) . version
12
13
13
- var patterns ,
14
- more_patterns = ''
14
+ var patterns = ''
15
+ var more_patterns = ''
16
+ var winPatterns = ''
15
17
16
18
var isWindows =
17
19
process . platform . match ( / w i n 3 2 / ) || process . platform . match ( / w i n 6 4 / )
18
20
19
21
if ( ! isWindows ) {
20
- patterns =
21
- "-type f \\( -name '*coverage.*' " +
22
+ patterns = (
23
+ "-type f -name '*coverage.*' " +
22
24
"-or -name 'nosetests.xml' " +
23
25
"-or -name 'jacoco*.xml' " +
24
26
"-or -name 'clover.xml' " +
@@ -29,7 +31,7 @@ if (!isWindows) {
29
31
"-or -name '*.lcov' " +
30
32
"-or -name 'gcov.info' " +
31
33
"-or -name '*.gcov' " +
32
- "-or -name '*.lst' \\) " +
34
+ "-or -name '*.lst' " +
33
35
"-not -name '*.sh' " +
34
36
"-not -name '*.data' " +
35
37
"-not -name '*.py' " +
@@ -76,9 +78,10 @@ if (!isWindows) {
76
78
"-not -path '*/$bower_components/*' " +
77
79
"-not -path '*/node_modules/*' " +
78
80
"-not -path '*/conftest_*.c.gcov'"
81
+ ) . split ( ' ' )
79
82
} else {
80
- patterns =
81
- '/a-d /b /s *coverage.* ' +
83
+ winPatterns = (
84
+ '/a: -d /b /s *coverage.* ' +
82
85
'/s nosetests.xml ' +
83
86
'/s jacoco*.xml ' +
84
87
'/s clover.xml ' +
@@ -136,6 +139,7 @@ if (!isWindows) {
136
139
'| findstr /i /v \\\\$bower_components\\ ' +
137
140
'| findstr /i /v \\node_modules\\ ' +
138
141
'| findstr /i /v \\conftest_.*\\.c\\.gcov '
142
+ ) . split ( ' ' )
139
143
}
140
144
141
145
var sendToCodecovV2 = function (
@@ -355,7 +359,7 @@ var upload = function(args, on_success, on_failure) {
355
359
console . log ( '==> Building file structure' )
356
360
try {
357
361
upload +=
358
- execSync ( 'git ls-files || hg locate' , { cwd : root } )
362
+ execFileSync ( 'git' , [ ' ls-files' , '||' , 'hg' , ' locate'] , { cwd : root } )
359
363
. toString ( )
360
364
. trim ( ) + '\n<<<<<< network\n'
361
365
} catch ( err ) {
@@ -414,7 +418,7 @@ var upload = function(args, on_success, on_failure) {
414
418
}
415
419
debug . push ( gcov )
416
420
console . log ( ' $ ' + gcov )
417
- execSync ( gcov )
421
+ execFileSync ( gcov )
418
422
} catch ( e ) {
419
423
console . log ( ' Failed to run gcov command.' )
420
424
}
@@ -431,19 +435,23 @@ var upload = function(args, on_success, on_failure) {
431
435
. toString ( )
432
436
. trim ( )
433
437
} else {
434
- bowerrc = execSync ( 'if exist .bowerrc type .bowerrc' , { cwd : root } )
435
- . toString ( )
436
- . trim ( )
438
+ bowerrc = fs . existsSync ( '.bowerrc' )
437
439
}
438
440
if ( bowerrc ) {
439
441
bowerrc = JSON . parse ( bowerrc ) . directory
440
442
if ( bowerrc ) {
441
443
if ( ! isWindows ) {
442
- more_patterns =
443
- " -not -path '*/" + bowerrc . toString ( ) . replace ( / \/ $ / , '' ) + "/*'"
444
+ more_patterns = (
445
+ " -not -path '*/" +
446
+ bowerrc . toString ( ) . replace ( / \/ $ / , '' ) +
447
+ "/*'"
448
+ ) . split ( ' ' )
444
449
} else {
445
- more_patterns =
446
- '| findstr /i /v \\' + bowerrc . toString ( ) . replace ( / \/ $ / , '' ) + '\\'
450
+ more_patterns = (
451
+ '| findstr /i /v \\' +
452
+ bowerrc . toString ( ) . replace ( / \/ $ / , '' ) +
453
+ '\\'
454
+ ) . split ( ' ' )
447
455
}
448
456
}
449
457
}
@@ -474,15 +482,26 @@ var upload = function(args, on_success, on_failure) {
474
482
} else if ( ( args . options . disable || '' ) . split ( ',' ) . indexOf ( 'search' ) === - 1 ) {
475
483
console . log ( '==> Scanning for reports' )
476
484
var _files
485
+ var _findArgs
477
486
if ( ! isWindows ) {
478
- _files = execSync ( 'find ' + root + ' ' + patterns + more_patterns )
487
+ // @TODO support for a root directory
488
+ // It's not straightforward due to the nature of the find command
489
+ _findArgs = [ root ] . concat ( patterns )
490
+ if ( more_patterns ) {
491
+ _findArgs . concat ( more_patterns )
492
+ }
493
+ _files = execFileSync ( 'find' , _findArgs )
479
494
. toString ( )
480
495
. trim ( )
481
496
. split ( '\n' )
482
497
} else {
483
498
// @TODO support for a root directory
484
499
// It's not straightforward due to the nature of the dir command
485
- _files = execSync ( 'dir ' + patterns + more_patterns )
500
+ _findArgs = [ root ] . concat ( winPatterns )
501
+ if ( more_patterns ) {
502
+ _findArgs . concat ( more_patterns )
503
+ }
504
+ _files = execSync ( 'dir ' + winPatterns . join ( ' ' ) + more_patterns )
486
505
. toString ( )
487
506
. trim ( )
488
507
. split ( '\r\n' )
0 commit comments