7
7
const {
8
8
join
9
9
} = require ( 'path' )
10
+ const fs = require ( 'fs' )
10
11
11
12
function getBuildFiles ( externalFiles ) {
12
13
let buildFiles = [ ] ;
@@ -22,22 +23,32 @@ function getBuildFiles(externalFiles) {
22
23
} ) ;
23
24
}
24
25
25
- const directoriesToCheck = [ './' ]
26
- directoriesToCheck . push ( ...subDirectories ( './' ) )
26
+ const allRecursiveFiles = getAllBuildFiles ( '.' )
27
27
28
- directoriesToCheck . forEach ( directory => {
29
- const groovyBuildFile = join ( directory , 'build.gradle' ) ;
30
- const kotlinBuildFile = join ( directory , 'build.gradle.kts' ) ;
31
- if ( existsSync ( groovyBuildFile ) ) {
32
- buildFiles . push ( groovyBuildFile ) ;
33
- } else if ( existsSync ( kotlinBuildFile ) ) {
34
- buildFiles . push ( kotlinBuildFile ) ;
35
- }
36
- } )
28
+ const recursiveBuildFiles = allRecursiveFiles . filter ( it => it . endsWith ( 'build.gradle' ) || it . endsWith ( 'build.gradle.kts' ) )
29
+
30
+ buildFiles . push ( ...recursiveBuildFiles )
37
31
38
32
return buildFiles
39
33
}
40
34
35
+ const getAllBuildFiles = function ( dirPath , arrayOfFiles ) {
36
+ const files = fs . readdirSync ( dirPath )
37
+
38
+ arrayOfFiles = arrayOfFiles || [ ]
39
+
40
+ files . forEach ( function ( file ) {
41
+ if ( fs . statSync ( dirPath + "/" + file ) . isDirectory ( ) ) {
42
+ arrayOfFiles = getAllBuildFiles ( dirPath + "/" + file , arrayOfFiles )
43
+ } else {
44
+ arrayOfFiles . push ( join ( __dirname , dirPath , "/" , file ) )
45
+
46
+ }
47
+ } )
48
+
49
+ return arrayOfFiles
50
+ }
51
+
41
52
module . exports = {
42
53
getBuildFiles
43
54
}
0 commit comments