Author: boisvert
Date: Sat Jul 25 00:17:29 2009
New Revision: 797696

URL: http://svn.apache.org/viewvc?rev=797696&view=rev
Log:
Make sure .sql files get packaged in distributions

Modified:
    ode/branches/APACHE_ODE_1.X/Rakefile

Modified: ode/branches/APACHE_ODE_1.X/Rakefile
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/Rakefile?rev=797696&r1=797695&r2=797696&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/Rakefile (original)
+++ ode/branches/APACHE_ODE_1.X/Rakefile Sat Jul 25 00:17:29 2009
@@ -563,7 +563,7 @@
   desc "ODE Agents"
   define "agents" do
      compile
-     package (:jar, :manifest=>_("target/classes/META-INF/MANIFEST.MF"))
+     package(:jar, :manifest=>_("target/classes/META-INF/MANIFEST.MF"))
   end
 
 end
@@ -573,40 +573,43 @@
 
   def distro(project, postfix)
     id = project.parent.id + postfix
-    project.package(:zip, :id=>id).path("#{id}-#{version}").tap do |zip|
-      zip.include meta_inf + ["RELEASE_NOTES", "README"].map { |f| path_to(f) }
-      zip.path("examples").include project.path_to("src/examples"+postfix), 
:as=>"."
-
-      # Libraries
-      zip.path("lib").include artifacts(COMMONS.logging, COMMONS.codec, 
COMMONS.httpclient,
-        COMMONS.pool, COMMONS.collections, JAXEN, SAXON, LOG4J, WSDL4J, XALAN, 
XERCES)
-      project("ode").projects("utils", "tools", "bpel-compiler", "bpel-api", 
"bpel-obj", "bpel-schemas").
-        map(&:packages).flatten.each do |pkg|
-        zip.include(pkg.to_s, :as=>"#{pkg.id}.#{pkg.type}", :path=>"lib")
+    # distros require all packages in project("ode") to be built first
+    project.package(:zip, 
:id=>id).enhance(project("ode").projects.map(&:packages).flatten) do |pkg|
+      pkg.path("#{id}-#{version}").tap do |zip|
+        zip.include meta_inf + ["RELEASE_NOTES", "README"].map { |f| 
path_to(f) }
+        zip.path("examples").include project.path_to("src/examples"+postfix), 
:as=>"."
+
+        # Libraries
+        zip.path("lib").include artifacts(COMMONS.logging, COMMONS.codec, 
COMMONS.httpclient,
+          COMMONS.pool, COMMONS.collections, JAXEN, SAXON, LOG4J, WSDL4J, 
XALAN, XERCES)
+        project("ode").projects("utils", "tools", "bpel-compiler", "bpel-api", 
"bpel-obj", "bpel-schemas").
+          map(&:packages).flatten.each do |pkg|
+          zip.include(pkg.to_s, :as=>"#{pkg.id}.#{pkg.type}", :path=>"lib")
+        end
+
+        # Including third party licenses
+        Dir["#{project.path_to("license")}/*LICENSE"].each { |l| 
zip.include(l, :path=>"lib") }
+        zip.include(project.path_to("target/LICENSE"))
+
+        # Include supported database schemas
+        
Dir["#{project("ode:dao-jpa-ojpa-derby").path_to("target")}/*.sql"].each do |f|
+          zip.include(f, :path=>"sql") unless f =~ /partial/
+        end
+
+        # Tools scripts (like bpelc and sendsoap)
+        mkdir_p project.path_to("target/bin")
+        bins = 
file(project.path_to("target/bin")=>FileList[project.path_to("src/bin/*")]) do 
|task|
+          mkpath task.name
+          cp task.prerequisites, task.name
+          chmod 0755, FileList[task.name + "/*"], :verbose=>false
+        end
+        zip.include(bins)
+
+        yield zip
+        project.check zip, "should contain mysql.sql" do
+          it.should contain("sql/mysql.sql")
+        end
       end
-
-      # Including third party licenses
-      Dir["#{project.path_to("license")}/*LICENSE"].each { |l| zip.include(l, 
:path=>"lib") }
-      zip.include(project.path_to("target/LICENSE"))
-
-      # Include supported database schemas
-      Dir["#{project("ode:dao-jpa-ojpa-derby").path_to("target")}/*.sql"].each 
do |f|
-        zip.include(f, :path=>"sql") unless f =~ /partial/
-      end
-
-      # Tools scripts (like bpelc and sendsoap)
-      bins = 
file(project.path_to("target/bin")=>FileList[project.path_to("src/bin/*")]) do 
|task|
-        mkpath task.name
-        cp task.prerequisites, task.name
-        chmod 0755, FileList[task.name + "/*"], :verbose=>false
-      end
-      zip.include(bins)
-
-      yield zip
-      # For some reason this always fails on a clean build, commenting until I 
have time to inquire
-      # project.check zip, "should contain mysql.sql" do
-      #   it.should contain("sql/mysql.sql")
-      # end
     end
   end
 


Reply via email to