ulbrich-jruby-enginize 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -12,70 +12,83 @@ what's up running Ruby applications on a Java VM.
12
12
  == Prerequisites
13
13
 
14
14
  JRuby-Enginize needs a proper JRuby installation including rake and the
15
- Google AppEngine SDK for Java. More dependencies depend on the framework
16
- template to generate an application for:
15
+ Google AppEngine SDK (http://code.google.com/appengine/downloads.html) for
16
+ Java.
17
17
 
18
- For Sinatra (http://www.sinatrarb.com), you will need the "sinatra" gem with
19
- "haml" and "sass".
20
-
21
- For Merb (http://www.merbivore.com), you will need the "merb-core" gem with
22
- "extlib" and "appengine-apis".
23
-
24
- Be sure to install gems with <tt>jgem</tt> or <tt>jruby -S gem</tt> as you
25
- need them for JRuby and not for Ruby.
26
-
27
- You also need an Google AppEngine account to actually publish your code.
28
- Without account you can still play around with the tool and run applications
29
- locally.
18
+ More dependencies depend on the framework template to generate an application
19
+ for, but installation of additional gems is done with tools provided by
20
+ Google (so below).
30
21
 
31
22
  == Installation
32
23
 
33
- Install JRuby-Enginize as a gem with
24
+ The Google people worked hard to make JRuby easier to deploy than it was at
25
+ the beginning, so don't blindly trust all those blog posts and samples you'll
26
+ find but use the newest version of jruby-enginize and have a look at the Wiki
27
+ page of the Google AppEngine JRuby tools
28
+ (http://code.google.com/p/appengine-jruby/wiki/GettingStarted)
29
+ to learn about the details beyond.
30
+
31
+ These are the steps for installing the Google tools plus JRuby-Enginize
32
+ running on top of it to streamline your first steps:
34
33
 
35
- sudo jgem sources -a http://gems.github.com # Only needed once!
36
- sudo jgem install ulbrich-jruby-enginize
34
+ sudo gem sources -a http://gems.github.com # Only needed once!
35
+ sudo gem install google-appengine
36
+ sudo gem install ulbrich-jruby-enginize
37
37
 
38
- and be sure to really install with <tt>jgem</tt> as JRuby-Enginize will
39
- refuse to work in normal Ruby environment. It is for creating application
40
- running on Google AppEngine and it makes no sense outside JRuby!
38
+ You also need an Google AppEngine account to actually publish your code.
39
+ Without account you can still play around with the tools and run applications
40
+ locally.
41
41
 
42
42
  == Using jruby-enginize
43
43
 
44
- The gem includes is a single executable named <tt>jruby-enginize</tt> which is
45
- inspired by the <tt>rails</tt> tool for generating Rails applications. So just
46
- call
44
+ JRuby-Enginize includes is a single executable named <tt>jruby-enginize</tt>
45
+ which is inspired by the <tt>rails</tt> tool for generating Rails applications.
46
+ So just call
47
47
 
48
- jruby -S jruby-enginize
48
+ jruby-enginize
49
49
 
50
50
  and have a look at the options.
51
51
 
52
52
  Here are the steps for creating and deploying a new Sinatra application:
53
53
 
54
- * Register with Google AppEngine and look for a name for your application
55
- which is not already taken. If you don't care about this, you will get in
56
- trouble upon deploying your application and have to manually reconfigure
57
- all files!
54
+ * Register with Google AppEngine and create a new application ID.
55
+
56
+ * Generate your application with that new ID as directory name. Sample:
57
+
58
+ <tt>jruby-enginize --template sinatra jruby-enginize</tt>
59
+
60
+ * Go to the new directory and install the missing gems first (depends on the
61
+ template you have chosen):
62
+
63
+ <tt>sudo rake template:gems</tt>
64
+
65
+ !!Attention: Whenever you want to install additional gems, be sure
66
+ to use <tt>appcfg.rb gem</tt> provided by the Google AppEngine JRuby tools
67
+ and not <tt>jgem</tt> as Google maintains a local repository per project and
68
+ bundles the files to upload from that information. You will run into missing
69
+ gems on the server if you bypass this! Best approach is to use a separate
70
+ JRuby installation for AppEngine development to run into missing gems when
71
+ running the application locally, too.
58
72
 
59
- * Generate your application. Sample:
73
+ * Learn about the available rake tasks
60
74
 
61
- <tt>jruby -S jruby-enginize --template sinatra --email foo@bar.com jruby-enginize</tt>
75
+ <tt>rake --tasks</tt>
62
76
 
63
- * Go to the new directory, learn about the available rake tasks and try out
64
- your application:
77
+ * Try out your application locally running on port 8080:
65
78
 
66
- <tt>cd jruby-enginize</tt>
67
- <tt>jruby rake --tasks</tt>
79
+ <tt>rake appengine:run</tt>
68
80
 
69
- <tt>jruby -S rake sinatra:run</tt>
81
+ * Deploy the application:
70
82
 
71
- * Deploy the application with the application name and e-mail address you
72
- generated with:
83
+ <tt>rake appengine:deploy</tt>
73
84
 
74
- <tt>jruby -S rake appengine:deploy</tt>
85
+ The first time you deploy your application, you will be asked for e-mail and
86
+ password to confirm your upload to the server.
75
87
 
76
88
  You can repeat the deployment whenever you want. Be sure to set the version
77
- number in "appengine-web.xml" to a new value, when you are experimenting with
78
- an unstable version and don't want to risk your users getting exceptions.
89
+ number in the AppEngine::Rack.configure_app part of "config.ru" to a new
90
+ value, when you are experimenting with an unstable version and don't want to
91
+ risk your users getting exceptions.
79
92
 
80
93
  You can try the new version by opening e.g.
81
94
 
data/bin/jruby-enginize CHANGED
@@ -1,4 +1,4 @@
1
- #!//usr/bin/env jruby -S
1
+ #!//usr/bin/env ruby
2
2
  # JRuby-Enginize, a generator for Google AppEngine compliant JRuby apps.
3
3
 
4
4
  require 'lib/script'
data/lib/generator.rb CHANGED
@@ -60,9 +60,9 @@ module JRubyEnginize # :nodoc:
60
60
  raise ArgumentError, "Template \"#{template}\" missing" unless File.stat(templatedir).directory?
61
61
 
62
62
  if dryrun
63
- puts "Dry run which would generate the following files for template \"#{template}\":"
63
+ puts "Dry run which would generate the following files from template \"#{template}\":"
64
64
  else
65
- puts "Generating files for template \"#{template}\"."
65
+ puts "Generating files from template \"#{template}\"."
66
66
  end
67
67
 
68
68
  template_files(shareddir, templatedir).each do |key, path|
@@ -78,8 +78,10 @@ module JRubyEnginize # :nodoc:
78
78
  if not dryrun
79
79
  puts "Done with directory \"#{self.path}\"."
80
80
 
81
- puts "\nYour next steps:\n cd #{self.path}\n\n jruby -S rake"
82
- puts " jruby -S rake --tasks\n\n jruby -S rake appengine:deploy"
81
+ puts "\nYour next steps:\n cd #{self.path}\n\n sudo rake template:gems"
82
+ puts "\n rake\n rake --tasks"
83
+ puts "\n rake appengine:run # First call may fail: Just retry!"
84
+ puts "\n rake appengine:deploy"
83
85
  end
84
86
  end
85
87
 
@@ -159,11 +161,12 @@ module JRubyEnginize # :nodoc:
159
161
  content = File.read(source).gsub(/\{\{[^}]*\}\}/) do |variable|
160
162
  case variable
161
163
  when '{{email}}'
164
+ raise 'missing e-mail address' if email.nil? or email.empty?
162
165
  email
163
166
  when '{{name}}'
164
167
  name
165
168
  else
166
- if hexrand = variable.match(/{{hexrand-([0-9]+)}}/) and
169
+ if hexrand = variable.match(/\{\{hexrand-([0-9]+)\}\}/) and
167
170
  hexrand.length == 2 and (len = hexrand[1].to_i) > 0
168
171
  then
169
172
  str = ''
@@ -173,7 +176,7 @@ module JRubyEnginize # :nodoc:
173
176
  end
174
177
 
175
178
  str[0, len]
176
- elsif numrand = variable.match(/{{numrand-([0-9]+)}}/) and
179
+ elsif numrand = variable.match(/\{\{numrand-([0-9]+)\}\}/) and
177
180
  numrand.length == 2 and (len = numrand[1].to_i) > 0
178
181
  then
179
182
  str = ''
data/lib/script.rb CHANGED
@@ -26,6 +26,7 @@ module JRubyEnginize # :nodoc:
26
26
 
27
27
  prog = File.basename($0)
28
28
 
29
+ =begin
29
30
  # Check for running with JRuby: The whole generator makes no sense if not
30
31
  # running with or at least for JRuby...
31
32
 
@@ -35,6 +36,7 @@ module JRubyEnginize # :nodoc:
35
36
  $stderr.puts "!!#{prog} makes only sense on JRuby systems. Please try again."
36
37
  exit(1)
37
38
  end
39
+ =end
38
40
 
39
41
  # The AppEngine SDK has to be around, too.
40
42
 
@@ -67,7 +69,7 @@ module JRubyEnginize # :nodoc:
67
69
  raise 'missing directory name' if (path = ARGV.first).nil? or path.empty?
68
70
  raise 'directory already exists' if FileTest.exists? path
69
71
  raise 'unknown template' if not JRubyEnginize::Generator.templates.include? template
70
-
72
+
71
73
  raise 'missing e-mail address' if email.nil? or email.empty?
72
74
  rescue SystemExit
73
75
  exit(1)
@@ -1,7 +1,7 @@
1
1
  Merb::Config[:framework] = {
2
- :application => Merb.root / "app.rb",
3
- :config => [Merb.root / "config", nil],
4
- :public => [Merb.root / "public", nil],
5
- :view => Merb.root / "views"
2
+ :application => Merb.root / 'app.rb',
3
+ :config => [Merb.root / 'config', nil],
4
+ :public => [Merb.root / 'public', nil],
5
+ :view => Merb.root / 'views'
6
6
  }
7
7
 
@@ -17,7 +17,7 @@ end
17
17
 
18
18
  # Move this to app.rb if you want it to be reloadable in dev mode.
19
19
  Merb::Router.prepare do
20
- match('/').to(:controller => "engine_app", :action =>'index')
20
+ match('/').to(:controller => 'engine_app', :action =>'index')
21
21
 
22
22
  default_routes
23
23
  end
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'appengine-rack'
3
+
4
+ require 'merb-core'
5
+
6
+ AppEngine::Rack.configure_app(
7
+ # :ssl_enabled => true,
8
+ :application => '{{name}}',
9
+ :version => 1)
10
+
11
+ Merb::Config.setup(:merb_root => File.dirname(__FILE__),
12
+ :environment => ENV['RACK_ENV'])
13
+
14
+ Merb.environment = Merb::Config[:environment]
15
+ Merb.root = Merb::Config[:merb_root]
16
+
17
+ Merb::BootLoader.run
18
+
19
+ run Merb::Rack::Application.new
@@ -1,34 +1,42 @@
1
- require 'merb-core'
2
- require 'merb-core/tasks/merb'
1
+ # Tasks provided by Merb are guarded with a rescue block as we need this file
2
+ # to work prior to installation of Merb.
3
3
 
4
- include FileUtils
4
+ begin
5
+ require 'merb-core'
6
+ require 'merb-core/tasks/merb'
5
7
 
6
- # Load the basic runtime dependencies; this will include
7
- # any plugins and therefore plugin rake tasks.
8
- init_env = ENV['MERB_ENV'] || 'rake'
9
- Merb.load_dependencies(:environment => init_env)
8
+ include FileUtils
9
+
10
+ # Load the basic runtime dependencies; this will include
11
+ # any plugins and therefore plugin rake tasks.
12
+ init_env = ENV['MERB_ENV'] || 'rake'
13
+ Merb.load_dependencies(:environment => init_env)
10
14
 
11
- # Get Merb plugins and dependencies
12
- Merb::Plugins.rakefiles.each { |r| require r }
15
+ # Get Merb plugins and dependencies
16
+ Merb::Plugins.rakefiles.each { |r| require r }
13
17
 
14
- # Load any app level custom rakefile extensions from lib/tasks
15
- tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks")
16
- rake_files = Dir["#{tasks_path}/*.rake"]
17
- rake_files.each{|rake_file| load rake_file }
18
+ # Load any app level custom rakefile extensions from lib/tasks
19
+ tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks")
20
+ rake_files = Dir["#{tasks_path}/*.rake"]
21
+ rake_files.each{|rake_file| load rake_file }
18
22
 
19
- require 'spec/rake/spectask'
20
- require 'merb-core/test/tasks/spectasks'
23
+ require 'spec/rake/spectask'
24
+ require 'merb-core/test/tasks/spectasks'
25
+ rescue Exception
26
+ end
21
27
 
22
- ##############################################################################
23
- # ADD YOUR CUSTOM TASKS IN /lib/tasks
24
- # NAME YOUR RAKE FILES file_name.rake
25
- ##############################################################################
28
+ # Task for loading gems needed by this template. Bootstrap to get installed...
26
29
 
27
- namespace :merb do
28
- desc 'Start a local test server on port 4000'
29
- task :run do
30
- puts 'Start a local test server on port 4000'
31
- `(jruby -S merb -V) 1>&2`
30
+ namespace :template do
31
+ desc 'Load missing gems to local gem repository'
32
+ task :gems do
33
+ puts 'Load missing gems to local gem repository'
34
+ `(sudo appcfg.rb gem install extlib merb-core) 1>&2`
32
35
  end
33
36
  end
34
37
 
38
+ # Add your own tasks...
39
+
40
+ namespace :merb do
41
+ end
42
+
@@ -20,7 +20,8 @@
20
20
  </center>
21
21
  </div>
22
22
  <div id='footer'>
23
- This tiny sample application was generated by
23
+ This tiny app was generated by
24
24
  <a href='http://github.com/ulbrich/jruby-enginize'>JRuby-Enginize</a>
25
+ to streamline Google AppEngine development.
25
26
  </div>
26
27
  </center>
@@ -3,18 +3,24 @@ README
3
3
  This is a generic README generated by jruby-enginize. Please replace with
4
4
  something more meaningful... ;-)
5
5
 
6
- GOOGLE APPENGINE DEPLOYMENT
6
+ INSTALL MISSING GEMS
7
+
8
+ As a basic requirement, you have to install missing gems required by the
9
+ template (this task is implemented individually for each template):
10
+
11
+ sudo rake template:gems
7
12
 
8
- !!Attention: As a basic requirement, the JRuby archive "jruby-complete.jar"
9
- has to be placed in the "lib" directory of your app and this is way to large
10
- to include it in the generator. If you have this file on your disk, copy it
11
- over and be sure to rename it to "jruby-complete.jar". If missing, the
12
- deployment will download the file for you. Expect a 10 MB download (only done
13
- once).
13
+ !!Attention: Whenever you want to install additional gems, be sure to use
14
+ "appcfg.rb gem" provided by the Google AppEngine JRuby tools and not "jgem" as
15
+ Google maintains a local repository per project and bundles the files to
16
+ upload from that information. You will run into missing gems on the server if
17
+ you bypass this!
18
+
19
+ GOOGLE APPENGINE DEPLOYMENT
14
20
 
15
21
  Deploy the application with
16
22
 
17
- jrake appengine:deploy
23
+ rake appengine:deploy
18
24
 
19
25
  and open
20
26
 
@@ -22,9 +28,9 @@ and open
22
28
 
23
29
  to have a first test.
24
30
 
25
- Be sure to set the version number in "appengine-web.xml" to a new value, when
26
- you are experimenting with an unstable version and don't want to risk your
27
- users getting exceptions.
31
+ Be sure to set the version number in the AppEngine::Rack.configure_app part
32
+ of "config.ru" to a new value, when you are experimenting with an unstable
33
+ version and don't want to risk your users getting exceptions.
28
34
 
29
35
  You can try the new version by opening e.g.
30
36
 
@@ -38,3 +44,25 @@ opening
38
44
  http://appengine.google.com/deployment?&app_id={{name}}
39
45
 
40
46
  and setting a new default.
47
+
48
+ SOME MORE INFO
49
+
50
+ - Gems installed with "appcfg.rb gem" reside in directory ".gems". Again: Do
51
+ not use "jgem" at all!
52
+
53
+ - Some gems will throw exceptions during bundling: Have a look for paths
54
+ assembled using ".." to reach the parent directory and replace with
55
+ File.dirname(...). Retry and be a good citizen and send in the patch the
56
+ developer of that gem... ;-)
57
+
58
+ - Data uploaded to the server is gathered in directory "WEB-INF" as with any
59
+ Java project. The first time "rake appengine:run" or "rake appengine:deploy"
60
+ is called, this directory will be created and "jruby-rack-xx.jar" is
61
+ downloaded from its homepage.
62
+
63
+ The first call to "rake appengine:run" or "rake appengine:deploy" with
64
+ downloading the rack jar will fail. Just ignore and retry.
65
+
66
+ - "WEB-INF/lib/gems.jar" is only created or updated after a call to
67
+ "appcfg.rb gem". This is enforced by "rake appengine:deploy" but not by
68
+ "rake appengine:update".
@@ -28,82 +28,44 @@ end
28
28
 
29
29
  desc 'Display some help and the README'
30
30
  task :help do
31
- puts 'Call "jruby -S rake --tasks" to learn what tasks are available...'
31
+ puts 'Call "rake --tasks" to learn what tasks are available...'
32
32
  puts
33
33
  puts File.read('README')
34
34
  end
35
35
 
36
36
  task :default => [:help]
37
37
 
38
- namespace :jruby do
39
- desc 'Download current "jruby-complete.jar" from dist.codehaus.org.'
40
- task :download do
41
- puts 'Download current "jruby-complete.jar" from dist.codehaus.org.'
42
-
43
- begin
44
- baseurl = 'http://dist.codehaus.org/jruby/current'
45
- directory = fetch(baseurl)
46
-
47
- if directory.kind_of? Net::HTTPOK and
48
- (match = directory.body.match(/.*"(jruby-complete-[^"]*\.jar)".*/)) and
49
- match.length == 2
50
- then
51
- `(curl -o lib/jruby-complete.jar "#{baseurl}/#{match[1]}") 1>&2`
52
- raise Errno::ENOENT if $? != 0
53
- else
54
- raise Errno::ENOENT
55
- end
56
- rescue Exception
57
- puts '!!Could not download "jruby-complete.jar". Retry or download manually.'
58
- exit(1)
59
- end
38
+ namespace :appengine do
39
+ desc 'Start a local test server on port 8000'
40
+ task :run do
41
+ puts 'Start a local test server on port 8000'
42
+ `(dev_appserver.rb .) 1>&2`
60
43
  end
61
44
 
62
- desc 'Run the jruby:download task if the JRuby JAR is missing.'
63
- task :check4jar do
64
- file = File.join(File.dirname(__FILE__), 'lib', 'jruby-complete.jar')
65
-
66
- puts 'Run the jruby:download task if the JRuby JAR is missing.'
67
-
68
- begin
69
- File.stat(file)
70
-
71
- `(unzip -l #{file}) 2>&1`
72
- raise Errno::ENOENT if $? != 0
73
-
74
- puts 'JRuby JAR already exists.'
75
- rescue Errno::ENOENT
76
- puts 'Need to download JRuby JAR. Downloading now...'
77
- Rake::Task['jruby:download'].invoke
78
- end
45
+ desc 'Force rebuilding "WEB-INF/lib/gems.jar"'
46
+ task :rebuildgems do
47
+ puts 'Force rebuilding "WEB-INF/lib/gems.jar"'
48
+ `(appcfg.rb gem help install) 2> /dev/null 1>&2`
79
49
  end
80
- end
81
50
 
82
- namespace :appengine do
83
- desc 'Create the WAR file for deployment'
84
- task :war do
85
- puts 'Create the WAR file for deployment.'
86
- `(jruby -S warble) 1>&2`
51
+ desc 'Build the application package'
52
+ task :bundle do
53
+ puts 'Build the application package.'
54
+ `(appcfg.rb --email={{email}} --enable_jar_splitting bundle .) 1>&2`
87
55
  end
88
56
 
89
- desc 'Upload the new application code'
90
- task :upload do
57
+ desc 'Upload the application code to the server'
58
+ task :update do
91
59
  puts 'Upload the new application code (this may take a while).'
92
- `(appcfg.sh --enable_jar_splitting --email={{email}} update tmp/war) 1>&2`
60
+ `(appcfg.rb --email={{email}} --enable_jar_splitting update .) 1>&2`
93
61
  end
94
62
 
95
63
  desc 'Roll back a blocked and halfway broken deploy'
96
64
  task :rollback do
97
65
  puts 'Roll back a blocked and halfway broken deploy.'
98
- `(appcfg.sh --enable_jar_splitting rollback tmp/war) 1>&2`
99
- end
100
-
101
- desc 'Remove temp stuff'
102
- task :clean do
103
- puts 'Remove temp stuff.'
104
- `rm -rf tmp {{name}}.war`
66
+ `(appcfg.rb --email={{email}} rollback .) 1>&2`
105
67
  end
106
68
 
107
- desc 'Deploy the application (generating WAR and uploading files)'
108
- task :deploy => ['jruby:check4jar', :war, :upload]
69
+ desc 'Deploy the application (build package and upload application code)'
70
+ task :deploy => [:rebuildgems, :bundle, :update]
109
71
  end
@@ -5,10 +5,17 @@ require 'rubygems'
5
5
  begin
6
6
  require 'haml'
7
7
  require 'sass'
8
+
8
9
  require 'sinatra'
9
10
  rescue LoadError => exception
10
- $stderr.puts '!!missing sinatra. Install sinatra gem and try again.'
11
- exit(1)
11
+ end
12
+
13
+ # Helpers to include...
14
+
15
+ helpers do
16
+ include Rack::Utils
17
+
18
+ alias_method :h, :escape_html
12
19
  end
13
20
 
14
21
  # GET /
@@ -1,13 +1,13 @@
1
1
  require 'rubygems'
2
+ require 'appengine-rack'
3
+
2
4
  require 'sinatra'
3
-
4
- root_dir = File.dirname(__FILE__)
5
-
6
- set :environment, :production
7
- set :root, root_dir
8
- set :app_file, File.join(root_dir, 'app.rb')
9
- disable :run
10
-
5
+
6
+ AppEngine::Rack.configure_app(
7
+ # :ssl_enabled => true,
8
+ :application => '{{name}}',
9
+ :version => 1)
10
+
11
11
  require 'app'
12
12
 
13
13
  run Sinatra::Application
@@ -0,0 +1,5 @@
1
+ 18c18
2
+ < File.join(File.dirname(__FILE__), '..', '..', file)
3
+ ---
4
+ > File.join(File.dirname(File.dirname(File.dirname(__FILE__))), file)
5
+
@@ -1,7 +1,16 @@
1
- namespace :sinatra do
2
- desc 'Start a local test server on port 4567'
3
- task :run do
4
- puts 'Start a local test server on port 4567'
5
- `(jruby -S app.rb) 1>&2`
1
+ # Task for loading gems needed by this template. Bootstrap to get installed...
2
+
3
+ namespace :template do
4
+ desc 'Load missing gems to local gem repository'
5
+ task :gems do
6
+ puts 'Load missing gems to local gem repository'
7
+ `(sudo appcfg.rb gem install jruby-openssl haml sinatra) 1>&2`
8
+ puts 'Add patch for Haml 2.2.2 if needed'
9
+ `(sudo patch --batch --silent .gems/gems/haml-2.2.2/lib/haml/util.rb < lib/tasks/haml-2_2_2-util.patch) 2> /dev/null 1>&2`
6
10
  end
7
11
  end
12
+
13
+ # Add your own tasks...
14
+
15
+ namespace :sinatra do
16
+ end
@@ -14,5 +14,6 @@
14
14
  %p
15
15
  %img{ :src => '/images/sinatra_logo.png' }
16
16
  %div{ :id => 'footer' }
17
- This tiny sample application was generated by
17
+ This tiny app was generated by
18
18
  %a{ :href => 'http://github.com/ulbrich/jruby-enginize' } JRuby-Enginize
19
+ to streamline Google AppEngine development.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ulbrich-jruby-enginize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Ulbrich
@@ -30,8 +30,8 @@ files:
30
30
  - templates/sinatra/views/index.haml
31
31
  - templates/sinatra/public/images/sinatra_logo.png
32
32
  - templates/sinatra/lib/tasks/sinatra.rake
33
+ - templates/sinatra/lib/tasks/haml-2_2_2-util.patch
33
34
  - templates/sinatra/config.ru
34
- - templates/sinatra/config/warble.rb
35
35
  - templates/sinatra/app.rb
36
36
  - templates/sinatra/.gitignore
37
37
  - templates/shared/README
@@ -39,15 +39,13 @@ files:
39
39
  - templates/shared/public/robots.txt
40
40
  - templates/shared/public/images/appengine_logo.png
41
41
  - templates/shared/public/favicon.ico
42
- - templates/shared/lib/jruby-rack-0.9.4.jar
43
- - templates/shared/appengine-web.xml
44
42
  - templates/merb/views/layout.engine_app.html.erb
45
43
  - templates/merb/views/index.html.erb
46
44
  - templates/merb/spec/spec_helper.rb
47
45
  - templates/merb/public/stylesheets/default.css
48
46
  - templates/merb/public/images/merb_logo.png
49
47
  - templates/merb/lib/tasks/merb.rake
50
- - templates/merb/config/warble.rb
48
+ - templates/merb/config.ru
51
49
  - templates/merb/config/init.rb
52
50
  - templates/merb/config/framework.rb
53
51
  - templates/merb/app.rb
@@ -55,6 +53,7 @@ files:
55
53
  - README.rdoc
56
54
  has_rdoc: true
57
55
  homepage: http://github.com/ulbrich/jruby-enginize
56
+ licenses:
58
57
  post_install_message:
59
58
  rdoc_options:
60
59
  - --exclude
@@ -83,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
82
  requirements: []
84
83
 
85
84
  rubyforge_project:
86
- rubygems_version: 1.2.0
85
+ rubygems_version: 1.3.5
87
86
  signing_key:
88
87
  specification_version: 2
89
88
  summary: A package for generating Google AppEngine compliant JRuby projects.
@@ -1,85 +0,0 @@
1
- # Disable automatic framework detection by uncommenting/setting to false
2
- # Warbler.framework_detection = false
3
-
4
- # Warbler web application assembly configuration file
5
- Warbler::Config.new do |config|
6
- # Temporary directory where the application is staged
7
- # config.staging_dir = "tmp/war"
8
-
9
- # Application directories to be included in the webapp.
10
- config.dirs = %w(lib public views config)
11
-
12
- # Additional files/directories to include, above those in config.dirs
13
- # config.includes = FileList["db"]
14
- config.includes = FileList["appengine-web.xml", "app.rb"]
15
- # Additional files/directories to exclude
16
- # config.excludes = FileList["lib/tasks/*"]
17
-
18
- # Additional Java .jar files to include. Note that if .jar files are placed
19
- # in lib (and not otherwise excluded) then they need not be mentioned here.
20
- # JRuby and JRuby-Rack are pre-loaded in this list. Be sure to include your
21
- # own versions if you directly set the value
22
- # config.java_libs += FileList["lib/java/*.jar"]
23
-
24
- # Loose Java classes and miscellaneous files to be placed in WEB-INF/classes.
25
- # config.java_classes = FileList["target/classes/**.*"]
26
-
27
- # One or more pathmaps defining how the java classes should be copied into
28
- # WEB-INF/classes. The example pathmap below accompanies the java_classes
29
- # configuration above. See http://rake.rubyforge.org/classes/String.html#M000017
30
- # for details of how to specify a pathmap.
31
- # config.pathmaps.java_classes << "%{target/classes/,}p"
32
-
33
- # Gems to be included. You need to tell Warbler which gems your application needs
34
- # so that they can be packaged in the war file.
35
- config.gems = ['merb-core', 'extlib']
36
-
37
- # The most recent versions of gems are used.
38
- # You can specify versions of gems by using a hash assignment:
39
- # config.gems["foo"] = "2.0.2"
40
-
41
- # You can also use regexps or Gem::Dependency objects for flexibility or
42
- # fine-grained control.
43
- # config.gems << /^merb-/
44
- # config.gems << Gem::Dependency.new("merb-core", "= 0.9.3")
45
-
46
- # Include gem dependencies not mentioned specifically
47
- config.gem_dependencies = true
48
-
49
- # Files to be included in the root of the webapp. Note that files in public
50
- # will have the leading 'public/' part of the path stripped during staging.
51
- # config.public_html = FileList["public/**/*", "doc/**/*"]
52
-
53
- # Pathmaps for controlling how public HTML files are copied into the .war
54
- # config.pathmaps.public_html = ["%{public/,}p"]
55
-
56
- # Name of the war file (without the .war)
57
- config.war_name = "{{name}}"
58
-
59
- # Name of the MANIFEST.MF template for the war file. Defaults to the
60
- # MANIFEST.MF normally generated by `jar cf`.
61
- # config.manifest_file = "config/MANIFEST.MF"
62
-
63
- # Value of environment variables
64
- # config.webxml.foo.env = ENV['FOO_ENV']
65
-
66
- # Application booter to use, one of :rack, :rails, or :merb
67
- config.webxml.booter = :merb
68
-
69
- # When using the :rack booter, "Rackup" script to use.
70
- # The script is evaluated in a Rack::Builder to load the application.
71
- # Examples:
72
- # config.webxml.rackup = %{require './lib/demo'; run Rack::Adapter::Camping.new(Demo)}
73
- # config.webxml.rackup = require 'cgi' && CGI::escapeHTML(File.read("config.ru"))
74
-
75
- # Control the pool of runtimes. Leaving unspecified means
76
- # the pool will grow as needed to service requests. It is recommended
77
- # that you fix these values when running a production server!
78
- # config.webxml.jruby.min.runtimes = 2
79
- # config.webxml.jruby.max.runtimes = 4
80
- config.webxml.jruby.min.runtimes = 1
81
- config.webxml.jruby.max.runtimes = 1
82
- config.webxml.jruby.init.serial = true
83
-
84
- config.java_libs = []
85
- end
@@ -1,21 +0,0 @@
1
- <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
2
- <application>{{name}}</application>
3
- <version>1</version>
4
- <static-files />
5
- <resource-files />
6
- <sessions-enabled>false</sessions-enabled>
7
- <system-properties>
8
- <property name="jruby.management.enabled" value="false" />
9
- <property name="os.arch" value="" />
10
- <property name="jruby.compile.mode" value="JIT"/> <!-- JIT|FORCE|OFF -->
11
- <property name="jruby.compile.fastest" value="true"/>
12
- <property name="jruby.compile.frameless" value="true"/>
13
- <property name="jruby.compile.positionless" value="true"/>
14
- <property name="jruby.compile.threadless" value="false"/>
15
- <property name="jruby.compile.fastops" value="false"/>
16
- <property name="jruby.compile.fastcase" value="false"/>
17
- <property name="jruby.compile.chainsize" value="500"/>
18
- <property name="jruby.compile.lazyHandles" value="false"/>
19
- <property name="jruby.compile.peephole" value="true"/>
20
- </system-properties>
21
- </appengine-web-app>
@@ -1,85 +0,0 @@
1
- # Disable automatic framework detection by uncommenting/setting to false
2
- # Warbler.framework_detection = false
3
-
4
- # Warbler web application assembly configuration file
5
- Warbler::Config.new do |config|
6
- # Temporary directory where the application is staged
7
- # config.staging_dir = "tmp/war"
8
-
9
- # Application directories to be included in the webapp.
10
- config.dirs = %w(lib public views)
11
-
12
- # Additional files/directories to include, above those in config.dirs
13
- # config.includes = FileList["db"]
14
- config.includes = FileList["appengine-web.xml", "app.rb", "config.ru"]
15
- # Additional files/directories to exclude
16
- # config.excludes = FileList["lib/tasks/*"]
17
-
18
- # Additional Java .jar files to include. Note that if .jar files are placed
19
- # in lib (and not otherwise excluded) then they need not be mentioned here.
20
- # JRuby and JRuby-Rack are pre-loaded in this list. Be sure to include your
21
- # own versions if you directly set the value
22
- # config.java_libs += FileList["lib/java/*.jar"]
23
-
24
- # Loose Java classes and miscellaneous files to be placed in WEB-INF/classes.
25
- # config.java_classes = FileList["target/classes/**.*"]
26
-
27
- # One or more pathmaps defining how the java classes should be copied into
28
- # WEB-INF/classes. The example pathmap below accompanies the java_classes
29
- # configuration above. See http://rake.rubyforge.org/classes/String.html#M000017
30
- # for details of how to specify a pathmap.
31
- # config.pathmaps.java_classes << "%{target/classes/,}p"
32
-
33
- # Gems to be included. You need to tell Warbler which gems your application needs
34
- # so that they can be packaged in the war file.
35
- config.gems = ['sinatra', 'haml']
36
-
37
- # The most recent versions of gems are used.
38
- # You can specify versions of gems by using a hash assignment:
39
- # config.gems["foo"] = "2.0.2"
40
-
41
- # You can also use regexps or Gem::Dependency objects for flexibility or
42
- # fine-grained control.
43
- # config.gems << /^merb-/
44
- # config.gems << Gem::Dependency.new("merb-core", "= 0.9.3")
45
-
46
- # Include gem dependencies not mentioned specifically
47
- config.gem_dependencies = true
48
-
49
- # Files to be included in the root of the webapp. Note that files in public
50
- # will have the leading 'public/' part of the path stripped during staging.
51
- # config.public_html = FileList["public/**/*", "doc/**/*"]
52
-
53
- # Pathmaps for controlling how public HTML files are copied into the .war
54
- # config.pathmaps.public_html = ["%{public/,}p"]
55
-
56
- # Name of the war file (without the .war)
57
- config.war_name = "{{name}}"
58
-
59
- # Name of the MANIFEST.MF template for the war file. Defaults to the
60
- # MANIFEST.MF normally generated by `jar cf`.
61
- # config.manifest_file = "config/MANIFEST.MF"
62
-
63
- # Value of environment variables
64
- # config.webxml.foo.env = ENV['FOO_ENV']
65
-
66
- # Application booter to use, one of :rack, :rails, or :merb
67
- config.webxml.booter = :rack
68
-
69
- # When using the :rack booter, "Rackup" script to use.
70
- # The script is evaluated in a Rack::Builder to load the application.
71
- # Examples:
72
- # config.webxml.rackup = %{require './lib/demo'; run Rack::Adapter::Camping.new(Demo)}
73
- # config.webxml.rackup = require 'cgi' && CGI::escapeHTML(File.read("config.ru"))
74
-
75
- # Control the pool of runtimes. Leaving unspecified means
76
- # the pool will grow as needed to service requests. It is recommended
77
- # that you fix these values when running a production server!
78
- # config.webxml.jruby.min.runtimes = 2
79
- # config.webxml.jruby.max.runtimes = 4
80
- config.webxml.jruby.min.runtimes = 1
81
- config.webxml.jruby.max.runtimes = 1
82
- config.webxml.jruby.init.serial = true
83
-
84
- config.java_libs = []
85
- end