diff options
| author | mo khan <mo.khan@gmail.com> | 2020-05-06 13:05:34 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-05-14 14:31:49 -0600 |
| commit | e21143c82fd264ca03d79f71c9456ba7cc5b0abe (patch) | |
| tree | a8bb66c8691b1904ff4d26d082959eca3b787a6a /lib | |
| parent | a5a86a5a157a33612344b6228186146d8eb219fd (diff) | |
Use a separate command for each version of golang
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/license/finder/ext/go_modules.rb | 9 | ||||
| -rw-r--r-- | lib/license/management/report/base.rb | 2 | ||||
| -rw-r--r-- | lib/license/management/report/v2.rb | 12 | ||||
| -rw-r--r-- | lib/license/management/repository.rb | 1 |
4 files changed, 20 insertions, 4 deletions
diff --git a/lib/license/finder/ext/go_modules.rb b/lib/license/finder/ext/go_modules.rb index defdbe4..f37519c 100644 --- a/lib/license/finder/ext/go_modules.rb +++ b/lib/license/finder/ext/go_modules.rb @@ -1,6 +1,7 @@ module LicenseFinder class GoModules def prepare + shell.execute([:go, :env]) shell.execute([:go, :mod, :tidy, '-v', '&&', :go, :mod, :vendor, '-v']) end @@ -26,10 +27,14 @@ module LicenseFinder def command_for_current_version format = "'{{.Path}},{{.Version}},{{.Dir}}'" case go_version - when '1.11', '1.12', '1.13' + when '1.11' + [:go, :list, '-m', '-mod=vendor', '-f', format, :all] + when '1.12' + [:go, :list, '-m', '-mod=vendor', '-f', format, :all] + when '1.13' [:go, :list, '-m', '-mod=vendor', '-f', format, :all] else - [:go, :list, '-f', format, '-m', :all] + [:go, :list, '-m', '-mod=readonly', '-f', format, :all] end end diff --git a/lib/license/management/report/base.rb b/lib/license/management/report/base.rb index 0155c15..3c1a6f7 100644 --- a/lib/license/management/report/base.rb +++ b/lib/license/management/report/base.rb @@ -7,6 +7,8 @@ module License include Loggable include Verifiable + CONTRIBUTION_URL = "https://gitlab.com/gitlab-org/security-products/license-management#contributing" + attr_reader :dependencies, :repository def initialize(dependencies) diff --git a/lib/license/management/report/v2.rb b/lib/license/management/report/v2.rb index f8c96da..40dea5f 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 - logger.info [dependency.name, dependency.version, licenses].inspect + log(dependency, licenses) { name: dependency.name, @@ -41,6 +41,16 @@ module License licenses: licenses } end + + def log(dependency, licenses) + logger.info { [dependency.name, dependency.version, licenses].flatten.join(' ') } + + if licenses == ['unknown'] + logger.warn do + "Contribute #{dependency.name} #{dependency.version} to #{CONTRIBUTION_URL}" + end + end + end end end end diff --git a/lib/license/management/repository.rb b/lib/license/management/repository.rb index 026f26b..4b6e8a5 100644 --- a/lib/license/management/repository.rb +++ b/lib/license/management/repository.rb @@ -60,7 +60,6 @@ module License end def generate_item_for(license) - logger.warn("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, |
