# HG changeset patch # User Balasankar "Balu" C <balasankar@gitlab.com> # Date 1633714171 -19800 # Fri Oct 08 22:59:31 2021 +0530 # Node ID 2ebea7fe2de0e7737068e8b18f6d096012760ae4 # Parent 133f64a737ad5aff421f9417b9773670bd0a0fd9 Make license_finder print its report as JSON Signed-off-by: Balasankar "Balu" C <balasankar@gitlab.com> diff --git a/config/software/alertmanager.rb b/config/software/alertmanager.rb --- a/config/software/alertmanager.rb +++ b/config/software/alertmanager.rb @@ -47,6 +47,6 @@ command "go build -ldflags '#{prom_version.print_ldflags}' ./cmd/alertmanager", env: env, cwd: cwd copy 'alertmanager', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/alertmanager.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/alertmanager.json" end diff --git a/config/software/consul.rb b/config/software/consul.rb --- a/config/software/consul.rb +++ b/config/software/consul.rb @@ -35,6 +35,6 @@ mkdir "#{install_dir}/embedded/bin" copy 'bin/consul', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/consul.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/consul.json" end diff --git a/config/software/docker-distribution-pruner.rb b/config/software/docker-distribution-pruner.rb --- a/config/software/docker-distribution-pruner.rb +++ b/config/software/docker-distribution-pruner.rb @@ -33,6 +33,6 @@ command "go build -ldflags '-s -w' ./cmds/docker-distribution-pruner", env: env copy 'docker-distribution-pruner', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/docker-distribution-pruner.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/docker-distribution-pruner.json" end diff --git a/config/software/gitaly.rb b/config/software/gitaly.rb --- a/config/software/gitaly.rb +++ b/config/software/gitaly.rb @@ -71,6 +71,6 @@ end end - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/gitaly.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/gitaly.json" end diff --git a/config/software/gitlab-elasticsearch-indexer.rb b/config/software/gitlab-elasticsearch-indexer.rb --- a/config/software/gitlab-elasticsearch-indexer.rb +++ b/config/software/gitlab-elasticsearch-indexer.rb @@ -33,6 +33,6 @@ env = with_standard_compiler_flags(with_embedded_path) make "install PREFIX=#{install_dir}/embedded", env: env - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/gitlab-elasticsearch-indexer.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/gitlab-elasticsearch-indexer.json" end diff --git a/config/software/gitlab-kas.rb b/config/software/gitlab-kas.rb --- a/config/software/gitlab-kas.rb +++ b/config/software/gitlab-kas.rb @@ -33,6 +33,6 @@ make 'kas', env: env move 'build/kas', "#{install_dir}/embedded/bin/gitlab-kas" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/gitlab-kas.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/gitlab-kas.json" end diff --git a/config/software/gitlab-pages.rb b/config/software/gitlab-pages.rb --- a/config/software/gitlab-pages.rb +++ b/config/software/gitlab-pages.rb @@ -35,6 +35,6 @@ make 'gitlab-pages', env: env move 'gitlab-pages', "#{install_dir}/embedded/bin/gitlab-pages" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/gitlab-pages.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/gitlab-pages.json" end diff --git a/config/software/gitlab-rails.rb b/config/software/gitlab-rails.rb --- a/config/software/gitlab-rails.rb +++ b/config/software/gitlab-rails.rb @@ -154,9 +154,17 @@ move "#{Omnibus::Config.source_dir}/gitlab-rails/tmp/cache", "#{Omnibus::Config.project_root}/assets_cache" move "#{Omnibus::Config.source_dir}/gitlab-rails/node_modules", Omnibus::Config.project_root.to_s - bundle "exec license_finder report --decisions-file=config/dependency_decisions.yml --format=csv --save=licenses.csv", env: env - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv", cwd: "#{Omnibus::Config.source_dir}/gitlab-rails/workhorse" - command "sort -u licenses.csv workhorse/license.csv > #{install_dir}/licenses/gitlab-rails.csv" + bundle "exec license_finder report --decisions-file=config/dependency_decisions.yml --format=json --save=rails-license.json", env: env + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=workhorse-license.json", cwd: "#{Omnibus::Config.source_dir}/gitlab-rails/workhorse" + + # Merge rails and workhorse license files. + block "Merge license files of rails and workhorse" do + require 'json' + rails_licenses = JSON.parse(File.read("#{Omnibus::Config.source_dir}/gitlab-rails/rails-license.json"))['dependencies'] + workhorse_licenses = JSON.parse(File.read("#{Omnibus::Config.source_dir}/gitlab-rails/workhorse/workhorse-license.json"))['dependencies'] + output = { dependencies: rails_licenses.concat(workhorse_licenses).uniq } + File.write("#{install_dir}/licenses/gitlab-rails.json", JSON.pretty_generate(output)) + end # Tear down now that gitlab:assets:compile is done. delete 'config/gitlab.yml' diff --git a/config/software/node-exporter.rb b/config/software/node-exporter.rb --- a/config/software/node-exporter.rb +++ b/config/software/node-exporter.rb @@ -44,6 +44,6 @@ command "go build -ldflags '#{prom_version.print_ldflags}'", env: env copy 'node_exporter', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/node-exporter.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/node-exporter.json" end diff --git a/config/software/pgbouncer-exporter.rb b/config/software/pgbouncer-exporter.rb --- a/config/software/pgbouncer-exporter.rb +++ b/config/software/pgbouncer-exporter.rb @@ -43,6 +43,6 @@ command "go build -mod=vendor -ldflags '#{prom_version.print_ldflags}'", env: env copy 'pgbouncer_exporter', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/pgbouncer-exporter.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/pgbouncer-exporter.json" end diff --git a/config/software/postgres-exporter.rb b/config/software/postgres-exporter.rb --- a/config/software/postgres-exporter.rb +++ b/config/software/postgres-exporter.rb @@ -45,6 +45,6 @@ command "go build -ldflags '#{ldflags}' ./cmd/postgres_exporter", env: env copy 'postgres_exporter', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/postgres-exporter.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/postgres-exporter.json" end diff --git a/config/software/prometheus.rb b/config/software/prometheus.rb --- a/config/software/prometheus.rb +++ b/config/software/prometheus.rb @@ -47,6 +47,6 @@ command "go build -tags netgo,builtinassets -ldflags '#{prom_version.print_ldflags}' ./cmd/prometheus", env: env, cwd: cwd copy 'prometheus', "#{install_dir}/embedded/bin/prometheus" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/prometheus.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/prometheus.json" end diff --git a/config/software/redis-exporter.rb b/config/software/redis-exporter.rb --- a/config/software/redis-exporter.rb +++ b/config/software/redis-exporter.rb @@ -47,6 +47,6 @@ command "go build -ldflags '#{ldflags}'", env: env copy 'redis_exporter', "#{install_dir}/embedded/bin/" - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/redis-exporter.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/redis-exporter.json" end diff --git a/config/software/registry.rb b/config/software/registry.rb --- a/config/software/registry.rb +++ b/config/software/registry.rb @@ -43,6 +43,6 @@ make "binaries", env: env, cwd: cwd move "#{cwd}/bin/*", "#{install_dir}/embedded/bin", force: true - command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=csv --save=license.csv" - copy "license.csv", "#{install_dir}/licenses/registry.csv" + command "license_finder report --decisions-file=#{Omnibus::Config.project_root}/support/dependency_decisions.yml --format=json --save=license.json" + copy "license.json", "#{install_dir}/licenses/registry.json" end