Sha256: c1e4e0262c7c0fe17aa90fe08f8dede6774932b176acfa6c93c14de82955c964
Contents?: true
Size: 1.3 KB
Versions: 33
Compression:
Stored size: 1.3 KB
Contents
require_relative '../tasklib' module RakeDocker module Tasks class Prepare < TaskLib parameter :name, :default => :prepare parameter :image_name, :required => true parameter :work_directory, :required => true parameter :copy_spec, :default => [] parameter :create_spec, :default => [] def process_arguments(args) self.name = args[0] if args[0] end def define desc "Prepare for build of #{image_name} image" task name do image_directory = File.join(work_directory, image_name) mkdir_p image_directory copy_spec.each do |entry| from = entry.is_a?(Hash) ? entry[:from] : entry to = entry.is_a?(Hash) ? File.join(image_directory, entry[:to]) : image_directory if File.directory?(from) mkdir_p to cp_r from, to else cp from, to end end create_spec.each do |entry| content = entry[:content] to = entry[:to] file = File.join(image_directory, to) mkdir_p(File.dirname(file)) File.open(file, 'w') do |f| f.write(content) end end end end end end end
Version data entries
33 entries across 33 versions & 1 rubygems