Sha256: 0209a1d8ce7a2eb73020fda8ea3b910c9d7606a181f91bd9eefbce6410381783
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
#!/usr/bin/env ruby require "json" if ARGV[0].nil? abort("Error: Must provide a metadata.json file to parse") end metadata = ARGV[0] f = File.read(metadata) begin parsed = JSON.parse(f) rescue abort("Error: Unable to parse json. There is a syntax error somewhere.") end # Fields required to be in metadata.json # From: https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html#write-a-metadatajson-file error_state = false required_fields = [ "name", "version", "author", "license", "summary", "source", "dependencies" ] required_fields.each do |field| if parsed[field].nil? puts "Error: Required field '#{field}' not found in metadata.json." error_state = true end end # Depricated fields # From: https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html#write-a-metadatajson-file deprecated_fields = ["types", "checksum"] deprecated_fields.each do |field| if not parsed[field].nil? puts "Error: Deprecated field '#{field}' found in metadata.json." error_state = true end end if error_state abort("Errors found in metadata.json") end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
metadata-json-lint-0.0.1 | bin/metadata-json-lint |