9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/puppetfile-resolver/spec_searchers/local.rb', line 9
def self.find_all(_puppetfile_module, dependency, cache, resolver_ui, config)
dep_id = ::PuppetfileResolver::SpecSearchers::Common.dependency_cache_id(self, dependency)
return cache.load(dep_id) if cache.exist?(dep_id)
result = []
config.puppet_module_paths.each do |module_path|
next unless Dir.exist?(module_path)
module_dir = File.expand_path(File.join(module_path, dependency.name))
next unless Dir.exist?(module_dir)
metadata_file = File.join(module_dir, 'metadata.json')
next unless File.exist?(metadata_file)
metadata = nil
begin
metadata = ::PuppetfileResolver::Util.symbolise_object(
::JSON.parse(File.open(metadata_file, 'rb:utf-8') { |f| f.read })
)
rescue StandardError => _e end
resolver_ui.debug { "Found local module at #{metadata_file}" }
result << Models::ModuleSpecification.new(
name: metadata[:name],
origin: :local,
version: metadata[:version],
metadata: metadata
)
end
cache.save(dep_id, result)
result
end
|