Skip to content

Commit cd420e7

Browse files
committed
Unlimited depth when searching for build files
1 parent 126baee commit cd420e7

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

buildFiles.js

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const {
77
const {
88
join
99
} = require('path')
10+
const fs = require('fs')
1011

1112
function getBuildFiles(externalFiles) {
1213
let buildFiles = [];
@@ -22,22 +23,32 @@ function getBuildFiles(externalFiles) {
2223
});
2324
}
2425

25-
const directoriesToCheck = ['./']
26-
directoriesToCheck.push(...subDirectories('./'))
26+
const allRecursiveFiles = getAllBuildFiles('.')
2727

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)
3731

3832
return buildFiles
3933
}
4034

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+
4152
module.exports = {
4253
getBuildFiles
4354
}

index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ if (!gradleCommand) {
5050

5151
const externalFiles = argv['external-file'];
5252
const buildFiles = getBuildFiles(externalFiles)
53+
debugLog('Build Files:\n' + buildFiles.join('\n'))
5354
if (!buildFiles.length) {
5455
console.log('Unable to find build.gradle, build.gradle.kts or external build file.'.bgRed)
5556
return
@@ -86,7 +87,7 @@ async function executeCommandAndWaitForExitCode(command, args) {
8687
(async () => {
8788
console.log('Checking for upgrades...\n')
8889

89-
const gradleDependencyUpdateArgs = ['dependencyUpdates', '-DoutputFormatter=json', '-DoutputDir=build/dependencyUpdates']
90+
const gradleDependencyUpdateArgs = ['dependencyUpdates', '-DoutputFormatter=json', '-DoutputDir=build/dependencyUpdates', '--status']
9091
const gradleDependencyUpdateResolution = argv.resolution
9192
if (gradleDependencyUpdateResolution) {
9293
gradleDependencyUpdateArgs.push(`-Drevision=${gradleDependencyUpdateResolution}`)

0 commit comments

Comments
 (0)