You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by do...@apache.org on 2013/10/23 01:50:23 UTC
svn commit: r1534859 - in /buildr/trunk: CHANGELOG
lib/buildr/java/packaging.rb spec/java/packaging_spec.rb
Author: donaldp
Date: Tue Oct 22 23:50:23 2013
New Revision: 1534859
URL: http://svn.apache.org/r1534859
Log:
BUILDR-689 - Ensure that war file includes generated assets rather than the "source" assets that may have been filtered.
Modified:
buildr/trunk/CHANGELOG
buildr/trunk/lib/buildr/java/packaging.rb
buildr/trunk/spec/java/packaging_spec.rb
Modified: buildr/trunk/CHANGELOG
URL: http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1534859&r1=1534858&r2=1534859&view=diff
==============================================================================
--- buildr/trunk/CHANGELOG (original)
+++ buildr/trunk/CHANGELOG Tue Oct 22 23:50:23 2013
@@ -1,4 +1,7 @@
1.4.15 (Pending)
+* Fixed: BUILDR-689 - Ensure that war file includes generated
+ assets rather than the "source" assets that may have
+ been filtered.
* Fixed: BUILDR-689 - Define assets task before the project is
defined to avoid "undefined method `project='" if the
project attempts to generate into the same directory.
Modified: buildr/trunk/lib/buildr/java/packaging.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/packaging.rb (original)
+++ buildr/trunk/lib/buildr/java/packaging.rb Tue Oct 22 23:50:23 2013
@@ -684,12 +684,9 @@ module Buildr #:nodoc:
# Add libraries in WEB-INF lib, and classes in WEB-INF classes
war.with :classes=>[compile.target, resources.target].compact
war.with :libs=>compile.dependencies
- # Add included files, or the webapp directory.
- assets.paths.each do |asset|
- war.tap do |war|
- war.enhance([asset])
- end
- war.include asset, :as => '.'
+ war.enhance([assets])
+ if !assets.paths.empty? || File.exist?(_(:source, :main, :webapp))
+ war.include assets.to_s, :as => '.'
end
end
end
Modified: buildr/trunk/spec/java/packaging_spec.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/spec/java/packaging_spec.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
==============================================================================
--- buildr/trunk/spec/java/packaging_spec.rb (original)
+++ buildr/trunk/spec/java/packaging_spec.rb Tue Oct 22 23:50:23 2013
@@ -550,6 +550,23 @@ describe Packaging, 'war' do
inspect_war { |files| files.should include('test.html') }
end
+ it 'should allow filtering into target directory' do
+ write 'src/main/webapp/test.html', '${version}'
+ define('foo', :version => '1.0') do
+ target_webapp = file("target/webapp") do |task|
+ filter('src/main/webapp/').
+ into(task.to_s).using('version' => '999').
+ run
+ end
+ package(:war)
+ end
+ inspect_war { |files| files.should include('test.html') }
+ cp project('foo').package(:war).to_s, '/tmp/x.zip'
+ Zip::ZipFile.open(project('foo').package(:war).to_s, false) do |war|
+ war.get_input_stream('test.html').read.should eql('999')
+ end
+ end
+
it 'should accept files from :classes option' do
write 'src/main/java/Test.java', 'class Test {}'
write 'classes/test'
Re: svn commit: r1534859 - in /buildr/trunk: CHANGELOG
lib/buildr/java/packaging.rb spec/java/packaging_spec.rb
Posted by Lacton <la...@apache.org>.
OK Peter. That's alright.
It was a nicely written test by the way. Very clear.
Cheers
Lacton
On Wed, Oct 23, 2013 at 12:43 PM, Peter Donald <pe...@realityforge.org>wrote:
> Oops - I seem to have left some debug code in. Removed now ...
>
> On Wed, Oct 23, 2013 at 9:18 PM, Lacton <la...@apache.org> wrote:
> > Donald,
> >
> > I'm puzzled by the line "cp project('foo').package(:war).to_s,
> > '/tmp/x.zip'". What is the purpose of the x.zip file? Just curious.
> >
> > Cheers
> >
> > Lacton
> >
> >
> > On Wed, Oct 23, 2013 at 1:50 AM, <do...@apache.org> wrote:
> >
> >> Author: donaldp
> >> Date: Tue Oct 22 23:50:23 2013
> >> New Revision: 1534859
> >>
> >> URL: http://svn.apache.org/r1534859
> >> Log:
> >> BUILDR-689 - Ensure that war file includes generated assets rather than
> >> the "source" assets that may have been filtered.
> >>
> >> Modified:
> >> buildr/trunk/CHANGELOG
> >> buildr/trunk/lib/buildr/java/packaging.rb
> >> buildr/trunk/spec/java/packaging_spec.rb
> >>
> >> Modified: buildr/trunk/CHANGELOG
> >> URL:
> >>
> http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1534859&r1=1534858&r2=1534859&view=diff
> >>
> >>
> ==============================================================================
> >> --- buildr/trunk/CHANGELOG (original)
> >> +++ buildr/trunk/CHANGELOG Tue Oct 22 23:50:23 2013
> >> @@ -1,4 +1,7 @@
> >> 1.4.15 (Pending)
> >> +* Fixed: BUILDR-689 - Ensure that war file includes generated
> >> + assets rather than the "source" assets that may have
> >> + been filtered.
> >> * Fixed: BUILDR-689 - Define assets task before the project is
> >> defined to avoid "undefined method `project='" if the
> >> project attempts to generate into the same directory.
> >>
> >> Modified: buildr/trunk/lib/buildr/java/packaging.rb
> >> URL:
> >>
> http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
> >>
> >>
> ==============================================================================
> >> --- buildr/trunk/lib/buildr/java/packaging.rb (original)
> >> +++ buildr/trunk/lib/buildr/java/packaging.rb Tue Oct 22 23:50:23 2013
> >> @@ -684,12 +684,9 @@ module Buildr #:nodoc:
> >> # Add libraries in WEB-INF lib, and classes in WEB-INF
> classes
> >> war.with :classes=>[compile.target, resources.target].compact
> >> war.with :libs=>compile.dependencies
> >> - # Add included files, or the webapp directory.
> >> - assets.paths.each do |asset|
> >> - war.tap do |war|
> >> - war.enhance([asset])
> >> - end
> >> - war.include asset, :as => '.'
> >> + war.enhance([assets])
> >> + if !assets.paths.empty? || File.exist?(_(:source, :main,
> >> :webapp))
> >> + war.include assets.to_s, :as => '.'
> >> end
> >> end
> >> end
> >>
> >> Modified: buildr/trunk/spec/java/packaging_spec.rb
> >> URL:
> >>
> http://svn.apache.org/viewvc/buildr/trunk/spec/java/packaging_spec.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
> >>
> >>
> ==============================================================================
> >> --- buildr/trunk/spec/java/packaging_spec.rb (original)
> >> +++ buildr/trunk/spec/java/packaging_spec.rb Tue Oct 22 23:50:23 2013
> >> @@ -550,6 +550,23 @@ describe Packaging, 'war' do
> >> inspect_war { |files| files.should include('test.html') }
> >> end
> >>
> >> + it 'should allow filtering into target directory' do
> >> + write 'src/main/webapp/test.html', '${version}'
> >> + define('foo', :version => '1.0') do
> >> + target_webapp = file("target/webapp") do |task|
> >> + filter('src/main/webapp/').
> >> + into(task.to_s).using('version' => '999').
> >> + run
> >> + end
> >> + package(:war)
> >> + end
> >> + inspect_war { |files| files.should include('test.html') }
> >> + cp project('foo').package(:war).to_s, '/tmp/x.zip'
> >> + Zip::ZipFile.open(project('foo').package(:war).to_s, false) do
> |war|
> >> + war.get_input_stream('test.html').read.should eql('999')
> >> + end
> >> + end
> >> +
> >> it 'should accept files from :classes option' do
> >> write 'src/main/java/Test.java', 'class Test {}'
> >> write 'classes/test'
> >>
> >>
>
>
>
> --
> Cheers,
>
> Peter Donald
Re: svn commit: r1534859 - in /buildr/trunk: CHANGELOG
lib/buildr/java/packaging.rb spec/java/packaging_spec.rb
Posted by Peter Donald <pe...@realityforge.org>.
Oops - I seem to have left some debug code in. Removed now ...
On Wed, Oct 23, 2013 at 9:18 PM, Lacton <la...@apache.org> wrote:
> Donald,
>
> I'm puzzled by the line "cp project('foo').package(:war).to_s,
> '/tmp/x.zip'". What is the purpose of the x.zip file? Just curious.
>
> Cheers
>
> Lacton
>
>
> On Wed, Oct 23, 2013 at 1:50 AM, <do...@apache.org> wrote:
>
>> Author: donaldp
>> Date: Tue Oct 22 23:50:23 2013
>> New Revision: 1534859
>>
>> URL: http://svn.apache.org/r1534859
>> Log:
>> BUILDR-689 - Ensure that war file includes generated assets rather than
>> the "source" assets that may have been filtered.
>>
>> Modified:
>> buildr/trunk/CHANGELOG
>> buildr/trunk/lib/buildr/java/packaging.rb
>> buildr/trunk/spec/java/packaging_spec.rb
>>
>> Modified: buildr/trunk/CHANGELOG
>> URL:
>> http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1534859&r1=1534858&r2=1534859&view=diff
>>
>> ==============================================================================
>> --- buildr/trunk/CHANGELOG (original)
>> +++ buildr/trunk/CHANGELOG Tue Oct 22 23:50:23 2013
>> @@ -1,4 +1,7 @@
>> 1.4.15 (Pending)
>> +* Fixed: BUILDR-689 - Ensure that war file includes generated
>> + assets rather than the "source" assets that may have
>> + been filtered.
>> * Fixed: BUILDR-689 - Define assets task before the project is
>> defined to avoid "undefined method `project='" if the
>> project attempts to generate into the same directory.
>>
>> Modified: buildr/trunk/lib/buildr/java/packaging.rb
>> URL:
>> http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
>>
>> ==============================================================================
>> --- buildr/trunk/lib/buildr/java/packaging.rb (original)
>> +++ buildr/trunk/lib/buildr/java/packaging.rb Tue Oct 22 23:50:23 2013
>> @@ -684,12 +684,9 @@ module Buildr #:nodoc:
>> # Add libraries in WEB-INF lib, and classes in WEB-INF classes
>> war.with :classes=>[compile.target, resources.target].compact
>> war.with :libs=>compile.dependencies
>> - # Add included files, or the webapp directory.
>> - assets.paths.each do |asset|
>> - war.tap do |war|
>> - war.enhance([asset])
>> - end
>> - war.include asset, :as => '.'
>> + war.enhance([assets])
>> + if !assets.paths.empty? || File.exist?(_(:source, :main,
>> :webapp))
>> + war.include assets.to_s, :as => '.'
>> end
>> end
>> end
>>
>> Modified: buildr/trunk/spec/java/packaging_spec.rb
>> URL:
>> http://svn.apache.org/viewvc/buildr/trunk/spec/java/packaging_spec.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
>>
>> ==============================================================================
>> --- buildr/trunk/spec/java/packaging_spec.rb (original)
>> +++ buildr/trunk/spec/java/packaging_spec.rb Tue Oct 22 23:50:23 2013
>> @@ -550,6 +550,23 @@ describe Packaging, 'war' do
>> inspect_war { |files| files.should include('test.html') }
>> end
>>
>> + it 'should allow filtering into target directory' do
>> + write 'src/main/webapp/test.html', '${version}'
>> + define('foo', :version => '1.0') do
>> + target_webapp = file("target/webapp") do |task|
>> + filter('src/main/webapp/').
>> + into(task.to_s).using('version' => '999').
>> + run
>> + end
>> + package(:war)
>> + end
>> + inspect_war { |files| files.should include('test.html') }
>> + cp project('foo').package(:war).to_s, '/tmp/x.zip'
>> + Zip::ZipFile.open(project('foo').package(:war).to_s, false) do |war|
>> + war.get_input_stream('test.html').read.should eql('999')
>> + end
>> + end
>> +
>> it 'should accept files from :classes option' do
>> write 'src/main/java/Test.java', 'class Test {}'
>> write 'classes/test'
>>
>>
--
Cheers,
Peter Donald
Re: svn commit: r1534859 - in /buildr/trunk: CHANGELOG
lib/buildr/java/packaging.rb spec/java/packaging_spec.rb
Posted by Lacton <la...@apache.org>.
Donald,
I'm puzzled by the line "cp project('foo').package(:war).to_s,
'/tmp/x.zip'". What is the purpose of the x.zip file? Just curious.
Cheers
Lacton
On Wed, Oct 23, 2013 at 1:50 AM, <do...@apache.org> wrote:
> Author: donaldp
> Date: Tue Oct 22 23:50:23 2013
> New Revision: 1534859
>
> URL: http://svn.apache.org/r1534859
> Log:
> BUILDR-689 - Ensure that war file includes generated assets rather than
> the "source" assets that may have been filtered.
>
> Modified:
> buildr/trunk/CHANGELOG
> buildr/trunk/lib/buildr/java/packaging.rb
> buildr/trunk/spec/java/packaging_spec.rb
>
> Modified: buildr/trunk/CHANGELOG
> URL:
> http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1534859&r1=1534858&r2=1534859&view=diff
>
> ==============================================================================
> --- buildr/trunk/CHANGELOG (original)
> +++ buildr/trunk/CHANGELOG Tue Oct 22 23:50:23 2013
> @@ -1,4 +1,7 @@
> 1.4.15 (Pending)
> +* Fixed: BUILDR-689 - Ensure that war file includes generated
> + assets rather than the "source" assets that may have
> + been filtered.
> * Fixed: BUILDR-689 - Define assets task before the project is
> defined to avoid "undefined method `project='" if the
> project attempts to generate into the same directory.
>
> Modified: buildr/trunk/lib/buildr/java/packaging.rb
> URL:
> http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
>
> ==============================================================================
> --- buildr/trunk/lib/buildr/java/packaging.rb (original)
> +++ buildr/trunk/lib/buildr/java/packaging.rb Tue Oct 22 23:50:23 2013
> @@ -684,12 +684,9 @@ module Buildr #:nodoc:
> # Add libraries in WEB-INF lib, and classes in WEB-INF classes
> war.with :classes=>[compile.target, resources.target].compact
> war.with :libs=>compile.dependencies
> - # Add included files, or the webapp directory.
> - assets.paths.each do |asset|
> - war.tap do |war|
> - war.enhance([asset])
> - end
> - war.include asset, :as => '.'
> + war.enhance([assets])
> + if !assets.paths.empty? || File.exist?(_(:source, :main,
> :webapp))
> + war.include assets.to_s, :as => '.'
> end
> end
> end
>
> Modified: buildr/trunk/spec/java/packaging_spec.rb
> URL:
> http://svn.apache.org/viewvc/buildr/trunk/spec/java/packaging_spec.rb?rev=1534859&r1=1534858&r2=1534859&view=diff
>
> ==============================================================================
> --- buildr/trunk/spec/java/packaging_spec.rb (original)
> +++ buildr/trunk/spec/java/packaging_spec.rb Tue Oct 22 23:50:23 2013
> @@ -550,6 +550,23 @@ describe Packaging, 'war' do
> inspect_war { |files| files.should include('test.html') }
> end
>
> + it 'should allow filtering into target directory' do
> + write 'src/main/webapp/test.html', '${version}'
> + define('foo', :version => '1.0') do
> + target_webapp = file("target/webapp") do |task|
> + filter('src/main/webapp/').
> + into(task.to_s).using('version' => '999').
> + run
> + end
> + package(:war)
> + end
> + inspect_war { |files| files.should include('test.html') }
> + cp project('foo').package(:war).to_s, '/tmp/x.zip'
> + Zip::ZipFile.open(project('foo').package(:war).to_s, false) do |war|
> + war.get_input_stream('test.html').read.should eql('999')
> + end
> + end
> +
> it 'should accept files from :classes option' do
> write 'src/main/java/Test.java', 'class Test {}'
> write 'classes/test'
>
>