jetty-run 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 Kristian Meier
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,15 @@
1
+ # jetty run #
2
+
3
+ jetty-run will use Gemfile/Gemfile.lock and Jarfile/Jarfile.lock to setup an environment to start rails in development mode with jetty. it uses ruby-maven to achieve this, i.e. all missing jar dependencies (jetty and all) will be downloaded on the first run (that can take time since it is a lot).
4
+
5
+ jetty will start with port 8080 (none ssl) and 8443 (ssl). the ssl certificate is ./src/test/resources/server.keystore with password '123456' - it will be copied there on the first run.
6
+
7
+ to customize jetty you can use _Mavenfile_ which allows to reconfigure jetty-maven-plugin with a ruby DSL:
8
+
9
+ properties['jetty.version'] = '7.5.1.v20110908'
10
+
11
+ TODO more advanced example and current config
12
+
13
+ # note #
14
+
15
+ most functionality is hidden inside 'maven-tools' gem and de.saumya.mojo:ruby-tools jar (from jruby-maven-plugins). it was first part of these jruby-maven-plugins and slowly the functionality moved to the ruby side of things. so things are on the move . . .
data/TODO.md ADDED
@@ -0,0 +1,7 @@
1
+ # TODOs #
2
+
3
+ * use thor for CLI
4
+ * move the jetty config away from maven/tools/rails_project.rb
5
+ * use its own .jetty-pom.xml instead of .pom.xml from 'rmvn'
6
+ * keep the certificate-store here and the jetty-overwrite.xml should be in that gem as well
7
+ * move the web.xml into maven-tools - needed or rails war packaging
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env ruby
2
+ # if ARGV.size > 4 || ARGV[0] == "--help" || ARGV[0] == "-h" || ARGV[0] == "-?"
3
+ # puts "usage: #{File.basename($0)} [-e <environment>] [--war [<path/to/warfile>]]"
4
+ # puts "\tdefault environment: development"
5
+ # exit 1
6
+ # end
7
+
8
+ # args = [__FILE__.gsub(/-/, ':').gsub(/.*[\/\\]/, '')]
9
+ # if ARGV.size == 2 && ARGV[0] == "-e"
10
+ # args << "-Drails.env=#{ARGV[1]}"
11
+ # args << "-Prun"
12
+ # elsif ARGV.size == 1 && ARGV[0] == "--war"
13
+ # args = ["jetty:run-war", "-Pwar"]
14
+ # elsif ARGV.size == 2 && ARGV[0] == "--war"
15
+ # args = ["jetty:deploy-war", "-DwebApp=#{ARGV[1]}", "-Pwar"]
16
+ # elsif ARGV.size == 3 && ARGV[0] == "-e" && ARGV[2] == "--war"
17
+ # args = ["jetty:run-war", "-Pwar", "-Drails.env=#{ARGV[1]}"]
18
+ # elsif ARGV.size == 3 && ARGV[1] == "-e" && ARGV[0] == "--war"
19
+ # args = ["jetty:run-war", "-Pwar", "-Drails.env=#{ARGV[2]}"]
20
+ # elsif ARGV.size == 4 && ARGV[0] == "-e" && ARGV[2] == "--war"
21
+ # args = ["jetty:deploy-war", "-Pwar", "-DwebApp=#{ARGV[3]}", "-Drails.env=#{ARGV[1]}"]
22
+ # elsif ARGV.size == 4 && ARGV[2] == "-e" && ARGV[0] == "--war"
23
+ # args = ["jetty:deploy-war", "-Pwar", "-DwebApp=#{ARGV[1]}", "-Drails.env=#{ARGV[3]}"]
24
+ # end
25
+ # ARGV.replace(args)
26
+ # if !File.exists?(File.join('config', 'web.xml')) && !File.exists?(File.join('src', 'main', 'webapp', 'WEB-INF', 'web.xml'))
27
+ # require 'fileutils'
28
+ # web_xml = Gem.find_files( 'maven/jetty/web.xml').first
29
+ # FileUtils.cp(web_xml, 'config')
30
+ # end
31
+ # load Gem.bin_path('ruby-maven', 'rmvn')
32
+
33
+
34
+ require 'maven/jetty/ruby_maven'
35
+ require 'thor'
36
+
37
+ class JettyCommand < Thor
38
+ no_tasks do
39
+ def mvn
40
+ @mvn ||= Maven::Jetty::RubyMaven.new
41
+ end
42
+
43
+ def exec(*args)
44
+ ARGV.clear # clean up in case another script gets executed
45
+ mvn.exec(args)
46
+ end
47
+ end
48
+
49
+ desc "[run]", "runs jetty with a rails filesystem layout"
50
+ method_option :environment, :aliases => '-e', :type => :string, :required => false, :desc => 'rails environment'
51
+ method_option :port, :type => :numeric, :default => 8080, :desc => 'http port'
52
+ method_option :sslport, :type => :numeric, :default => 8443, :desc => 'https port'
53
+ def server(*args)
54
+ args = ARGV.dup
55
+ args.delete('server')
56
+ if i = args.index("--")
57
+ maven_args = args[i..-1]
58
+ end
59
+ maven_args ||= []
60
+ maven_args << "-Drails.env=#{options[:environment]}" if options[:environment]
61
+ maven_args << "-Djetty.port=#{options[:port]}"
62
+ maven_args << "-Djetty.sslport=#{options[:sslport]}"
63
+ exec(*(["jetty:run", "-Prun"] + maven_args))
64
+ end
65
+
66
+ desc "war WARFILE", "runs jetty with a given warfile"
67
+ method_option :port, :type => :numeric, :default => 8080, :desc => 'http port'
68
+ method_option :sslport, :type => :numeric, :default => 8443, :desc => 'https port'
69
+ def war(file, *args)
70
+ args = ARGV.dup
71
+ if i = args.index("--")
72
+ maven_args = args[i..-1]
73
+ end
74
+ maven_args ||= []
75
+ maven_args << "-Djetty.war=#{file}"
76
+ maven_args << "-Djetty.port=#{options[:port]}"
77
+ maven_args << "-Djetty.sslport=#{options[:sslport]}"
78
+ exec(*(["jetty:deploy-war", "-Pwar"] + maven_args))
79
+ end
80
+
81
+ desc "pom", "dump the pom used into pom.xml"
82
+ method_option :force, :type => :boolean, :default => false, :desc => 'force to overwrite pom.xml'
83
+ def pom(*args)
84
+ if File.exists?('pom.xml') && !options[:force]
85
+ warn "abort. pom.xml already exist. use --force to overwrite"
86
+ else
87
+ mvn.dump_pom(options[:force])
88
+ end
89
+ end
90
+
91
+ def help(*args)
92
+ super(*args)
93
+ goal =
94
+ case args[0]
95
+ when 'server'
96
+ 'run'
97
+ when 'war'
98
+ 'deploy-war'
99
+ end
100
+ if goal
101
+ puts
102
+ puts "Maven Options: (from jetty maven plugin)"
103
+ exec ["jetty:help", "-Ddetail=true", "-Dgoal=#{goal}"]
104
+ end
105
+ end
106
+
107
+ end
108
+ if i = ARGV.index('run')
109
+ ARGV[i] = 'server'
110
+ end
111
+ #p ARGV.detect {|a| p a ;a =~ /^[a-z]/ }
112
+ unless ARGV[0] =~ /^[a-z]/
113
+ ARGV.insert(0, 'server')
114
+ end
115
+ JettyCommand.start
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ if ARGV.size > 4 || ARGV[0] == "--help" || ARGV[0] == "-h" || ARGV[0] == "-?"
3
+ puts "usage: #{File.basename($0)} [-e <environment>] [--war [<path/to/warfile>]]"
4
+ puts "\tdefault environment: development"
5
+ exit 1
6
+ end
7
+
8
+ args = [__FILE__.gsub(/-/, ':').gsub(/.*[\/\\]/, '')]
9
+ if ARGV.size == 2 && ARGV[0] == "-e"
10
+ args << "-Drails.env=#{ARGV[1]}"
11
+ args << "-Prun"
12
+ elsif ARGV.size == 1 && ARGV[0] == "--war"
13
+ args = ["jetty:run-war", "-Pwar"]
14
+ elsif ARGV.size == 2 && ARGV[0] == "--war"
15
+ args = ["jetty:deploy-war", "-DwebApp=#{ARGV[1]}", "-Pwar"]
16
+ elsif ARGV.size == 3 && ARGV[0] == "-e" && ARGV[2] == "--war"
17
+ args = ["jetty:run-war", "-Pwar", "-Drails.env=#{ARGV[1]}"]
18
+ elsif ARGV.size == 3 && ARGV[1] == "-e" && ARGV[0] == "--war"
19
+ args = ["jetty:run-war", "-Pwar", "-Drails.env=#{ARGV[2]}"]
20
+ elsif ARGV.size == 4 && ARGV[0] == "-e" && ARGV[2] == "--war"
21
+ args = ["jetty:deploy-war", "-Pwar", "-DwebApp=#{ARGV[3]}", "-Drails.env=#{ARGV[1]}"]
22
+ elsif ARGV.size == 4 && ARGV[2] == "-e" && ARGV[0] == "--war"
23
+ args = ["jetty:deploy-war", "-Pwar", "-DwebApp=#{ARGV[1]}", "-Drails.env=#{ARGV[3]}"]
24
+ end
25
+ ARGV.replace(args)
26
+ if !File.exists?(File.join('config', 'web.xml')) && !File.exists?(File.join('src', 'main', 'webapp', 'WEB-INF', 'web.xml'))
27
+ require 'fileutils'
28
+ web_xml = Gem.find_files( 'maven/jetty/web.xml').first
29
+ FileUtils.cp(web_xml, 'config')
30
+ end
31
+ load Gem.bin_path('ruby-maven', 'rmvn')
@@ -0,0 +1 @@
1
+ require 'jetty_run'
@@ -0,0 +1 @@
1
+ require 'maven_tools'
@@ -0,0 +1 @@
1
+ require 'maven/jetty/version'
@@ -0,0 +1 @@
1
+ require 'maven/tools/jarfile'
@@ -0,0 +1,105 @@
1
+ require 'maven/tools/rails_project'
2
+
3
+ module Maven
4
+ module Jetty
5
+ class RailsProject < Maven::Tools::RailsProject
6
+
7
+ tags :dummy
8
+
9
+ private
10
+
11
+ CONNECTOR_XML = <<-XML
12
+
13
+ <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
14
+ <port>${jetty.port}</port>
15
+ </connector>
16
+ <connector implementation="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
17
+ <port>${jetty.sslport}</port>
18
+ <keystore>${project.basedir}/src/test/resources/server.keystore</keystore>
19
+ <keyPassword>123456</keyPassword>
20
+ <password>123456</password>
21
+ </connector>
22
+ XML
23
+
24
+ public
25
+
26
+
27
+ def add_defaults
28
+ super
29
+ self.properties.merge!({
30
+ "jetty.version" => '7.6.4.v20120524',
31
+ "jetty.war" => "${project.build.directory}/${project.build.finalName}.war",
32
+ "jetty.port" => '8080',
33
+ "jetty.sslport" => '8443'
34
+ })
35
+
36
+ profile(:war).plugin("org.mortbay.jetty:jetty-maven-plugin",
37
+ "${jetty.version}")do |jetty|
38
+ options = {
39
+ :war => "${jetty.war}",
40
+ :connectors => CONNECTOR_XML
41
+ }
42
+ jetty.with options
43
+ end
44
+
45
+ profile(:run) do |run|
46
+ overrideDescriptor = '${project.build.directory}/jetty/override-${rails.env}-web.xml'
47
+ run.activation.by_default
48
+ run.plugin("org.mortbay.jetty:jetty-maven-plugin",
49
+ "${jetty.version}") do |jetty|
50
+ options = {
51
+ :webAppConfig => {
52
+ :overrideDescriptor => overrideDescriptor
53
+ },
54
+ :systemProperties => {
55
+ :systemProperty => {
56
+ :name => 'jbundle.skip',
57
+ :value => 'true'
58
+ }
59
+ },
60
+ :connectors => CONNECTOR_XML
61
+ }
62
+ options[:webXml] = 'config/web.xml' if File.exists?('config/web.xml')
63
+ jetty.with options
64
+ end
65
+ end
66
+
67
+ profile(:warshell) do |exec|
68
+ exec.plugin_repository('kos').url = 'http://opensource.kantega.no/nexus/content/groups/public/'
69
+ exec.plugin('org.simplericity.jettyconsole:jetty-console-maven-plugin', '1.42').execution do |jetty|
70
+ jetty.execute_goal(:createconsole)
71
+ jetty.configuration.comment <<-TEXT
72
+ see http://simplericity.com/2009/11/10/1257880778509.html for more info
73
+ -->
74
+ <!--
75
+ <backgroundImage>${basedir}/src/main/jettyconsole/puffin.jpg</backgroundImage>
76
+ <additionalDependencies>
77
+ <additionalDependency>
78
+ <artifactId>jetty-console-winsrv-plugin</artifactId>
79
+ </additionalDependency>
80
+ <additionalDependency>
81
+ <artifactId>jetty-console-requestlog-plugin</artifactId>
82
+ </additionalDependency>
83
+ <additionalDependency>
84
+ <artifactId>jetty-console-log4j-plugin</artifactId>
85
+ </additionalDependency>
86
+ <additionalDependency>
87
+ <artifactId>jetty-console-jettyxml-plugin</artifactId>
88
+ </additionalDependency>
89
+ <additionalDependency>
90
+ <artifactId>jetty-console-ajp-plugin</artifactId>
91
+ </additionalDependency>
92
+ <additionalDependency>
93
+ <artifactId>jetty-console-gzip-plugin</artifactId>
94
+ </additionalDependency>
95
+ <additionalDependency>
96
+ <artifactId>jetty-console-startstop-plugin</artifactId>
97
+ </additionalDependency>
98
+ </additionalDependencies>
99
+ TEXT
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,13 @@
1
+ require 'maven/tools/rails_project'
2
+
3
+ module Maven
4
+ module Jetty
5
+ class RailsProject < Maven::Tools::RailsProject
6
+
7
+ def add_defaults
8
+ super
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ require 'ruby_maven'
2
+ require 'maven/jetty/rails_project'
3
+
4
+ module Maven
5
+ module Jetty
6
+ class RubyMaven < Maven::RubyMaven
7
+
8
+ def new_rails_project
9
+ RailsProject.new
10
+ end
11
+
12
+ def exec(*args)
13
+ # first make sure the jetty resources are in place
14
+ if !File.exists?(File.join('config', 'web.xml')) && !File.exists?(File.join('src', 'main', 'webapp', 'WEB-INF', 'web.xml'))
15
+ web_xml = Gem.find_files( 'maven/jetty/web.xml').first
16
+ FileUtils.cp(web_xml, 'config')
17
+ end
18
+
19
+ # now just continue
20
+ super
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ require 'ruby_maven'
2
+ require 'maven/jetty/rails_project'
3
+
4
+ module Maven
5
+ module Jetty
6
+ class RubyMaven < Maven::RubyMaven
7
+
8
+ def new_rails_project
9
+ RailsProject.new
10
+ end
11
+
12
+ def exec(*args)
13
+ # first make sure the jetty resources are in place
14
+ if !File.exists?(File.join('config', 'web.xml')) && !File.exists?(File.join('src', 'main', 'webapp', 'WEB-INF', 'web.xml'))
15
+ web_xml = Gem.find_files( 'maven/jetty/web.xml').first
16
+ FileUtils.cp(web_xml, 'config')
17
+ end
18
+
19
+ # now just continue
20
+ super
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,5 @@
1
+ module Maven
2
+ module Jetty
3
+ VERSION = '0.1.0'.freeze
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Maven
2
+ module Tools
3
+ VERSION = '0.29.0'.freeze
4
+ end
5
+ end
@@ -0,0 +1,48 @@
1
+ <!DOCTYPE web-app PUBLIC
2
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
4
+ <web-app>
5
+ <welcome-file-list>
6
+ <welcome-file>/index.html</welcome-file>
7
+ </welcome-file-list>
8
+
9
+ <context-param>
10
+ <param-name>jruby.max.runtimes</param-name>
11
+ <param-value>1</param-value>
12
+ </context-param>
13
+ <context-param>
14
+ <param-name>jruby.min.runtimes</param-name>
15
+ <param-value>1</param-value>
16
+ </context-param>
17
+ <context-param>
18
+ <param-name>jruby.compat.version</param-name>
19
+ <param-value>1.8</param-value>
20
+ </context-param>
21
+ <!-- for more config options see https://github.com/jruby/jruby-rack -->
22
+
23
+ <filter>
24
+ <filter-name>RackFilter</filter-name>
25
+ <filter-class>org.jruby.rack.RackFilter</filter-class>
26
+ <!-- optional filter configuration init-params : -->
27
+ <init-param>
28
+ <param-name>resetUnhandledResponse</param-name>
29
+ <param-value>true</param-value> <!-- true (default), false or buffer -->
30
+ </init-param>
31
+ <init-param>
32
+ <param-name>addsHtmlToPathInfo</param-name>
33
+ <param-value>true</param-value> <!-- true (default), false -->
34
+ </init-param>
35
+ <init-param>
36
+ <param-name>verifiesHtmlResource</param-name>
37
+ <param-value>false</param-value> <!-- true, false (default) -->
38
+ </init-param>
39
+ </filter>
40
+ <filter-mapping>
41
+ <filter-name>RackFilter</filter-name>
42
+ <url-pattern>/*</url-pattern>
43
+ </filter-mapping>
44
+
45
+ <listener>
46
+ <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class>
47
+ </listener>
48
+ </web-app>
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE web-app PUBLIC
2
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
4
+ <web-app>
5
+ <welcome-file-list>
6
+ <welcome-file>/index.html</welcome-file>
7
+ </welcome-file-list>
8
+
9
+ <context-param>
10
+ <param-name>jruby.max.runtimes</param-name>
11
+ <param-value>1</param-value>
12
+ </context-param>
13
+ <context-param>
14
+ <param-name>jruby.min.runtimes</param-name>
15
+ <param-value>1</param-value>
16
+ </context-param>
17
+
18
+ <filter>
19
+ <filter-name>RackFilter</filter-name>
20
+ <filter-class>org.jruby.rack.RackFilter</filter-class>
21
+ </filter>
22
+ <filter-mapping>
23
+ <filter-name>RackFilter</filter-name>
24
+ <url-pattern>/*</url-pattern>
25
+ </filter-mapping>
26
+
27
+ <listener>
28
+ <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class>
29
+ </listener>
30
+ <!--
31
+ <resource-ref>
32
+ <res-ref-name><%= jndi %></res-ref-name>
33
+ <res-type>javax.sql.DataSource</res-type>
34
+ <res-auth>Container</res-auth>
35
+ </resource-ref>
36
+ -->
37
+ </web-app>
metadata ADDED
@@ -0,0 +1,114 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jetty-run
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Kristian Meier
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2012-06-13 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.2.2
24
+ type: :development
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: minitest
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 2.10.0
35
+ type: :development
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: cucumber
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.1.9
46
+ type: :development
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: ruby-maven
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - "="
55
+ - !ruby/object:Gem::Version
56
+ version: 3.0.4.0.29.0
57
+ type: :runtime
58
+ version_requirements: *id004
59
+ description: installs and run jetty from within a rails directory with ssl and none ssl port
60
+ email:
61
+ - m.kristian@web.de
62
+ executables:
63
+ - jetty-run
64
+ extensions: []
65
+
66
+ extra_rdoc_files: []
67
+
68
+ files:
69
+ - bin/jetty-run
70
+ - bin/jetty-run~
71
+ - lib/jetty-run.rb
72
+ - lib/jetty-run.rb~
73
+ - lib/jetty_run.rb~
74
+ - lib/jetty_run.rb
75
+ - lib/maven/jetty/version.rb
76
+ - lib/maven/jetty/ruby_maven.rb~
77
+ - lib/maven/jetty/web.xml~
78
+ - lib/maven/jetty/rails_project.rb
79
+ - lib/maven/jetty/ruby_maven.rb
80
+ - lib/maven/jetty/rails_project.rb~
81
+ - lib/maven/jetty/version.rb~
82
+ - lib/maven/jetty/web.xml
83
+ - MIT-LICENSE
84
+ - README.md
85
+ - TODO.md
86
+ homepage: http://github.com/mkristian/jetty-run
87
+ licenses: []
88
+
89
+ post_install_message:
90
+ rdoc_options: []
91
+
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: "0"
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: "0"
106
+ requirements: []
107
+
108
+ rubyforge_project:
109
+ rubygems_version: 1.8.24
110
+ signing_key:
111
+ specification_version: 3
112
+ summary: run rails with jetty
113
+ test_files: []
114
+