rubylet-tasks 0.1.0-java → 1.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 1.0.0
@@ -1,4 +1,5 @@
1
1
  source 'http://rubygems.org'
2
2
  gem 'rubylet-tasks', :path => '../'
3
+ gem 'rubylet-jetty', :path => '../../rubylet-jetty'
3
4
  gem 'rubylet', :path => '../../rubylet'
4
5
  gem 'rack'
@@ -1,22 +1,33 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- rubylet-tasks (0.1.0-java)
4
+ rubylet-tasks (1.0.0-java)
5
5
  builder
6
+ mini_aether
6
7
  rake
8
+ version
7
9
  zip
8
10
 
9
11
  PATH
10
12
  remote: ../../rubylet
11
13
  specs:
12
- rubylet (0.1-java)
14
+ rubylet (1.0.0-java)
15
+ rack
16
+
17
+ PATH
18
+ remote: ../../rubylet-jetty
19
+ specs:
20
+ rubylet-jetty (1.0.0-java)
21
+ mini_aether
13
22
 
14
23
  GEM
15
24
  remote: http://rubygems.org/
16
25
  specs:
17
- builder (3.1.4)
26
+ builder (3.0.4)
27
+ mini_aether (0.0.5-java)
18
28
  rack (1.4.1)
19
- rake (10.0.2)
29
+ rake (10.0.3)
30
+ version (1.0.0)
20
31
  zip (2.0.2)
21
32
 
22
33
  PLATFORMS
@@ -25,4 +36,5 @@ PLATFORMS
25
36
  DEPENDENCIES
26
37
  rack
27
38
  rubylet!
39
+ rubylet-jetty!
28
40
  rubylet-tasks!
@@ -1,2 +1,5 @@
1
1
  source 'http://rubygems.org'
2
- gemspec
2
+ gem 'rubylet-tasks', :path => '../'
3
+ gem 'rubylet-jetty', :path => '../'
4
+ gem 'rubylet', :path => '../../rubylet'
5
+ gem 'rack'
@@ -0,0 +1,3 @@
1
+ run proc {
2
+ [200, {'Content-Type' => 'text/plain'}, ['Hello, World']]
3
+ }
Binary file
@@ -1,5 +1,7 @@
1
1
  require 'fileutils'
2
+ require 'mini_aether'
2
3
  require 'rake/tasklib'
4
+ require 'version'
3
5
  require 'zip/zipfilesystem'
4
6
 
5
7
  require 'rubylet/webapp_descriptor_builder'
@@ -100,20 +102,20 @@ module CommonParams
100
102
  param_accessor :local_context_scope
101
103
 
102
104
  def common_params
103
- yield 'jrubyHome', jruby_home
105
+ yield 'rubylet.jrubyHome', jruby_home
104
106
  env.each do |key, value|
105
- yield "env.#{key}", value
107
+ yield "rubylet.env.#{key}", value
106
108
  end
107
109
  gems.each do |(name, req)|
108
- yield "gem.#{name}", req
110
+ yield "rubylet.gem.#{name}", req
109
111
  end
110
- yield 'bundleExec', bundle_exec
111
- yield 'boot', boot
112
- yield 'servletClass', servlet_class
113
- yield 'appRoot', app_root
114
- yield 'compileMode', compile_mode
115
- yield 'compatVersion', compat_version
116
- yield 'localContextScope', local_context_scope
112
+ yield 'rubylet.bundleExec', bundle_exec
113
+ yield 'rubylet.boot', boot
114
+ yield 'rubylet.servletClass', servlet_class
115
+ yield 'rubylet.appRoot', app_root
116
+ yield 'rubylet.compileMode', compile_mode
117
+ yield 'rubylet.compatVersion', compat_version
118
+ yield 'rubylet.localContextScope', local_context_scope
117
119
  end
118
120
  end
119
121
 
@@ -149,11 +151,16 @@ class RubyletDescriptor
149
151
  extend ParamAccessor
150
152
  include CommonParams
151
153
 
154
+ # erase the defaults on these; they will be inherited from the
155
+ # context params if not set explicitly
156
+ param_accessor :bundle_exec
157
+ param_accessor :app_root
158
+
152
159
  param_accessor :name do
153
160
  "Rubylet - #{File.basename(app_root)}"
154
161
  end
155
162
 
156
- param_accessor :java_servlet_class, 'com.commongroundpublishing.rubylet.Servlet'
163
+ param_accessor :java_servlet_class, 'com.commongroundpublishing.rubylet.RestartableServlet'
157
164
 
158
165
  param_accessor :url_pattern, '/*'
159
166
 
@@ -194,6 +201,8 @@ end
194
201
 
195
202
  module Rubylet
196
203
  class WarTask < Rake::TaskLib
204
+ is_versioned
205
+
197
206
  extend ParamAccessor
198
207
  include CommonParams
199
208
 
@@ -228,8 +237,15 @@ module Rubylet
228
237
  filters << block
229
238
  end
230
239
 
240
+ def servlet_context_logger
241
+ listeners << proc do |w|
242
+ w.listener! 'com.commongroundpublishing.slf4j.impl.ServletContextListenerSCL'
243
+ end
244
+ end
245
+
231
246
  def external_jruby
232
247
  listeners << proc do |w|
248
+ w.listener! 'com.commongroundpublishing.slf4j.impl.ServletContextLoggerSCL'
233
249
  w.listener! 'com.commongroundpublishing.rubylet.ExternalJRubyLoader'
234
250
  end
235
251
  end
@@ -325,19 +341,46 @@ module Rubylet
325
341
  glassfish_descriptor(:target => f)
326
342
  end
327
343
 
328
- container = rubylet_jar
329
- z.dir.mkdir('WEB-INF/lib')
330
- z.file.open("WEB-INF/lib/#{::File.basename(container)}", 'w') do |f|
331
- ::File.open(container) do |input|
332
- buf = ''
333
- while input.read(4096, buf)
334
- f.write(buf)
344
+ begin
345
+ # we are using ruby version number with "a" suffix as
346
+ # equivalent to java/maven "-SNAPSHOT"
347
+ ee_version = if VERSION.to_s =~ /(.*)a$/
348
+ "#{$1}-SNAPSHOT"
349
+ else
350
+ VERSION.to_s
351
+ end
352
+
353
+ deps = MiniAether::Spec.new do
354
+ group 'com.commongroundpublishing' do
355
+ jar "rubylet-ee:#{ee_version}"
356
+ jar 'slf4j-servletcontext:1.0.0'
357
+ end
358
+ end.resolve
359
+
360
+ dir = 'WEB-INF/lib'
361
+ z.dir.mkdir(dir)
362
+ deps.each do |source|
363
+ dest = "#{dir}/#{::File.basename(source)}"
364
+ z.file.open(dest, 'w') do |output|
365
+ ::File.open(source) { |input| copy_stream(input, output) }
335
366
  end
336
367
  end
368
+ rescue => e
369
+ raise "Error resolving dependencies: #{e}"
337
370
  end
338
371
  end
339
372
  end
340
373
 
374
+ # Bug in JRuby prevents IO.copy_stream
375
+ #
376
+ # See https://github.com/jruby/jruby/issues/437
377
+ def copy_stream(input, output)
378
+ buf = ''
379
+ while input.read(4096, buf)
380
+ output.write(buf)
381
+ end
382
+ end
383
+
341
384
  # Runs maven if we are a JRuby process. Currently not used.
342
385
  #
343
386
  # See http://watchitlater.com/blog/2011/08/jruby-rake-and-maven/
@@ -39,7 +39,7 @@ module Rubylet
39
39
 
40
40
  # puts xml
41
41
  xml.must_match %r{<servlet-name>myname</servlet-name>}
42
- xml.must_match %r{rubylet.Servlet</servlet-class>}
42
+ xml.must_match %r{rubylet.RestartableServlet</servlet-class>}
43
43
  end
44
44
 
45
45
  # it 'generate war' do
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubylet-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
4
  prerelease:
5
+ version: 1.0.0
6
6
  platform: java
7
7
  authors:
8
8
  - CG Labs
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-13 00:00:00.000000000 Z
12
+ date: 2012-12-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -30,7 +30,7 @@ dependencies:
30
30
  prerelease: false
31
31
  type: :runtime
32
32
  - !ruby/object:Gem::Dependency
33
- name: rake
33
+ name: mini_aether
34
34
  version_requirements: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ! '>='
@@ -48,7 +48,7 @@ dependencies:
48
48
  prerelease: false
49
49
  type: :runtime
50
50
  - !ruby/object:Gem::Dependency
51
- name: zip
51
+ name: rake
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ! '>='
@@ -66,7 +66,7 @@ dependencies:
66
66
  prerelease: false
67
67
  type: :runtime
68
68
  - !ruby/object:Gem::Dependency
69
- name: mini_aether
69
+ name: zip
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ! '>='
@@ -82,9 +82,9 @@ dependencies:
82
82
  MA==
83
83
  none: false
84
84
  prerelease: false
85
- type: :development
85
+ type: :runtime
86
86
  - !ruby/object:Gem::Dependency
87
- name: minitest
87
+ name: version
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - ! '>='
@@ -100,9 +100,9 @@ dependencies:
100
100
  MA==
101
101
  none: false
102
102
  prerelease: false
103
- type: :development
103
+ type: :runtime
104
104
  - !ruby/object:Gem::Dependency
105
- name: minitest-matchers
105
+ name: minitest
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  prerelease: false
121
121
  type: :development
122
122
  - !ruby/object:Gem::Dependency
123
- name: version
123
+ name: minitest-matchers
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - ! '>='
@@ -148,19 +148,19 @@ files:
148
148
  - MIT-LICENSE
149
149
  - lib/rubylet/builder_alias_tag.rb
150
150
  - lib/rubylet/builder_defaults.rb
151
+ - lib/rubylet/glassfish_descriptor_builder.rb
152
+ - lib/rubylet/jetty_descriptor_builder.rb
151
153
  - lib/rubylet/war_task.rb
152
154
  - lib/rubylet/webapp_descriptor_builder.rb
153
- - lib/rubylet/jetty_descriptor_builder.rb
154
- - lib/rubylet/glassfish_descriptor_builder.rb
155
- - lib/rubylet-ee-0.1.0-SNAPSHOT.jar
155
+ - lib/rubylet-ee-0.2.0-SNAPSHOT.jar
156
156
  - spec/spec_helper.rb
157
157
  - spec/rubylet/war_task_spec.rb
158
- - examples/Gemfile~
158
+ - examples/config.ru
159
+ - examples/config.ru~
159
160
  - examples/Gemfile
160
- - examples/Rakefile~
161
161
  - examples/Gemfile.lock
162
+ - examples/Gemfile~
162
163
  - examples/Rakefile
163
- - examples/config.ru
164
164
  - examples/pkg/test_app.war
165
165
  - examples/tmp/restart.txt
166
166
  homepage:
@@ -173,6 +173,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
173
  requirements:
174
174
  - - ! '>='
175
175
  - !ruby/object:Gem::Version
176
+ segments:
177
+ - 0
178
+ hash: 2
176
179
  version: !binary |-
177
180
  MA==
178
181
  none: false
@@ -180,6 +183,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
183
  requirements:
181
184
  - - ! '>='
182
185
  - !ruby/object:Gem::Version
186
+ segments:
187
+ - 0
188
+ hash: 2
183
189
  version: !binary |-
184
190
  MA==
185
191
  none: false
@@ -1 +0,0 @@
1
- require 'rubylet/war_task'