def self.parse_from_gemfile(gemfile,*groups)
ENV['BUNDLE_GEMFILE'] = gemfile
extra_groups = ENV['BUNDLER_EXT_GROUPS']
extra_groups.split(/\s/).each {|g| groups << g.to_sym} if extra_groups
all_groups = false
all_groups = true if groups.size == 1 and groups.include?(:all) and not extra_groups
groups.map! { |g| g.to_sym }
g = Bundler::Dsl.evaluate(gemfile,'foo',true)
list = []
g.dependencies.each do |dep|
if ((groups & dep.groups).any? || all_groups) && dep.current_platform?
Array(dep.autorequire || dep.name).each do |file|
list << file
end
end
end
list
end