The metadata-json-lint tool validates and lints metadata.json files in Puppet modules against style guidelines from the Puppet Forge module metadata recommendations.
metadata-json-lint is compatible with Ruby versions 2.0.0, 2.1.9, 2.3.1, and 2.4.1.
via gem command:
gem install metadata-json-lintvia Gemfile:
gem 'metadata-json-lint'On the command line, run metadata-json-lint with the path of your metadata.json file:
metadata-json-lint /path/to/metadata.jsonIf you are already using puppet_spec_helper, the 'validate' task already includes metadata-json-lint.
You can also integrate metadata-json-lint checks into your tests using the Rake task. Add require 'metadata-json-lint/rake_task' to your Rakefile, and then run:
rake metadata_lintTo set options for the Rake task, include them when you define the task:
require 'metadata_json_lint'
task :metadata_lint do
MetadataJsonLint.parse('metadata.json') do |options|
options.strict_license = false
end
endAlternatively, set the option after requiring the Rake task:
require 'metadata-json-lint/rake_task'
MetadataJsonLint.options.strict_license = false--[no-]strict-dependencies: Whether to fail if module version dependencies are open-ended. Defaults tofalse.--[no-]strict-license: Whether to fail on strict license check. Defaults totrue.--[no-]fail-on-warnings: Whether to fail on warnings. Defaults totrue.--[no-]strict-puppet-version: Whether to fail if Puppet version requirements are open-ended or no longer supported. Defaults tofalse.
A big thank you to the contributors.