def make_manifest( file_list )
manifest = []
prefix_path = ::Pathname.new( options[:strip_prefix] )
file_list.each do |f|
file_path = ::Pathname.new( File.expand_path( f ) )
m = ::OpenStruct.new
if File.directory?( file_path ) then
manifest.concat( make_manifest( Dir.glob( File.join( f, "**", "*.rb" ) ) ) )
next
elsif File.readable?( file_path ) then
m.require_path = file_path.relative_path_from( prefix_path )
m.file_path = file_path.realpath.to_s
elsif lp = full_path_of( f ) then
m.require_path = f
m.file_path = lp
else
STDERR.puts "Unable to add #{f} to the manifest, cannot find the file on disk"
next
end
m.require_path = m.require_path.to_s[ /\A(.*)\.rb\Z/, 1]
manifest << m
end
return manifest
end