update-license-data: style fixes
This commit is contained in:
parent
3f267a8fc9
commit
37541704b8
@ -7,53 +7,38 @@ require "json"
|
|||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module_function
|
module_function
|
||||||
SPDX_FOLDER_PATH = (HOMEBREW_LIBRARY_PATH/"data").freeze
|
|
||||||
FILE_NAME = "spdx.json".freeze
|
|
||||||
NEW_FILE_NAME = "spdx_new.json".freeze
|
|
||||||
SPDX_DATA_URL = "https://raw.githubusercontent.com/spdx/license-list-data/master/json/licenses.json"
|
|
||||||
|
|
||||||
def update_license_data_args
|
SPDX_FOLDER_PATH = (HOMEBREW_LIBRARY_PATH/"data").freeze
|
||||||
Homebrew::CLI::Parser.new do
|
FILE_NAME = "spdx.json"
|
||||||
usage_banner <<~EOS
|
SPDX_DATA_URL = "https://raw.githubusercontent.com/spdx/license-list-data/master/json/licenses.json"
|
||||||
`update_license_data` <cmd>
|
|
||||||
|
|
||||||
Update SPDX license data in the Homebrew repository.
|
def update_license_data_args
|
||||||
|
Homebrew::CLI::Parser.new do
|
||||||
|
usage_banner <<~EOS
|
||||||
|
`update_license_data` <cmd>
|
||||||
|
|
||||||
|
Update SPDX license data in the Homebrew repository.
|
||||||
EOS
|
EOS
|
||||||
switch "--fail-if-changed",
|
switch "--fail-if-changed",
|
||||||
description: "Return a failing status code if current license data's version is different from the upstream. This "\
|
description: "Return a failing status code if current license data's version is different from the upstream. This "\
|
||||||
"can be used to notify CI when the SPDX license data is out of date."
|
"can be used to notify CI when the SPDX license data is out of date."
|
||||||
|
|
||||||
switch "--do-not-replace",
|
max_named 0
|
||||||
description: "Flags out discrepancy between local and upstream versions, but does not replace"
|
end
|
||||||
|
|
||||||
max_named 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def update_license_data
|
|
||||||
update_license_data_args.parse
|
|
||||||
p args
|
|
||||||
curr_spdx_hash = File.open(SPDX_FOLDER_PATH/FILE_NAME, 'r') do |f|
|
|
||||||
JSON.parse(f.read)
|
|
||||||
end
|
|
||||||
puts "Fetching newest version of SPDX License data..."
|
|
||||||
updated_spdx_string = open(SPDX_DATA_URL) do |json|
|
|
||||||
json.read
|
|
||||||
end
|
end
|
||||||
|
|
||||||
updated_spdx_hash = JSON.parse(updated_spdx_string)
|
def update_license_data
|
||||||
if curr_spdx_hash["licenseListVersion"] != updated_spdx_hash["licenseListVersion"]
|
update_license_data_args.parse
|
||||||
|
puts "Fetching newest version of SPDX License data..."
|
||||||
puts "Current version is #{curr_spdx_hash["licenseListVersion"]} but newest version is #{updated_spdx_hash["licenseListVersion"]}"
|
open(SPDX_DATA_URL) do |json|
|
||||||
unless args.do_not_replace?
|
|
||||||
puts "Updating existing licences data file..."
|
|
||||||
File.open(SPDX_FOLDER_PATH/FILE_NAME, "wb") do |file|
|
File.open(SPDX_FOLDER_PATH/FILE_NAME, "wb") do |file|
|
||||||
file.write(updated_spdx_string)
|
file.write(json.read)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Homebrew.failed = !!args.fail_if_outdated
|
|
||||||
else
|
if args.fail_if_changed?
|
||||||
puts "Current version of license data is updated. No change required"
|
Homebrew.failed = true
|
||||||
|
system("git diff --stat --exit-code #{FILE_NAME}")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user