Title: [451] trunk/rails-integration/plugins/war-snapshot: Applied patch from Jon Tirsen.
Revision
451
Author
tantalon
Date
2007-04-12 22:35:21 -0400 (Thu, 12 Apr 2007)

Log Message

Applied patch from Jon Tirsen.
* support for exlude_files in war.rb.
* support for vendor/rails (works a treat!).
* remove the annoying debug printout in war.rake.
* adds support for propagating JAVA_OPTS env variable to Jetty process (convention set by jruby command). 

Modified Paths

Diff

Modified: trunk/rails-integration/plugins/war-snapshot/lib/packer.rb (450 => 451)


--- trunk/rails-integration/plugins/war-snapshot/lib/packer.rb	2007-04-11 06:56:22 UTC (rev 450)
+++ trunk/rails-integration/plugins/war-snapshot/lib/packer.rb	2007-04-13 02:35:21 UTC (rev 451)
@@ -143,7 +143,7 @@
       staging = config.staging
       puts '  Adding web application'
       File.makedirs(staging)
-      webapp_files = Rake::FileList.new(File.join('**', '*'))
+      webapp_files = Rake::FileList.new(File.join('.', '**', '*'))
       webapp_files.exclude(staging)
       webapp_files.exclude('*.war')
       webapp_files.exclude(config.local_java_lib)
@@ -154,6 +154,9 @@
       webapp_files.exclude(File.join('tmp', 'sessions', '*'))
       webapp_files.exclude(File.join('tmp', 'sockets', '*'))
       webapp_files.exclude(File.join('tmp', 'jetty'))
+      config.excludes.each do |exclude|
+        webapp_files.exclude(exclude)
+      end
       copy_tree(webapp_files, staging)
       compile_tree(staging, config)
     end

Modified: trunk/rails-integration/plugins/war-snapshot/lib/run.rb (450 => 451)


--- trunk/rails-integration/plugins/war-snapshot/lib/run.rb	2007-04-11 06:56:22 UTC (rev 450)
+++ trunk/rails-integration/plugins/war-snapshot/lib/run.rb	2007-04-13 02:35:21 UTC (rev 451)
@@ -10,6 +10,7 @@
     attr_accessor :jetty_tmp
     attr_accessor :jetty_config
     attr_accessor :classpath
+    attr_accessor :java_opts
     
     def initialize
       @config = Configuration.new
@@ -28,9 +29,15 @@
       add_jetty_libraries
       add_jetty_config
       classpath_string = classpath.join(config.os_path_separator)
-      system("java -Xmx128m -cp \"#{classpath_string}\" #{jetty_main} #{jetty_config}")
+      java_opts = self.java_opts
+      java_opts << ' -Xmx128m' unless java_opts =~ /-Xmx/
+      system("java #{java_opts} -cp \"#{classpath_string}\" #{jetty_main} #{jetty_config}")
     end
     
+    def java_opts
+      ENV['JAVA_OPTS'] || @java_opts
+    end
+    
     def add_jetty_libraries
       # Get the Jetty libraries
       @classpath = []

Modified: trunk/rails-integration/plugins/war-snapshot/lib/war_config.rb (450 => 451)


--- trunk/rails-integration/plugins/war-snapshot/lib/war_config.rb	2007-04-11 06:56:22 UTC (rev 450)
+++ trunk/rails-integration/plugins/war-snapshot/lib/war_config.rb	2007-04-13 02:35:21 UTC (rev 451)
@@ -12,6 +12,8 @@
     attr_accessor :war_file
     # path to the staging directory
     attr_accessor :staging
+    # a list of patterns of excluded files
+    attr_accessor :excludes
     # project java libraries are stored here
     attr_accessor :local_java_lib
     # servlet to use for running Rails
@@ -52,6 +54,7 @@
       # default internal locations
       @rails_basedir = File.dirname(File.dirname(File.dirname(File.dirname(File.dirname(File.expand_path(__FILE__))))))
       @staging = File.join('tmp', 'war')
+      @excludes = []
       @local_java_lib = File.join('lib', 'java')
 
       # default build properties
@@ -82,7 +85,9 @@
 
       # default gems
       @gem_libraries = {}
-      add_gem('rails', rails_version)
+      if !File.exists?('vendor/rails')
+        add_gem('rails', rails_version)
+      end
       add_gem('ActiveRecord-JDBC')
 
       # default jetty libraries
@@ -110,6 +115,10 @@
       load_user_configuration
 
     end # initialize
+    
+    def exclude_files(pattern)
+      @excludes << pattern
+    end
 
     def datasource_jndi_name
       @datasource_jndi_name || "jdbc/#{name}"
@@ -207,6 +216,11 @@
         puts "Warning: property 'name' takes only one argument" if val.size > 1
         @result.war_file = val[0]
       end
+      
+      def exclude_files(*val)
+        puts "Warning: property 'exclude_files' takes only one argument" if val.size > 1
+        @result.exclude_files(val[0])
+      end
 
       def servlet(*val)
         puts "Warning: property 'servlet' takes only one argument" if val.size > 1

Modified: trunk/rails-integration/plugins/war-snapshot/tasks/war.rake (450 => 451)


--- trunk/rails-integration/plugins/war-snapshot/tasks/war.rake	2007-04-11 06:56:22 UTC (rev 450)
+++ trunk/rails-integration/plugins/war-snapshot/tasks/war.rake	2007-04-13 02:35:21 UTC (rev 451)
@@ -4,7 +4,6 @@
 
 # add the lib to the load path
 plugin_dir = File.dirname(File.dirname(File.expand_path(__FILE__)))
-puts "plugin dir #{plugin_dir}"
 $LOAD_PATH <<  File.join(plugin_dir, 'lib')
 
 # load the library
_______________________________________________
Jruby-extras-devel mailing list
[EMAIL PROTECTED]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to