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
 

Reply via email to