summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-05-06 13:05:34 -0600
committermo khan <mo.khan@gmail.com>2020-05-14 14:31:49 -0600
commite21143c82fd264ca03d79f71c9456ba7cc5b0abe (patch)
treea8bb66c8691b1904ff4d26d082959eca3b787a6a /lib
parenta5a86a5a157a33612344b6228186146d8eb219fd (diff)
Use a separate command for each version of golang
Diffstat (limited to 'lib')
-rw-r--r--lib/license/finder/ext/go_modules.rb9
-rw-r--r--lib/license/management/report/base.rb2
-rw-r--r--lib/license/management/report/v2.rb12
-rw-r--r--lib/license/management/repository.rb1
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,