62: def import(file, current_file = nil)
63: return if Puppet[:ignoreimport]
64:
65:
66: if current_file
67: dir = current_file.sub(%r{[^/]+$},'').sub(/\/$/, '')
68: else
69: dir = "."
70: end
71: if dir == ""
72: dir = "."
73: end
74:
75: pat = file
76: modname, files = Puppet::Parser::Files.find_manifests(pat, :cwd => dir, :environment => environment)
77: if files.size == 0
78: raise Puppet::ImportError.new("No file(s) found for import of '#{pat}'")
79: end
80:
81: files.each do |file|
82: unless file =~ /^#{File::SEPARATOR}/
83: file = File.join(dir, file)
84: end
85: @loading_helper.do_once(file) do
86: parse_file(file)
87: end
88: end
89:
90: modname
91: end