appengine-tools 0.0.5 → 0.0.6

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/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'date'
5
5
  require 'spec/rake/spectask'
6
6
 
7
7
  GEM = "appengine-tools"
8
- GEM_VERSION = "0.0.5"
8
+ GEM_VERSION = "0.0.6"
9
9
  AUTHOR = "Ryan Brown"
10
10
  EMAIL = "ribrdb@gmail.com"
11
11
  HOMEPAGE = "http://code.google.com/p/appengine-jruby"
@@ -24,12 +24,12 @@ spec = Gem::Specification.new do |s|
24
24
  s.homepage = HOMEPAGE
25
25
 
26
26
  s.require_path = 'lib'
27
- s.files = %w(LICENSE README.rdoc Rakefile) + Dir.glob("{lib,spec}/**/*")
27
+ s.files = %w(LICENSE README.rdoc Rakefile) + Dir.glob("{lib,spec}/**/*.rb")
28
28
  s.executables = [ 'appcfg.rb', 'dev_appserver.rb' ]
29
29
  s.add_dependency('appengine-rack')
30
30
  s.add_dependency('appengine-sdk')
31
31
  s.add_dependency('appengine-jruby-jars')
32
- s.add_dependency('bundler', ["0.6.0"])
32
+ s.add_dependency('bundler')
33
33
  s.add_dependency('rubyzip')
34
34
  end
35
35
 
@@ -46,7 +46,15 @@ module AppEngine
46
46
  def getCronYaml
47
47
  cron = File.join(app.path, 'cron.yaml')
48
48
  if File.exists?(cron)
49
- return cron.to_yaml
49
+ return IO.read(cron)
50
+ end
51
+ nil
52
+ end
53
+
54
+ def getQueueYaml
55
+ queue = File.join(app.path, 'queue.yaml')
56
+ if File.exists?(queue)
57
+ return IO.read(queue)
50
58
  end
51
59
  nil
52
60
  end
@@ -101,9 +101,11 @@ module AppEngine
101
101
  EXISTING_APIS = /^appengine-api.*jar$/
102
102
  JRUBY_RACK = 'jruby-rack-0.9.5.jar'
103
103
  JRUBY_RACK_URL = "http://kenai.com/downloads/jruby-rack/#{JRUBY_RACK}"
104
- RACKUP = %q{Dir.chdir('..') if Dir.pwd =~ /WEB-INF$/;} +
104
+ RACKUP = %q{Dir.chdir('..') if Dir.pwd =~ /WEB-INF$/; } +
105
+ %q{begin; require 'bundler_gems/environment'; } +
106
+ %q{rescue LoadError; end;} +
105
107
  %q{eval IO.read('config.ru'), nil, 'config.ru', 1}
106
-
108
+
107
109
  def initialize(root_path)
108
110
  @app = Application.new(root_path)
109
111
  end
@@ -188,7 +190,7 @@ module AppEngine
188
190
 
189
191
  def copy_sdk
190
192
  require 'appengine-sdk'
191
- glob = "appengine-api-1.0-sdk-*.jar"
193
+ glob = "appengine-api-{1.0-sdk,labs}-*.jar"
192
194
  jars = Dir.glob("#{AppEngine::SDK::SDK_ROOT}/lib/user/#{glob}")
193
195
  update_jars('appengine-sdk', EXISTING_APIS, jars)
194
196
  end
@@ -257,6 +259,7 @@ module AppEngine
257
259
  # First read the user's rackup file
258
260
  # TODO generate a skeleton if it's missing
259
261
  Dir.chdir(app_root) do
262
+ require '.gems/bundler_gems/environment'
260
263
  eval IO.read('config.ru'), nil, 'config.ru', 1
261
264
  end
262
265
 
@@ -67,16 +67,18 @@ module AppEngine
67
67
  bundler_dir = "#{app.gems_dir}/bundler_gems"
68
68
  # TODO: this temporary hack should be fixed properly
69
69
  gem_patch = <<MOD
70
- # Injected by appengine-tools to patch bundler 0.6.0 for Sinatra 0.9.4
70
+ # Injected by appengine-tools to patch bundler for Sinatra and Rails 3
71
71
  module Gem
72
- def self.dir; ENV['GEM_HOME']; end
73
- RubyGemsVersion = "0.0.0" unless defined? RubyGemsVersion
72
+ def self.default_dir; ENV['GEM_HOME']; end
73
+ def self.dir; ENV['GEM_HOME']; end
74
+ def self.path; ENV['GEM_PATH']; end
74
75
  end
75
76
  MOD
76
77
  File.open("#{bundler_dir}/environment.rb",'a') {|f| f << gem_patch }
77
78
  FileUtils.rm app.gems_jar, :force => true # blow away the old jar
78
- puts "=> Installing gems"
79
+ puts "=> Packaging gems"
79
80
  gem_files = Dir["#{bundler_dir}/gems/**/**"] +
81
+ Dir["#{bundler_dir}/dirs/**/**"] +
80
82
  Dir["#{bundler_dir}/environment.rb"]
81
83
  Zip::ZipFile.open(app.gems_jar, 'w') do |jar|
82
84
  gem_files.reject {|f| f == app.gems_jar}.each do |file|
@@ -98,7 +100,7 @@ disable_rubygems
98
100
  bundle_path ".gems/bundler_gems"
99
101
 
100
102
  # List gems to bundle here:
101
- #gem "rack", "1.0.0"
103
+ gem "appengine-rack"
102
104
  #gem "dm-appengine"
103
105
  #gem "sinatra"
104
106
  EOF
@@ -28,13 +28,18 @@ class WebXmlBuilder < Rack::Builder
28
28
  @path = "/"
29
29
  @paths = Hash.new {|h, k| h[k] = []}
30
30
  @skip_defaults = false
31
+ @mime_mapping = {}
31
32
  instance_eval(&block) if block_given?
32
33
  end
33
34
 
34
- def skip_rack_servlet
35
- @skip_defaults = true
35
+ def add_mime_mapping(doc)
36
+ @mime_mapping.each_pair do |key,val|
37
+ mime = doc.add_element('mime-mapping')
38
+ mime.add_element('extension').add_text(key.to_s)
39
+ mime.add_element('mime-type').add_text(val)
40
+ end
36
41
  end
37
-
42
+
38
43
  def add_jruby_rack_defaults(rackup)
39
44
  use JavaContextParams, :rackup => rackup
40
45
  unless @skip_defaults
@@ -81,6 +86,7 @@ class WebXmlBuilder < Rack::Builder
81
86
  end
82
87
  end
83
88
  end
89
+ add_mime_mapping(doc)
84
90
  doc
85
91
  end
86
92
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appengine-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Brown
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-02 00:00:00 -08:00
12
+ date: 2009-12-07 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -48,9 +48,9 @@ dependencies:
48
48
  version_requirement:
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "="
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 0.6.0
53
+ version: "0"
54
54
  version:
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubyzip
@@ -84,10 +84,6 @@ files:
84
84
  - lib/appengine-tools/boot.rb
85
85
  - lib/appengine-tools/web-xml.rb
86
86
  - lib/appengine-tools/dev_appserver.rb
87
- - spec/appengine-web.xml
88
- - spec/web.xml
89
- - spec/config.ru
90
- - spec/spec.opts
91
87
  - spec/rack_spec.rb
92
88
  - spec/update_check_spec.rb
93
89
  - spec/spec_helper.rb
@@ -1,19 +0,0 @@
1
- <appengine-web-app xmlns='http://appengine.google.com/ns/1.0'>
2
- <application>tools-test</application>
3
- <version>foo</version>
4
- <public-root>/public</public-root>
5
- <static-files>
6
- <include expiration='365d' path='/public/images/**'/>
7
- <include path='/public/**'/>
8
- </static-files>
9
- <resource-files/>
10
- <system-properties>
11
- <property name='os.arch' value=''/>
12
- <property name='jruby.management.enabled' value='false'/>
13
- <property name='jruby.rack.input.rewindable' value='false'/>
14
- </system-properties>
15
- <ssl-enabled>true</ssl-enabled>
16
- <inbound-services>
17
- <service>xmpp_message</service>
18
- </inbound-services>
19
- </appengine-web-app>
@@ -1,36 +0,0 @@
1
- require 'appengine-rack'
2
-
3
- AppEngine::Rack.configure_app(
4
- :application => 'tools-test', :version => 'foo', :ssl_enabled => true)
5
- AppEngine::Rack.app.inbound_services << :xmpp_message
6
- AppEngine::Rack.app.static_files.include('/public/images/**', '365d')
7
- AppEngine::Rack.app.static_files.include('/public/**')
8
-
9
- ruby_app = lambda {|env| [200, {}, "Hello Rack!"]}
10
-
11
- map '/admin' do
12
- use JavaServletFilter, 'com.example.AdminFilter', :wildcard => true
13
- run JavaServlet.new('com.example.AdminServlet', :wildcard => true)
14
- end
15
-
16
- map '/store' do
17
- use JavaServletFilter, 'com.example.StoreFilter', :name => 'StoreFilter'
18
- run JavaServlet.new('com.example.StoreServlet', :name => 'store')
19
- end
20
-
21
- map '/admin2' do
22
- use AppEngine::Rack::AdminRequired
23
- run ruby_app
24
- end
25
-
26
- map '/private' do
27
- use AppEngine::Rack::LoginRequired
28
- run ruby_app
29
- end
30
-
31
- map '/secure' do
32
- use AppEngine::Rack::SSLRequired
33
- run ruby_app
34
- end
35
-
36
- run ruby_app
@@ -1 +0,0 @@
1
- --colour --diff
@@ -1,84 +0,0 @@
1
- <web-app version='2.5' xmlns='http://java.sun.com/xml/ns/javaee'>
2
- <security-constraint>
3
- <web-resource-collection>
4
- <url-pattern>/private</url-pattern>
5
- <url-pattern>/private/*</url-pattern>
6
- </web-resource-collection>
7
- <auth-constraint>
8
- <role-name>*</role-name>
9
- </auth-constraint>
10
- </security-constraint>
11
- <security-constraint>
12
- <web-resource-collection>
13
- <url-pattern>/admin2</url-pattern>
14
- <url-pattern>/admin2/*</url-pattern>
15
- </web-resource-collection>
16
- <auth-constraint>
17
- <role-name>admin</role-name>
18
- </auth-constraint>
19
- </security-constraint>
20
- <security-constraint>
21
- <web-resource-collection>
22
- <url-pattern>/secure</url-pattern>
23
- <url-pattern>/secure/*</url-pattern>
24
- </web-resource-collection>
25
- <user-data-constraint>
26
- <transport-guarantee>CONFIDENTIAL</transport-guarantee>
27
- </user-data-constraint>
28
- </security-constraint>
29
- <filter>
30
- <filter-name>StoreFilter</filter-name>
31
- <filter-class>com.example.StoreFilter</filter-class>
32
- </filter>
33
- <filter-mapping>
34
- <filter-name>StoreFilter</filter-name>
35
- <url-pattern>/store</url-pattern>
36
- </filter-mapping>
37
- <servlet>
38
- <servlet-name>store</servlet-name>
39
- <servlet-class>com.example.StoreServlet</servlet-class>
40
- </servlet>
41
- <servlet-mapping>
42
- <servlet-name>store</servlet-name>
43
- <url-pattern>/store</url-pattern>
44
- </servlet-mapping>
45
- <filter>
46
- <filter-name>com.example.AdminFilter</filter-name>
47
- <filter-class>com.example.AdminFilter</filter-class>
48
- </filter>
49
- <filter-mapping>
50
- <filter-name>com.example.AdminFilter</filter-name>
51
- <url-pattern>/admin</url-pattern>
52
- </filter-mapping>
53
- <filter-mapping>
54
- <filter-name>com.example.AdminFilter</filter-name>
55
- <url-pattern>/admin/*</url-pattern>
56
- </filter-mapping>
57
- <servlet>
58
- <servlet-name>com.example.AdminServlet</servlet-name>
59
- <servlet-class>com.example.AdminServlet</servlet-class>
60
- </servlet>
61
- <servlet-mapping>
62
- <servlet-name>com.example.AdminServlet</servlet-name>
63
- <url-pattern>/admin</url-pattern>
64
- </servlet-mapping>
65
- <servlet-mapping>
66
- <servlet-name>com.example.AdminServlet</servlet-name>
67
- <url-pattern>/admin/*</url-pattern>
68
- </servlet-mapping>
69
- <context-param>
70
- <param-name>rackup</param-name>
71
- <param-value>rackup</param-value>
72
- </context-param>
73
- <filter>
74
- <filter-name>RackFilter</filter-name>
75
- <filter-class>org.jruby.rack.RackFilter</filter-class>
76
- </filter>
77
- <filter-mapping>
78
- <filter-name>RackFilter</filter-name>
79
- <url-pattern>/*</url-pattern>
80
- </filter-mapping>
81
- <listener>
82
- <listener-class>org.jruby.rack.RackServletContextListener</listener-class>
83
- </listener>
84
- </web-app>