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 2014/07/31 07:12:21 UTC
[07/50] git commit: Attempt to work around sequencing issues relating
to the order in which resources are copied. If a user defines a task that
generates assets then these assets should be copied first and all the
non-filtered resources should come after
Attempt to work around sequencing issues relating to the order in which resources are copied. If a user defines a task that generates assets then these assets should be copied first and all the non-filtered resources should come after
git-svn-id: https://svn.apache.org/repos/asf/buildr/trunk@1535340 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/8f1d8d38
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/8f1d8d38
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/8f1d8d38
Branch: refs/heads/master
Commit: 8f1d8d38bad031d8cf301de69ec2530f48efc2d2
Parents: 445505d
Author: Peter Donald <do...@apache.org>
Authored: Thu Oct 24 11:04:16 2013 +0000
Committer: Peter Donald <do...@apache.org>
Committed: Thu Oct 24 11:04:16 2013 +0000
----------------------------------------------------------------------
lib/buildr/core/assets.rb | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/buildr/blob/8f1d8d38/lib/buildr/core/assets.rb
----------------------------------------------------------------------
diff --git a/lib/buildr/core/assets.rb b/lib/buildr/core/assets.rb
index bfd3b22..4a9466d 100644
--- a/lib/buildr/core/assets.rb
+++ b/lib/buildr/core/assets.rb
@@ -40,6 +40,11 @@ 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
@@ -49,14 +54,21 @@ module Buildr #:nodoc:
end.each do |a|
a.invoke if a.respond_to?(:invoke)
end.each do |asset|
- cp_r Dir["#{asset}/*"], "#{name}/"
+ 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(name.to_s) < File.mtime(source)
+ mkdir_p File.dirname(target)
+ cp source, target
+ end
+ end
end
end
end
end
- private
-
def out_of_date?(stamp)
super ||
self.paths.any? { |n| n.respond_to?(:needed?) && n.needed? }
@@ -77,6 +89,10 @@ module Buildr #:nodoc:
project.assets.paths
end
+ after_define do |project|
+ project.assets.send(:add_enhance_actions)
+ end
+
# Access the asset task
def assets
if @assets.nil?