summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-04-17 14:29:03 -0600
committermo khan <mo.khan@gmail.com>2020-04-17 14:29:03 -0600
commitd51ea727bc57114cdc7216e2fd44d47ab246767b (patch)
tree9cfbd1e5979ff418f3850e4063c7b568fed3c85b /lib
parentf16f093e26c1c2a87c2195453ae74c53eb3616bc (diff)
Check for a valid version of gradle
Diffstat (limited to 'lib')
-rw-r--r--lib/license/finder/ext.rb1
-rw-r--r--lib/license/finder/ext/gradle.rb17
-rw-r--r--lib/license/finder/ext/package_manager.rb14
3 files changed, 27 insertions, 5 deletions
diff --git a/lib/license/finder/ext.rb b/lib/license/finder/ext.rb
index 703afc5..70620be 100644
--- a/lib/license/finder/ext.rb
+++ b/lib/license/finder/ext.rb
@@ -5,6 +5,7 @@ require 'license/finder/ext/gradle'
require 'license/finder/ext/license'
require 'license/finder/ext/maven'
require 'license/finder/ext/nuget'
+require 'license/finder/ext/package_manager'
require 'license/finder/ext/pip'
require 'license/finder/ext/pipenv'
require 'license/finder/ext/shared_helpers'
diff --git a/lib/license/finder/ext/gradle.rb b/lib/license/finder/ext/gradle.rb
index ca26201..23a013b 100644
--- a/lib/license/finder/ext/gradle.rb
+++ b/lib/license/finder/ext/gradle.rb
@@ -18,9 +18,9 @@ module LicenseFinder
private
def download_licenses
- return [] unless gradle_major_version > 1
-
_stdout, _stderr, status = Dir.chdir(project_path) do
+ return [] unless valid_gradle?
+
shell.execute([
@command,
ENV.fetch('GRADLE_CLI_OPTS', '--exclude-task=test'),
@@ -49,11 +49,18 @@ module LicenseFinder
GradlePackage.new(hash, include_groups: @include_groups)
end
+ def valid_gradle?
+ gradle_major_version.nil? || gradle_major_version > 1
+ end
+
def gradle_major_version
- stdout, _, status = shell.execute([package_management_command, '--version'])
- stdout.match(/Gradle (?<major>\d+)\.\d+/)&.fetch(:major, 0).to_i if status.success?
+ @gradle_major_version ||=
+ begin
+ stdout, _, status = shell.execute([package_management_command, '--version'])
+ return unless status.success?
- 0
+ stdout.match(/Gradle (?<major>\d+)\.\d+/)&.[](:major).to_i
+ end
end
end
end
diff --git a/lib/license/finder/ext/package_manager.rb b/lib/license/finder/ext/package_manager.rb
new file mode 100644
index 0000000..618b6b3
--- /dev/null
+++ b/lib/license/finder/ext/package_manager.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+module LicenseFinder
+ class PackageManager
+ def current_packages_with_relations
+ current_packages
+ rescue StandardError => error
+ License::Management.logger.error(error)
+ raise error unless @prepare_no_fail
+
+ []
+ end
+ end
+end