Author: boisvert
Date: Sun Oct 10 04:26:57 2010
New Revision: 1006249
URL: http://svn.apache.org/viewvc?rev=1006249&view=rev
Log:
BUILDR-527: package(:war) if libs passed are files (instead of artifacts)
Modified:
buildr/trunk/lib/buildr/java/packaging.rb
buildr/trunk/spec/java/packaging_spec.rb
Modified: buildr/trunk/lib/buildr/java/packaging.rb
URL:
http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=1006249&r1=1006248&r2=1006249&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/packaging.rb (original)
+++ buildr/trunk/lib/buildr/java/packaging.rb Sun Oct 10 04:26:57 2010
@@ -257,7 +257,7 @@ module Buildr
@classes = []
@libs = []
enhance do |war|
- @libs.each {|lib| lib.invoke}
+ @libs.each {|lib| lib.invoke if lib.respond_to?(:invoke) }
@classes.to_a.flatten.each { |classes| include classes, :as =>
'WEB-INF/classes' }
path('WEB-INF/lib').include Buildr.artifacts(@libs) unless
@libs.nil? || @libs.empty?
end
Modified: buildr/trunk/spec/java/packaging_spec.rb
URL:
http://svn.apache.org/viewvc/buildr/trunk/spec/java/packaging_spec.rb?rev=1006249&r1=1006248&r2=1006249&view=diff
==============================================================================
--- buildr/trunk/spec/java/packaging_spec.rb (original)
+++ buildr/trunk/spec/java/packaging_spec.rb Sun Oct 10 04:26:57 2010
@@ -567,12 +567,19 @@ describe Packaging, 'war' do
end
it 'should accept file from :libs option' do
+ write 'lib/foo.jar'
+ define('foo', :version=>'1.0') { package(:war).libs << 'lib/foo.jar' }
+ inspect_war { |files| files.should include('META-INF/MANIFEST.MF',
'WEB-INF/lib/foo.jar') }
+ end
+
+
+ it 'should accept artifacts from :libs option' do
make_jars
define('foo', :version=>'1.0') {
package(:war).with(:libs=>'group:id:jar:1.0') }
inspect_war { |files| files.should include('META-INF/MANIFEST.MF',
'WEB-INF/lib/id-1.0.jar') }
end
- it 'should accept file from :libs option' do
+ it 'should accept artifacts from :libs option' do
make_jars
define('foo', :version=>'1.0') {
package(:war).with(:libs=>['group:id:jar:1.0', 'group:id:jar:2.0']) }
inspect_war { |files| files.should include('META-INF/MANIFEST.MF',
'WEB-INF/lib/id-1.0.jar', 'WEB-INF/lib/id-2.0.jar') }
@@ -601,25 +608,25 @@ describe Packaging, 'war' do
define('foo', :version=>'1.0') { compile.with 'group:id:jar:1.0',
'group:id:jar:2.0' ; package(:war).exclude('**/id-2.0.jar') }
inspect_war { |files| files.should include('META-INF/MANIFEST.MF',
'WEB-INF/lib/id-1.0.jar') }
end
-
+
it 'should exclude files regardless of the path where they are included,
specifying target path entirely' do
make_jars
define('foo', :version=>'1.0') { compile.with 'group:id:jar:1.0',
'group:id:jar:2.0' ; package(:war).exclude('WEB-INF/lib/id-2.0.jar') }
inspect_war { |files| files.should include('META-INF/MANIFEST.MF',
'WEB-INF/lib/id-1.0.jar') }
end
-
- it 'should exclude files regardless of the path where they are included for
war files' do
- write 'src/main/java/com/example/included/Test.java', 'package
com.example.included; class Test {}'
- write 'src/main/java/com/example/excluded/Test.java', 'package
com.example.excluded; class Test {}'
- define('foo', :version=>'1.0') do
- package(:war).enhance do |war|
+
+ it 'should exclude files regardless of the path where they are included for
war files' do
+ write 'src/main/java/com/example/included/Test.java', 'package
com.example.included; class Test {}'
+ write 'src/main/java/com/example/excluded/Test.java', 'package
com.example.excluded; class Test {}'
+ define('foo', :version=>'1.0') do
+ package(:war).enhance do |war|
war.exclude('WEB-INF/classes/com/example/excluded/**.class')
end
- end
- inspect_war do |files|
- files.should include('WEB-INF/classes/com/example/included/Test.class')
- files.should_not
include('WEB-INF/classes/com/example/excluded/Test.class')
- end
+ end
+ inspect_war do |files|
+ files.should include('WEB-INF/classes/com/example/included/Test.class')
+ files.should_not
include('WEB-INF/classes/com/example/excluded/Test.class')
+ end
end
it 'should include only specified libraries' do