rubylet-tasks 0.1.0-java → 1.0.0-java

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/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'