Sha256: 4bed85fced11a4b771b57d7ca93413e7f53eefc5d589b4377bb0f2c2eabdf44d

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

# Clone (vendorize) hosted development gems/plugins.
# Require this script in `boot.rb` before `Gemfile` is sourced:
#
#   require File.expand_path("../clone_hosted_gems", __FILE__)

verbose = STDOUT.tty?     # Verbose on TTYs, quiet otherwise.
#verbose = false           # Always quiet.

["gems", "plugins"].each do |subject|
  # List items to clone. Append "-" to directory name to have it skipped.
  items = begin
    # WARNING: chdir.
    Dir.chdir("vendor/#{subject}_dev") do
      Dir["*"].select do |fn|
        File.directory?(fn) and not fn =~ /-\z/
      end
    end
  rescue Errno::ENOENT
    []
  end

  print "Cloning hosted #{subject}:" if verbose

  # NOTE: Use `system` here and below to see error messages, if any.
  system "mkdir -p vendor/#{subject}"

  # WARNING: chdir.
  Dir.chdir("vendor/#{subject}") do
    items.each do |item|
      print " #{item}" if verbose
      system "rm -rf --preserve-root #{item}"
      system "cp -r ../#{subject}_dev/#{item} ."
      system "rm -rf --preserve-root #{item}/.git"
    end
  end

  puts if verbose
end # [...].each do |subject|

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hosted_gem_development-0.1.0 lib/generators/hosted_gem_development/templates/clone_hosted_gems.rb