Method: Puppet::ModuleTool::Metadata#add_dependency
- Defined in:
- lib/puppet/module_tool/metadata.rb
#add_dependency(name, version_requirement = nil, repository = nil) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Validates the name and version_requirement for a dependency, then creates the Dependency and adds it. Returns the Dependency that was added.
67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/puppet/module_tool/metadata.rb', line 67 def add_dependency(name, version_requirement = nil, repository = nil) validate_name(name) validate_version_range(version_requirement) if version_requirement dup = @data['dependencies'].find { |d| d.full_module_name == name && d.version_requirement != version_requirement } raise ArgumentError, _("Dependency conflict for %{module_name}: Dependency %{name} was given conflicting version requirements %{version_requirement} and %{dup_version}. Verify that there are no duplicates in the metadata.json.") % { module_name: full_module_name, name: name, version_requirement: version_requirement, dup_version: dup.version_requirement } if dup dep = Dependency.new(name, version_requirement, repository) @data['dependencies'].add(dep) dep end |