lib/rake/funnel/tasks/zip.rb in rake-funnel-0.13.0.pre vs lib/rake/funnel/tasks/zip.rb in rake-funnel-0.14.0.pre
- old
+ new
@@ -4,11 +4,11 @@
module Funnel
module Tasks
class Zip < Rake::TaskLib
include Rake::Funnel::Support
- attr_accessor :name, :source, :target, :zip_root
+ attr_accessor :name, :source, :target, :zip_root, :allow_empty
def initialize(*args, &task_block)
setup_ivars(args)
define(args, &task_block)
@@ -19,16 +19,22 @@
@name = args.shift || :package
@source = []
@target = nil
@zip_root = nil
+ @allow_empty = true
end
def define(args, &task_block)
desc 'Zip files' unless Rake.application.last_description
task(name, *args) do |_, task_args|
task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
+
+ if files.empty? && !allow_empty
+ Rake.rake_output_message('No files to zip')
+ next
+ end
Zipper.zip(files, target, zip_root)
Rake.rake_output_message("Created #{target}")
end