You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by bo...@apache.org on 2009/11/21 03:09:20 UTC
svn commit: r882823 - in /buildr/trunk: lib/buildr/java/packaging.rb
lib/buildr/packaging/archive.rb spec/java/packaging_spec.rb
spec/packaging/archive_spec.rb
Author: boisvert
Date: Sat Nov 21 02:09:20 2009
New Revision: 882823
URL: http://svn.apache.org/viewvc?rev=882823&view=rev
Log:
Fail fast when trying to package/include nil values
Modified:
buildr/trunk/lib/buildr/java/packaging.rb
buildr/trunk/lib/buildr/packaging/archive.rb
buildr/trunk/spec/java/packaging_spec.rb
buildr/trunk/spec/packaging/archive_spec.rb
Modified: buildr/trunk/lib/buildr/java/packaging.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=882823&r1=882822&r2=882823&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/packaging.rb (original)
+++ buildr/trunk/lib/buildr/java/packaging.rb Sat Nov 21 02:09:20 2009
@@ -225,7 +225,8 @@
# package(:jar).with(:manifest=>'MANIFEST_MF')
def with(*args)
super args.pop if Hash === args.last
- include :from=>args
+ fail "package.with() should not contain nil values" if args.include? nil
+ include :from=>args if args.size > 0
self
end
Modified: buildr/trunk/lib/buildr/packaging/archive.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/packaging/archive.rb?rev=882823&r1=882822&r2=882823&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/packaging/archive.rb (original)
+++ buildr/trunk/lib/buildr/packaging/archive.rb Sat Nov 21 02:09:20 2009
@@ -62,6 +62,7 @@
def include(*args)
options = args.pop if Hash === args.last
files = args.flatten
+ raise 'AchiveTask.include() values should not include nil' if files.include? nil
if options.nil? || options.empty?
@includes.include *files.flatten
@@ -74,7 +75,8 @@
include_as files.first.to_s, options[:as]
elsif options[:from]
raise 'You can only use the :from option in combination with the :path option' unless options.size == 1
- raise 'You canont use the :from option with file names' unless files.empty?
+ raise 'You cannot use the :from option with file names' unless files.empty?
+ fail 'AchiveTask.include() :from value should not be nil' if [options[:from]].flatten.include? nil
[options[:from]].flatten.each { |path| include_as path.to_s, '.' }
elsif options[:merge]
raise 'You can only use the :merge option in combination with the :path option' unless options.size == 1
@@ -172,7 +174,7 @@
protected
- def include_as(source, as)
+ def include_as(source, as)
@sources << proc { source }
@actions << proc do |file_map|
file = source.to_s
@@ -346,7 +348,8 @@
# zip(..).include('foo.zip', :merge=>true).include('bar.zip')
# You can also use the method #merge.
def include(*files)
- @paths[''].include *files
+ fail "AchiveTask.include() called with nil values" if files.include? nil
+ @paths[''].include *files if files.compact.size > 0
self
end
alias :add :include
Modified: buildr/trunk/spec/java/packaging_spec.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/spec/java/packaging_spec.rb?rev=882823&r1=882822&r2=882823&view=diff
==============================================================================
--- buildr/trunk/spec/java/packaging_spec.rb (original)
+++ buildr/trunk/spec/java/packaging_spec.rb Sat Nov 21 02:09:20 2009
@@ -454,6 +454,12 @@
jar.entries.map(&:to_s).sort.should include('empty/')
end
end
+
+ it 'should raise error when calling with() with nil value' do
+ lambda {
+ define('foo', :version=>'1.0') { package(:jar).with(nil) }
+ }.should raise_error
+ end
end
Modified: buildr/trunk/spec/packaging/archive_spec.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/spec/packaging/archive_spec.rb?rev=882823&r1=882822&r2=882823&view=diff
==============================================================================
--- buildr/trunk/spec/packaging/archive_spec.rb (original)
+++ buildr/trunk/spec/packaging/archive_spec.rb Sat Nov 21 02:09:20 2009
@@ -59,6 +59,11 @@
inspect_archive { |archive| archive.should be_empty }
end
+ it 'should raise error when include() is called with nil values' do
+ lambda { archive(@archive).include(nil) }.should raise_error
+ lambda { archive(@archive).include([nil]) }.should raise_error
+ end
+
it 'should create empty archive if called #clean method' do
archive(@archive).include(@files).clean.invoke
inspect_archive { |archive| archive.should be_empty }
@@ -112,6 +117,12 @@
end
end
+ it 'should raise error when using :from with nil value' do
+ lambda {
+ archive(@archive).include(:from=>nil)
+ }.should raise_error
+ end
+
it 'should exclude entire directory and all its children' do
mkpath "#{@dir}/sub"
write "#{@dir}/sub/test"