Remove direct integration of assets pipeline and webapp dir and return to behaviour as 1.4.12
git-svn-id: https://svn.apache.org/repos/asf/buildr/trunk@1539183 13f79535-47bb-0310-9956-ffa450edef68 Project: http://git-wip-us.apache.org/repos/asf/buildr/repo Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/71353719 Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/71353719 Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/71353719 Branch: refs/heads/master Commit: 71353719e14c2373171d2fcd3d1a5868da8288fd Parents: 0ab1051 Author: Peter Donald <[email protected]> Authored: Tue Nov 5 23:11:16 2013 +0000 Committer: Peter Donald <[email protected]> Committed: Tue Nov 5 23:11:16 2013 +0000 ---------------------------------------------------------------------- lib/buildr/core/assets.rb | 29 +++++------------------------ lib/buildr/ide/idea.rb | 1 + lib/buildr/java/packaging.rb | 6 +++--- 3 files changed, 9 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/buildr/blob/71353719/lib/buildr/core/assets.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/core/assets.rb b/lib/buildr/core/assets.rb index d5ca2ff..600512f 100644 --- a/lib/buildr/core/assets.rb +++ b/lib/buildr/core/assets.rb @@ -31,7 +31,7 @@ module Buildr #:nodoc: def paths unless @paths @paths = [] - @paths << project._(:source, :main, :webapp) if File.exist?(project._(:source, :main, :webapp)) + @paths << project._(:source, :main, :assets) if File.exist?(project._(:source, :main, :assets)) end @paths end @@ -40,11 +40,6 @@ module Buildr #:nodoc: def initialize(*args) #:nodoc: super - end - - private - - def add_enhance_actions enhance do paths = self.paths.flatten.compact if paths.size > 0 @@ -54,21 +49,14 @@ module Buildr #:nodoc: end.each do |a| a.invoke if a.respond_to?(:invoke) end.each do |asset| - source_dir = asset.to_s - Dir["#{source_dir}/*"].each do |f| - f = f[source_dir.length + 1, 10000] - source = "#{asset}/#{f}" - target = "#{name}/#{f}" - if !File.exist?(target) || File.mtime(target) < File.mtime(source) - mkdir_p File.dirname(target) - cp source, target - end - end + cp_r Dir["#{asset}/*"], "#{name}/" end end end end + private + def out_of_date?(stamp) super || self.paths.any? { |n| n.respond_to?(:needed?) && n.needed? } @@ -89,17 +77,10 @@ module Buildr #:nodoc: project.assets.paths end - after_define do |project| - # This is used to add actions after project is defined so that files are copied - # as the last action and don't block tasks that try and filter into target dir - # from the source dir - project.assets.send(:add_enhance_actions) - end - # Access the asset task def assets if @assets.nil? - @assets = AssetsTask.define_task(project._(:target, :main, :webapp) => []) + @assets = AssetsTask.define_task(project._(:target, :main, :assets) => []) @assets.project = self project.task('assets').enhance([@assets]) project.build.enhance([@assets]) http://git-wip-us.apache.org/repos/asf/buildr/blob/71353719/lib/buildr/ide/idea.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/ide/idea.rb b/lib/buildr/ide/idea.rb index e380dee..40d2cbf 100644 --- a/lib/buildr/ide/idea.rb +++ b/lib/buildr/ide/idea.rb @@ -299,6 +299,7 @@ module Buildr #:nodoc: def add_web_facet(options = {}) name = options[:name] || "Web" default_webroots = {} + default_webroots[buildr_project._(:source, :main, :webapp)] = "/" if File.exist?(buildr_project._(:source, :main, :webapp)) buildr_project.assets.paths.each {|p| default_webroots[p] = "/" } webroots = options[:webroots] || default_webroots default_deployment_descriptors = [] http://git-wip-us.apache.org/repos/asf/buildr/blob/71353719/lib/buildr/java/packaging.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/java/packaging.rb b/lib/buildr/java/packaging.rb index 8a2b292..0e2da91 100644 --- a/lib/buildr/java/packaging.rb +++ b/lib/buildr/java/packaging.rb @@ -684,10 +684,10 @@ 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 + webapp = path_to(:source, :main, :webapp) + war.with webapp if File.exist?(webapp) war.enhance([assets]) - if !assets.paths.empty? || File.exist?(_(:source, :main, :webapp)) - war.include assets.to_s, :as => '.' - end + war.include assets.to_s, :as => '.' unless assets.paths.empty? end end
