[appengine-jruby] push by mando.woodie - support 2.3.5 -- re: this bug http://bit.ly/cgZcoO on 2010-09-05 12:16 GMT

0 views
Skip to first unread message

appengi...@googlecode.com

unread,
Sep 5, 2010, 8:16:49 AM9/5/10
to appengine-j...@googlegroups.com
Revision: 8f4a962a7c
Author: John Woodell <woo...@google.com>
Date: Sun Sep 5 05:15:21 2010
Log: support 2.3.5 -- re: this bug http://bit.ly/cgZcoO
http://code.google.com/p/appengine-jruby/source/detail?r=8f4a962a7c

Added:
/demos/rails2/gems_235
/demos/rails2/rails235_appengine.rb

=======================================
--- /dev/null
+++ /demos/rails2/gems_235 Sun Sep 5 05:15:21 2010
@@ -0,0 +1,1 @@
+gem 'rails', '2.3.5'
=======================================
--- /dev/null
+++ /demos/rails2/rails235_appengine.rb Sun Sep 5 05:15:21 2010
@@ -0,0 +1,82 @@
+#!/usr/bin/ruby
+#
+# Copyright:: Copyright 2009 Google Inc.
+# Original Author:: John Woodell (mailto:woo...@google.com)
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+require 'fileutils'
+require 'open-uri'
+
+def composite(source, fragment, index = nil, trim = nil)
+ File.open(source, 'r+') do |f|
+ lines = f.readlines
+ lines = lines[0..trim] unless trim.nil?
+ f.pos = 0
+ File.open(fragment) do |z|
+ section = z.readlines
+ if index and index.size < lines.size
+ f.print lines[0,index] + section + lines[index..-1]
+ else
+ f.print lines + section
+ end
+ end
+ f.truncate(f.pos)
+ end
+ FileUtils.rm fragment
+end
+
+def download_file(path, url)
+ open(url) do |r|
+ FileUtils.mkpath(File.dirname(path))
+ open(path,"w"){|f| f.write(r.read) }
+ end
+end
+SET_CMD = RUBY_PLATFORM.include?('mswin32') ? 'set' : 'export'
+MORE_GEMS = 'rails_appengine/active_support_vendored'
+FILE_BASE = 'http://appengine-jruby.googlecode.com/hg/demos/rails2/'
+MOD_FILES = %w{ app/controllers/rails/info_controller.rb public/favicon.ico
+ config.ru config/boot_rb config/environment_rb
+ config/initializers/gae_init_patch.rb config/database.yml
+ script/console.sh script/publish.sh script/server.sh }
+# Install Rails 2.3.5
+FileUtils.touch 'config.ru'
+gemsrc = ARGV[0].eql?('tiny_ds') ? 'Gemfile_td' : 'Gemfile'
+download_file("Gemfile", "#{FILE_BASE}#{gemsrc}")
+download_file("gems_235", "#{FILE_BASE}gems_235")
+composite('Gemfile', 'gems_235', nil, -2)
+FileUtils.mkdir_p 'WEB-INF'
+download_file("WEB-INF/app.yaml", "#{FILE_BASE}WEB-INF/app.yaml")
+system 'appcfg.rb bundle --update .'
+# Remove dups and generate Rails app
+FileUtils.rm 'public/robots.txt'
+# Generate rails, and skip APIs to escape the shell
+system "rails _2.3.5_ ."
+# Fetch configuration files
+FileUtils.mkdir_p 'app/controllers/rails'
+MOD_FILES.each { |path| download_file(path, "#{FILE_BASE}#{path}") }
+if ARGV[0].eql? 'tiny_ds'
+
download_file("config/environment_rb", "#{FILE_BASE}config/environment_td")
+end
+# Merge configs into boot.rb
+composite('config/boot.rb', 'config/boot_rb', 108)
+# Merge configs into environment.rb
+composite('config/environment.rb', 'config/environment_rb', 30)
+# Set permissions on scripts
+%w{console server}.each {|f| FileUtils.chmod 0644, "script/#{f}" }
+%w{console server publish}.each {|f| FileUtils.chmod
0744, "script/#{f}.sh" }
+# install the nulldb adapter
+system 'ruby script/plugin install http://svn.avdi.org/nulldb/trunk/'
+puts "##"
+puts "## Now type './script/server.sh'"
+puts "##"

Reply all
Reply to author
Forward
0 new messages