You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by as...@apache.org on 2007/04/05 01:33:51 UTC

svn commit: r525636 - in /incubator/ode/trunk: Rakefile tasks/jbi.rake

Author: assaf
Date: Wed Apr  4 16:33:49 2007
New Revision: 525636

URL: http://svn.apache.org/viewvc?view=rev&rev=525636
Log:
Using file tasks in meta_inf (just because), and styling fix to JBI task

Modified:
    incubator/ode/trunk/Rakefile
    incubator/ode/trunk/tasks/jbi.rake

Modified: incubator/ode/trunk/Rakefile
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/Rakefile?view=diff&rev=525636&r1=525635&r2=525636
==============================================================================
--- incubator/ode/trunk/Rakefile (original)
+++ incubator/ode/trunk/Rakefile Wed Apr  4 16:33:49 2007
@@ -85,7 +85,7 @@
   compile.options.source = "1.5"
   compile.options.target = "1.5"
   manifest["Implementation-Vendor"] = "Apache Software Foundation"
-  meta_inf.concat ["DISCLAIMER", "LICENSE", "NOTICE"].map { |f| path_to(f) }
+  meta_inf << file("DISCLAIMER") << file("NOTICE")
 
   desc "ODE Axis Integration Layer"
   define "axis2" do

Modified: incubator/ode/trunk/tasks/jbi.rake
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/tasks/jbi.rake?view=diff&rev=525636&r1=525635&r2=525636
==============================================================================
--- incubator/ode/trunk/tasks/jbi.rake (original)
+++ incubator/ode/trunk/tasks/jbi.rake Wed Apr  4 16:33:49 2007
@@ -1,6 +1,8 @@
 module Buildr
   class JBITask < ZipTask
 
+    attr_accessor :jbi_xml
+
     class Component
       attr_accessor :name
       attr_accessor :type
@@ -48,15 +50,25 @@
       @bootstrap
     end
 
+    def prerequisites()
+      super + (component.libs + bootstrap.libs).flatten.uniq
+    end
+
   protected
 
     def create(zip)
       zip.mkdir "META-INF"
-      zip.file.open("META-INF/jbi.xml", "w") { |output| output.write descriptor }
-      (component.libs + bootstrap.libs).flatten.uniq.tap do |libs|
-        libs.each { |lib| lib.invoke if lib.respond_to?(:invoke) }
-        path("lib").include *libs
+      zip.file.open("META-INF/jbi.xml", "w") do |file|
+        case jbi_xml
+        when String
+          file.write File.read(jbi_xml)
+        when nil, true
+          file.write descriptor
+        when Proc, Method
+          file.write jbi_xml.call
+        end
       end
+      path("lib").include((component.libs + bootstrap.libs).flatten.uniq)
       super zip
     end
 
@@ -92,9 +104,9 @@
       args[:type] = :zip
       file_name = args[:file] || path_to(:target_dir, Artifact.hash_to_file_name(args))
       unless Rake::Task.task_defined?(file_name)
-        JBITask.define_task(file_name).tap { |task| package_extend task, args }
+        JBITask.define_task(file_name).tap { |jbi| package_extend jbi, args }
       end
-      file(file_name).tap { |task| task.include args[:include] if args[:include] }
+      file(file_name).tap { |jbi| jbi.include args[:include] if args[:include] }
     end
   end
 end