diff options
Diffstat (limited to 'lib/license/management')
| -rw-r--r-- | lib/license/management/loggable.rb | 8 | ||||
| -rw-r--r-- | lib/license/management/report/v1.rb | 2 | ||||
| -rw-r--r-- | lib/license/management/report/v2.rb | 2 | ||||
| -rw-r--r-- | lib/license/management/repository.rb | 4 | ||||
| -rw-r--r-- | lib/license/management/shell.rb | 34 | ||||
| -rw-r--r-- | lib/license/management/version.rb | 2 |
6 files changed, 39 insertions, 13 deletions
diff --git a/lib/license/management/loggable.rb b/lib/license/management/loggable.rb index 0122018..37bcf37 100644 --- a/lib/license/management/loggable.rb +++ b/lib/license/management/loggable.rb @@ -6,14 +6,6 @@ module License def logger License::Management.logger end - - def log_info(message) - logger.info(message) - end - - def log_error(message) - logger.error(message) - end end end end diff --git a/lib/license/management/report/v1.rb b/lib/license/management/report/v1.rb index 49423c6..27495b5 100644 --- a/lib/license/management/report/v1.rb +++ b/lib/license/management/report/v1.rb @@ -31,7 +31,7 @@ module License license = { name: join_license_names(dependency.licenses) } urls = dependency.licenses.map(&:url).reject { |x| blank?(x) }.uniq.sort - log_info("multiple urls detected: #{urls.inspect}") if urls.size > 1 + logger.info("multiple urls detected: #{urls.inspect}") if urls.size > 1 url = urls[0] || license_data(dependency.licenses.first)['url'] license[:url] = url if present?(url) diff --git a/lib/license/management/report/v2.rb b/lib/license/management/report/v2.rb index 6ab6b99..f8c96da 100644 --- a/lib/license/management/report/v2.rb +++ b/lib/license/management/report/v2.rb @@ -31,7 +31,7 @@ module License def map_from(dependency) licenses = dependency.licenses.map { |license| data_for(license)['id'] }.sort - log_info [dependency.name, dependency.version, licenses].inspect + logger.info [dependency.name, dependency.version, licenses].inspect { name: dependency.name, diff --git a/lib/license/management/repository.rb b/lib/license/management/repository.rb index b13cec8..fdd4eae 100644 --- a/lib/license/management/repository.rb +++ b/lib/license/management/repository.rb @@ -60,7 +60,7 @@ module License end def generate_item_for(license) - log_info("Detected unknown license `#{license.short_name}`. Contribute to https://gitlab.com/gitlab-org/security-products/license-management#contributing.") + logger.info("Detected unknown license `#{license.short_name}`. Contribute to https://gitlab.com/gitlab-org/security-products/license-management#contributing.") name = take_first_line_from(license.name) { 'id' => name.downcase, @@ -88,7 +88,7 @@ module License uri.path.split('/')[-1] rescue StandardError => e - log_info(e) + logger.error(e) nil end end diff --git a/lib/license/management/shell.rb b/lib/license/management/shell.rb new file mode 100644 index 0000000..903d0b6 --- /dev/null +++ b/lib/license/management/shell.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module License + module Management + class Shell + attr_reader :logger + + def initialize(logger: License::Management.logger) + @logger = logger + end + + def execute(command, env: {}) + expanded_command = expand(command) + logger.debug(expanded_command) + + stdout, stderr, status = Open3.capture3(env, expanded_command) + + logger.debug(stdout) unless stdout.nil? || stdout.empty? + logger.error(stderr) unless stderr.nil? || stderr.empty? + [stdout, stderr, status] + end + + def sh(command, env: {}) + execute("sh -c '#{expand(command)}'", env: env) + end + + private + + def expand(command) + Array(command).map(&:to_s).join(' ') + end + end + end +end diff --git a/lib/license/management/version.rb b/lib/license/management/version.rb index 946d5e9..22f92ca 100644 --- a/lib/license/management/version.rb +++ b/lib/license/management/version.rb @@ -2,6 +2,6 @@ module License module Management - VERSION = '3.2.0' + VERSION = '3.3.0' end end |
