diff options
| author | mo khan <mo.khan@gmail.com> | 2020-04-17 14:29:03 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-04-17 14:29:03 -0600 |
| commit | d51ea727bc57114cdc7216e2fd44d47ab246767b (patch) | |
| tree | 9cfbd1e5979ff418f3850e4063c7b568fed3c85b /lib/license | |
| parent | f16f093e26c1c2a87c2195453ae74c53eb3616bc (diff) | |
Check for a valid version of gradle
Diffstat (limited to 'lib/license')
| -rw-r--r-- | lib/license/finder/ext.rb | 1 | ||||
| -rw-r--r-- | lib/license/finder/ext/gradle.rb | 17 | ||||
| -rw-r--r-- | lib/license/finder/ext/package_manager.rb | 14 |
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 |
