Object
Add Bundler Gemfiles and git repositories to the archive.
# File lib/warbler/traits/bundler.rb, line 78 def add_bundler_files(jar) gemfile = relative_from_pwd(config.bundler[:gemfile]) lockfile = relative_from_pwd(config.bundler[:lockfile]) jar.files[apply_pathmaps(config, gemfile, :application)] = config.bundler[:gemfile].to_s if File.exist?(lockfile) jar.files[apply_pathmaps(config, lockfile, :application)] = config.bundler[:lockfile].to_s end if config.bundler[:git_specs] pathmap = "#{config.relative_gem_path}/bundler/gems/%p" pathmap.sub!(%{^/+}, '') config.pathmaps.git = [pathmap] config.bundler[:git_specs].each do |spec| full_gem_path = Pathname.new(spec.full_gem_path) if spec.groups.include?(:warbler_excluded) pattern = "#{full_gem_path.to_s}/*.gemspec" # #42: gemspec only to avert Bundler error else pattern = "#{full_gem_path.to_s}/**/*" end FileList[pattern].each do |src| f = Pathname.new(src).relative_path_from(full_gem_path).to_s next if config.gem_excludes && config.gem_excludes.any? {|rx| f =~ rx } jar.files[apply_pathmaps(config, File.join(full_gem_path.basename, f), :git)] = src end end end end
# File lib/warbler/traits/bundler.rb, line 33 def add_bundler_gems require 'bundler' config.gems.clear config.gem_dependencies = false # Bundler takes care of these config.bundler = {} bundler_specs.each do |spec| # Bundler HAX -- fixup bad #loaded_from attribute in fake # bundler gemspec from bundler/source.rb if spec.name == "bundler" full_gem_path = Pathname.new(spec.full_gem_path) tries = 2 (full_gem_path = full_gem_path.dirname; tries -= 1) while tries > 0 && !full_gem_path.join('bundler.gemspec').exist? spec.loaded_from = full_gem_path.join('bundler.gemspec').to_s # RubyGems 1.8.x: @full_gem_path is cached, so we have to set it def spec.full_gem_path=(p); @full_gem_path = p; end spec.full_gem_path = full_gem_path.to_s end case spec.source when ::Bundler::Source::Git config.bundler[:git_specs] ||= [] config.bundler[:git_specs] << spec when ::Bundler::Source::Path $stderr.puts("warning: Bundler `path' components are not currently supported.", "The `#{spec.full_name}' component was not bundled.", "Your application may fail to boot!") else config.gems << spec end end config.bundler[:gemfile] = ::Bundler.default_gemfile config.bundler[:gemfile_path] = apply_pathmaps(config, relative_from_pwd(::Bundler.default_gemfile), :application) config.bundler[:lockfile] = ::Bundler.default_lockfile config.bundler[:frozen] = ::Bundler.settings[:frozen] path = ::Bundler.settings[:path] config.excludes += [path, "#{path}/**/*"] if path config.init_contents << "#{config.warbler_templates}/bundler.erb" end
# File lib/warbler/traits/bundler.rb, line 29 def after_configure add_bundler_gems if config.bundler end
# File lib/warbler/traits/bundler.rb, line 24 def before_configure config.bundler = true config.bundle_without = ["development", "test"] end
Generated with the Darkfish Rdoc Generator 2.