diff --git a/lib/license_finder/package_managers/gradle.rb b/lib/license_finder/package_managers/gradle.rb index ea2c016eb..8ea684165 100644 --- a/lib/license_finder/package_managers/gradle.rb +++ b/lib/license_finder/package_managers/gradle.rb @@ -49,8 +49,18 @@ def project_root? private def root_module? - command = "#{package_management_command} properties | grep 'parent: '" + return false if project_path.to_s.include?('buildSrc') + command = "#{package_management_command} -Dorg.gradle.jvmargs=-Xmx6144m properties | grep 'parent: '" stdout, stderr, status = Dir.chdir(project_path) { Cmd.run(command) } + + if stderr.include?('not part of the build defined by settings file') + Dir.chdir(project_path) do + Cmd.run('touch settings.gradle') + stdout, stderr, status = Cmd.run(command) + Cmd.run('rm settings.gradle') + end + end + raise "Command '#{command}' failed to execute: #{stderr}" unless status.success? root_project_name = stdout.gsub(/\s|parent:|\n/, '')