Repository: buildr
Updated Branches:
  refs/heads/master dc3729eed -> a4c95466b


BUILDR-699 - Update the custom_pom addon to avoid failure when used with zip 
packages.


Project: http://git-wip-us.apache.org/repos/asf/buildr/repo
Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/a4c95466
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/a4c95466
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/a4c95466

Branch: refs/heads/master
Commit: a4c95466b0fa814c36baf7609bd3d168c1b4712c
Parents: dc3729e
Author: Peter Donald <[email protected]>
Authored: Tue Jun 24 18:53:24 2014 +1000
Committer: Peter Donald <[email protected]>
Committed: Tue Jun 24 18:53:24 2014 +1000

----------------------------------------------------------------------
 CHANGELOG                  |  2 ++
 addon/buildr/custom_pom.rb | 69 ++++++++++++++++++++---------------------
 2 files changed, 36 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/buildr/blob/a4c95466/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 4cb79e4..5557c39 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,6 @@
 1.4.18 (Pending)
+* Fixed:  BUILDR-699 - Update the custom_pom addon to avoid failure when
+          used with zip packages.
 * Fixed:  BUILDR-694 - "buildr upload" fails: wrong number of arguments in
           progress bar read() in Ruby 2.1.0. Submitted By Mark Reibert.
 * Change: Remove support for uploads to RubyForge.org with gem dependencies

http://git-wip-us.apache.org/repos/asf/buildr/blob/a4c95466/addon/buildr/custom_pom.rb
----------------------------------------------------------------------
diff --git a/addon/buildr/custom_pom.rb b/addon/buildr/custom_pom.rb
index 646a47a..3f69045 100644
--- a/addon/buildr/custom_pom.rb
+++ b/addon/buildr/custom_pom.rb
@@ -236,47 +236,46 @@ module Buildr
       end
     end
   end
-end
-
-module Buildr
-  class Project #:nodoc:
-    def pom
-      unless @pom
-        @pom = parent ? parent.pom.dup : Buildr::CustomPom.new
-        @pom.send :associate_project, self
+  module CPom
+    module ProjectExtension
+      include Extension
+
+      def pom
+        unless @pom
+          @pom = parent ? parent.pom.dup : Buildr::CustomPom.new
+          @pom.send :associate_project, self
+        end
+        @pom
       end
-      @pom
-    end
-  end
-end
 
-module Buildr
-  module Package
-    alias :old_package :package
-
-    def package(*args)
-      package = old_package(*args)
-      class << package
-        def pom
-          unless @pom || classifier
-            pom_filename = Util.replace_extension(name, 'pom')
-            spec = {:group => group, :id => id, :version => version, :type => 
:pom}
-            @pom = Buildr.artifact(spec, pom_filename)
-            buildr_project = Buildr.project(self.scope.join(':'))
-            @pom.content Buildr::CustomPom.pom_xml(buildr_project, self)
+      after_define do |project|
+        project.packages.each do |pkg|
+          if pkg.type.to_s == 'jar' && !pkg.classifier
+            class << pkg
+              def pom_xml
+                self.pom.content
+              end
+
+              def pom
+                unless @pom
+                  pom_filename = Util.replace_extension(name, 'pom')
+                  spec = {:group => group, :id => id, :version => version, 
:type => :pom}
+                  @pom = Buildr.artifact(spec, pom_filename)
+                  buildr_project = Buildr.project(self.scope.join(':'))
+                  @pom.content Buildr::CustomPom.pom_xml(buildr_project, self)
+                end
+                @pom
+              end
+            end
+            pkg.instance_variable_set('@pom', nil)
+            pkg.enhance([pkg.pom.to_s])
           end
-          @pom
         end
       end
-      package.instance_variable_set('@pom', nil)
-      package.enhance([package.pom.to_s]) if package.type.to_s == 'jar' && 
!package.classifier
-      package
     end
   end
+end
 
-  module ActsAsArtifact
-    def pom_xml
-      self.pom.content
-    end
-  end
+class Buildr::Project
+  include Buildr::CPom::ProjectExtension
 end

Reply via email to